From 4d3cd9bd400b3d07d752d60ce2b3c425a53b72d6 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Thu, 26 Dec 2019 19:02:32 +0100 Subject: improve linking of initial boot code --- linker.ld | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'linker.ld') diff --git a/linker.ld b/linker.ld index 5bdbfd2..a0ad1ae 100644 --- a/linker.ld +++ b/linker.ld @@ -1,4 +1,4 @@ -ENTRY(_start) /* defined in boot.S */ +ENTRY(_boot) /* defined in boot.S; qemu needs it to run elf file */ SECTIONS { @@ -15,20 +15,16 @@ SECTIONS . = 0x8000; - /* For AArch64, use . = 0x80000 */ + /* RPi in 64-bit mode uses address 0x80000 instead */ __start = .; - .boot : - { - boot.o - } - __kernel_start = .; .kernel : { + __kernel_start = .; + KEEP(boot.o) *(EXCLUDE_FILE (libkernel.o interrupt_vector.o interrupts.o) *) + __kernel_end = .; } - . = ALIGN(4096); /* align to page size */ - __kernel_end = .; __kernel_size = __kernel_end - __kernel_start; -- cgit v1.2.3