1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 18:37:35 +00:00

Kernel: Adjust aarch64 linker script

- .text now starts at 0x80000, where an actual (non-qemu) RPi expects
- use magic section name ".text.first" to make sure the linker script
  puts the kernel entry point at the start of the .text section
- remove a few things from the x86 linker script that aren't needed
  for aarch64 (yet?)
This commit is contained in:
Nico Weber 2021-09-26 21:33:21 -04:00 committed by Linus Groh
parent cbdf4b575d
commit 4c876e88e0
3 changed files with 5 additions and 23 deletions

View file

@ -4,7 +4,8 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
.text
// In a specially-named text section so that the linker script can put it first in .text.
.section ".text.first"
.global start
.type start, @function

View file

@ -2,7 +2,6 @@ ENTRY(start)
PHDRS
{
boot_text PT_LOAD ;
text PT_LOAD ;
data PT_LOAD ;
bss PT_LOAD ;
@ -10,18 +9,11 @@ PHDRS
SECTIONS
{
. = 0x00100000;
start_of_prekernel_image = .;
.boot_text ALIGN(4K) : AT (ADDR(.boot_text))
{
KEEP(*(.multiboot))
} :boot_text
. = 0x00080000;
.text ALIGN(4K) : AT (ADDR(.text))
{
start_of_prekernel_text = .;
*(.text.first)
*(.text*)
} :text
@ -37,11 +29,6 @@ SECTIONS
.bss ALIGN(4K) (NOLOAD) : AT (ADDR(.bss))
{
*(COMMON)
*(.bss)
*(.stack)
*(.page_tables)
} :bss
end_of_prekernel_image = .;
}