mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:47:37 +00:00
Kernel: Set kernel stack alignment to 8-bytes
This is already assumed by most of the assembly in the kernel, setting this is just making it explicit (and may save some stack).
This commit is contained in:
parent
130ec7e5b4
commit
063efe9cf8
1 changed files with 6 additions and 1 deletions
|
@ -700,10 +700,15 @@ if (NOT "${SERENITY_ARCH}" STREQUAL "aarch64")
|
||||||
COMMENT "Preprocessing linker.ld"
|
COMMENT "Preprocessing linker.ld"
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(generate_kernel_linker_script DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/linker.ld)
|
add_custom_target(generate_kernel_linker_script DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/linker.ld)
|
||||||
target_link_options(Kernel PRIVATE LINKER:-T ${CMAKE_CURRENT_BINARY_DIR}/linker.ld -nostdlib -nodefaultlibs)
|
target_link_options(Kernel PRIVATE LINKER:-T ${CMAKE_CURRENT_BINARY_DIR}/linker.ld -nostdlib -nodefaultlibs)
|
||||||
set_target_properties(Kernel PROPERTIES LINK_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/linker.ld")
|
set_target_properties(Kernel PROPERTIES LINK_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/linker.ld")
|
||||||
|
|
||||||
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
target_compile_options(Kernel PRIVATE -mpreferred-stack-boundary=3)
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
|
||||||
|
target_compile_options(Kernel PRIVATE -mstack-alignment=8)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
target_link_options(Kernel PRIVATE LINKER:-T ${CMAKE_CURRENT_SOURCE_DIR}/Arch/aarch64/linker.ld -nostdlib LINKER:--no-pie)
|
target_link_options(Kernel PRIVATE LINKER:-T ${CMAKE_CURRENT_SOURCE_DIR}/Arch/aarch64/linker.ld -nostdlib LINKER:--no-pie)
|
||||||
set_target_properties(Kernel PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Arch/aarch64/linker.ld)
|
set_target_properties(Kernel PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Arch/aarch64/linker.ld)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue