From 2ebf8d525e6a030efc8ca23bcbdf92c2d0cb8985 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 24 Jul 2025 10:17:53 +0000 Subject: x86_64: implement high/low split --- cmake/Platforms/x86_64.cmake | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'cmake') diff --git a/cmake/Platforms/x86_64.cmake b/cmake/Platforms/x86_64.cmake index c84d9ba..8db6142 100644 --- a/cmake/Platforms/x86_64.cmake +++ b/cmake/Platforms/x86_64.cmake @@ -1,17 +1,5 @@ include_guard(GLOBAL) -macro(find_compiler_file NAME OUTPUT_VARIABLE) - execute_process(COMMAND - "${CMAKE_CXX_COMPILER}" - "-mno-red-zone" - "-print-file-name=${NAME}" - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE "${OUTPUT_VARIABLE}" - ERROR_QUIET - ) - mark_as_advanced("${OUTPUT_VARIABLE}") -endmacro() - set(PLATFORM_TARGET "x86_64-pc-elf") set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY") @@ -27,7 +15,8 @@ find_program(CMAKE_CXX_COMPILER "${CMAKE_CXX_COMPILER_TARGET}-g++" REQUIRED) set(CMAKE_CXX_FLAGS_INIT "-mno-red-zone \ --mcmodel=large \ +-mcmodel=kernel \ +-fno-pie \ -fno-rtti \ -fno-exceptions \ -ffunction-sections \ @@ -46,19 +35,14 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -ggdb3") set(CMAKE_ASM_FLAGS_RELWITHDEBINFO "-O2 -DNDEBUG -ggdb3") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -DNDEBUG -ggdb3") -set(CMAKE_EXE_LINKER_FLAGS_INIT "-nostartfiles -Wl,--gc-sections") - -find_compiler_file("crtbegin.o" CRT_BEGIN_PATH) -find_compiler_file("crtend.o" CRT_END_PATH) +set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--gc-sections") set(CMAKE_CXX_LINK_EXECUTABLE " \ \ \ \ -${CRT_BEGIN_PATH} \ \ -o \ - \ -${CRT_END_PATH}" +" ) -- cgit v1.2.3