From d7b0e02bc87bbc2ab21a4f03b7a5c5cf22e89f0e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sun, 8 Oct 2023 12:46:46 +0200 Subject: build: enable more optimizations --- source/cmake/Platforms/x86_64.cmake | 4 ++-- source/kernel/CMakeLists.txt | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/source/cmake/Platforms/x86_64.cmake b/source/cmake/Platforms/x86_64.cmake index 25aa27b..14841ec 100644 --- a/source/cmake/Platforms/x86_64.cmake +++ b/source/cmake/Platforms/x86_64.cmake @@ -8,10 +8,10 @@ mark_as_advanced(CRT_BEGIN) string(REGEX REPLACE "/crtbegin.o" "" CMAKE_SYSROOT "${CRT_BEGIN}") mark_as_advanced(CMAKE_SYSROOT) -set(CMAKE_CXX_FLAGS_INIT "-m64 -mno-red-zone -mcmodel=large -fno-exceptions") +set(CMAKE_CXX_FLAGS_INIT "-m64 -mno-red-zone -mcmodel=large -fno-exceptions -ffunction-sections -fdata-sections") set(CMAKE_CXX_FLAGS_DEBUG "-ggdb3") set(CMAKE_ASM_FLAGS_DEBUG "-ggdb3") -set(CMAKE_EXE_LINKER_FLAGS_INIT "-nostartfiles") +set(CMAKE_EXE_LINKER_FLAGS_INIT "-nostartfiles -Wl,-gc-sections") set(CMAKE_CXX_LINK_EXECUTABLE " \ \ diff --git a/source/kernel/CMakeLists.txt b/source/kernel/CMakeLists.txt index 54bdb8b..bc60f6c 100644 --- a/source/kernel/CMakeLists.txt +++ b/source/kernel/CMakeLists.txt @@ -14,6 +14,10 @@ target_compile_options("kernel" PRIVATE "$<$:-pedantic-errors>" ) +set_target_properties("kernel" PROPERTIES + INTERPROCEDURAL_OPTIMIZATION YES +) + #[============================================================================[ # Apply the platform dependent settings to the kernel image. #]============================================================================] -- cgit v1.2.3