aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2023-10-08 12:46:46 +0200
committerFelix Morgner <felix.morgner@ost.ch>2023-10-08 12:46:46 +0200
commitd7b0e02bc87bbc2ab21a4f03b7a5c5cf22e89f0e (patch)
treeb9d9fd2810b090051f57b4659345440103d33d68 /source
parenta18c6f87dee3ebf0432a6f7a633272423718faf2 (diff)
downloadteachos-d7b0e02bc87bbc2ab21a4f03b7a5c5cf22e89f0e.tar.xz
teachos-d7b0e02bc87bbc2ab21a4f03b7a5c5cf22e89f0e.zip
build: enable more optimizations
Diffstat (limited to 'source')
-rw-r--r--source/cmake/Platforms/x86_64.cmake4
-rw-r--r--source/kernel/CMakeLists.txt4
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
"<CMAKE_CXX_COMPILER> \
<FLAGS> \
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
"$<$<CXX_COMPILER_ID:GNU>:-pedantic-errors>"
)
+set_target_properties("kernel" PROPERTIES
+ INTERPROCEDURAL_OPTIMIZATION YES
+)
+
#[============================================================================[
# Apply the platform dependent settings to the kernel image.
#]============================================================================]