mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-08 20:32:56 +03:00
Kernel: Move prekernel linker.ld into Arch subdirectories
This moves Kernel/Prekernel/linker.ld unchanged to Kernel/Prekernel/Arch/aarch64 and Kernel/Prekernel/Arch/x86. The aarch64 will change in a future commit. No behavior change.
This commit is contained in:
parent
5bb2e6597a
commit
cbdf4b575d
Notes:
sideshowbarker
2024-07-18 03:25:03 +09:00
Author: https://github.com/nico Commit: https://github.com/SerenityOS/serenity/commit/cbdf4b575d8 Pull-request: https://github.com/SerenityOS/serenity/pull/10224 Reviewed-by: https://github.com/linusg ✅
47
Kernel/Prekernel/Arch/x86/linker.ld
Normal file
47
Kernel/Prekernel/Arch/x86/linker.ld
Normal file
@ -0,0 +1,47 @@
|
||||
ENTRY(start)
|
||||
|
||||
PHDRS
|
||||
{
|
||||
boot_text PT_LOAD ;
|
||||
text PT_LOAD ;
|
||||
data PT_LOAD ;
|
||||
bss PT_LOAD ;
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x00100000;
|
||||
|
||||
start_of_prekernel_image = .;
|
||||
|
||||
.boot_text ALIGN(4K) : AT (ADDR(.boot_text))
|
||||
{
|
||||
KEEP(*(.multiboot))
|
||||
} :boot_text
|
||||
|
||||
.text ALIGN(4K) : AT (ADDR(.text))
|
||||
{
|
||||
start_of_prekernel_text = .;
|
||||
*(.text*)
|
||||
} :text
|
||||
|
||||
.rodata ALIGN(4K) : AT (ADDR(.rodata))
|
||||
{
|
||||
*(.rodata*)
|
||||
} :data
|
||||
|
||||
.data ALIGN(4K) : AT (ADDR(.data))
|
||||
{
|
||||
*(.data*)
|
||||
} :data
|
||||
|
||||
.bss ALIGN(4K) (NOLOAD) : AT (ADDR(.bss))
|
||||
{
|
||||
*(COMMON)
|
||||
*(.bss)
|
||||
*(.stack)
|
||||
*(.page_tables)
|
||||
} :bss
|
||||
|
||||
end_of_prekernel_image = .;
|
||||
}
|
@ -44,8 +44,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")
|
||||
add_executable(${PREKERNEL_TARGET} ${SOURCES})
|
||||
target_compile_options(${PREKERNEL_TARGET} PRIVATE -no-pie -fno-pic -fno-threadsafe-statics)
|
||||
|
||||
target_link_options(${PREKERNEL_TARGET} PRIVATE LINKER:-T ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld -nostdlib LINKER:--no-pie)
|
||||
set_target_properties(${PREKERNEL_TARGET} PROPERTIES LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld)
|
||||
if ("${SERENITY_ARCH}" STREQUAL "aarch64")
|
||||
set(PREKERNEL_LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/Arch/aarch64/linker.ld")
|
||||
else()
|
||||
set(PREKERNEL_LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/Arch/x86/linker.ld")
|
||||
endif()
|
||||
target_link_options(${PREKERNEL_TARGET} PRIVATE LINKER:-T ${PREKERNEL_LINKER_SCRIPT} -nostdlib LINKER:--no-pie)
|
||||
set_target_properties(${PREKERNEL_TARGET} PROPERTIES LINK_DEPENDS ${PREKERNEL_LINKER_SCRIPT})
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
target_link_libraries(${PREKERNEL_TARGET} PRIVATE gcc)
|
||||
|
Loading…
Reference in New Issue
Block a user