aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2025-07-13 14:17:21 +0000
committerFelix Morgner <felix.morgner@ost.ch>2025-07-13 14:17:21 +0000
commitbfe60f1c0f316cc512dd61f82667e59b284d3271 (patch)
tree50d70c015197be75d2829b8666e2135cb034a9a0
parent3a7a596299580a3fd7d8b61f3ec34a3c0bfc5a3c (diff)
downloadteachos-bfe60f1c0f316cc512dd61f82667e59b284d3271.tar.xz
teachos-bfe60f1c0f316cc512dd61f82667e59b284d3271.zip
build: update toolchain
-rw-r--r--.devcontainer/x86-64/devcontainer.json4
-rw-r--r--.vscode/launch.json1
-rw-r--r--arch/x86_64/src/video/vga/text.cpp3
-rw-r--r--cmake/Platforms/x86_64.cmake8
4 files changed, 9 insertions, 7 deletions
diff --git a/.devcontainer/x86-64/devcontainer.json b/.devcontainer/x86-64/devcontainer.json
index 1eb5859..779aa62 100644
--- a/.devcontainer/x86-64/devcontainer.json
+++ b/.devcontainer/x86-64/devcontainer.json
@@ -1,6 +1,6 @@
{
"name": "TeachOS on x86-64",
- "image": "registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:14.2.0",
+ "image": "registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.1.0",
"customizations": {
"vscode": {
"extensions": [
@@ -11,5 +11,5 @@
]
}
},
- "initializeCommand": "docker pull registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:14.2.0",
+ "initializeCommand": "docker pull registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.1.0",
}
diff --git a/.vscode/launch.json b/.vscode/launch.json
index ebcd01a..0d379df 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -3,6 +3,7 @@
"configurations": [
{
"name": "(gdb) QEMU",
+ "miDebuggerPath": "x86_64-pc-elf-gdb",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/bin/${input:build_type}/_kernel",
diff --git a/arch/x86_64/src/video/vga/text.cpp b/arch/x86_64/src/video/vga/text.cpp
index 0137ddb..b070a0a 100644
--- a/arch/x86_64/src/video/vga/text.cpp
+++ b/arch/x86_64/src/video/vga/text.cpp
@@ -7,6 +7,8 @@
#include <string_view>
#include <utility>
+extern "C" std::pair<char, teachos::arch::video::vga::text::attribute> * vga_buffer_pointer;
+
namespace teachos::arch::video::vga::text
{
namespace
@@ -14,7 +16,6 @@ namespace teachos::arch::video::vga::text
auto constexpr DEFAULT_TEXT_BUFFER_WIDTH = 80U;
auto constexpr DEFAULT_TEXT_BUFFER_HEIGHT = 25U;
- extern "C" std::pair<char, attribute> * vga_buffer_pointer;
auto constinit text_buffer = teachos::memory::asm_pointer{vga_buffer_pointer};
} // namespace
diff --git a/cmake/Platforms/x86_64.cmake b/cmake/Platforms/x86_64.cmake
index 6e99b62..e0518b5 100644
--- a/cmake/Platforms/x86_64.cmake
+++ b/cmake/Platforms/x86_64.cmake
@@ -1,4 +1,4 @@
-execute_process(COMMAND "x86_64-elf-g++" "-mno-red-zone" "-print-file-name=crtbegin.o"
+execute_process(COMMAND "x86_64-pc-elf-g++" "-mno-red-zone" "-print-file-name=crtbegin.o"
OUTPUT_VARIABLE CRT_BEGIN
ERROR_QUIET
)
@@ -12,8 +12,8 @@ set(SYSTEM_NAME "Generic")
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
-set(CMAKE_C_COMPILER "x86_64-elf-gcc")
-set(CMAKE_CXX_COMPILER "x86_64-elf-g++")
+set(CMAKE_C_COMPILER "x86_64-pc-elf-gcc")
+set(CMAKE_CXX_COMPILER "x86_64-pc-elf-g++")
set(CMAKE_CXX_FLAGS_INIT "-m64 -mno-red-zone -mcmodel=large -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections")
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb3")
@@ -32,4 +32,4 @@ set(CMAKE_CXX_LINK_EXECUTABLE
<LINK_LIBRARIES> \
-lgcc \
${CMAKE_SYSROOT}/crtend.o"
-) \ No newline at end of file
+)