From 93a1c704c99a48803d118f66ac4fe08510fb4b89 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Thu, 26 Dec 2019 18:21:29 +0100 Subject: simplify linker script; rely on initially-zero memory to be included in binary image (no bss zeroing in assembly code) --- linker.ld | 36 +++++++----------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) (limited to 'linker.ld') diff --git a/linker.ld b/linker.ld index 60387bf..ed40054 100644 --- a/linker.ld +++ b/linker.ld @@ -18,40 +18,18 @@ SECTIONS /* For AArch64, use . = 0x80000 */ __start = .; - __text_start = .; - .text : + .boot : { - KEEP(*(.text.boot)) - *(EXCLUDE_FILE (libkernel.o) .text) + boot.o } - . = ALIGN(4096); /* align to page size */ - __text_end = .; - - __rodata_start = .; - .rodata : - { - *(EXCLUDE_FILE (libkernel.o) .rodata) - } - . = ALIGN(4096); /* align to page size */ - __rodata_end = .; - - __data_start = .; - .data : - { - *(EXCLUDE_FILE (libkernel.o) .data) - } - . = ALIGN(4096); /* align to page size */ - __data_end = .; - - __bss_start = .; - .bss : + __kernel_start = .; + .kernel : { - bss = .; - *(EXCLUDE_FILE (libkernel.o) .bss) + *(EXCLUDE_FILE (libkernel.o interrupt_vector.o interrupts.o) *) } . = ALIGN(4096); /* align to page size */ - __bss_end = .; - __bss_size = __bss_end - __bss_start; + __kernel_end = .; + __kernel_size = __kernel_end - __kernel_start; /* libkernel */ -- cgit v1.2.3