diff options
author | 3gg <3gg@shellblade.net> | 2025-02-08 17:50:57 -0800 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-02-08 17:50:57 -0800 |
commit | 1b5d7cd40eb1c1f55deedf34d3d6324498b5f000 (patch) | |
tree | a0bc21168f8270ee5fcb139498131dff884a7450 /src/link.ld | |
parent | 0e1595330211351823e68691fca013bb47772aeb (diff) |
Hello world.
Diffstat (limited to 'src/link.ld')
-rw-r--r-- | src/link.ld | 53 |
1 files changed, 38 insertions, 15 deletions
diff --git a/src/link.ld b/src/link.ld index f1d1730..1f51675 100644 --- a/src/link.ld +++ b/src/link.ld | |||
@@ -1,20 +1,43 @@ | |||
1 | ENTRY(_start) | ||
2 | |||
1 | SECTIONS | 3 | SECTIONS |
2 | { | 4 | { |
3 | . = 0x80000; /* Kernel load address for AArch64 */ | 5 | /* Starts at LOADER_ADDR. */ |
4 | .text (READONLY) : { KEEP(*(.text.boot)) *(.text .text.* .gnu.linkonce.t*) } | 6 | . = 0x80000; |
5 | .rodata (READONLY) : { *(.rodata .rodata.* .gnu.linkonce.r*) } | 7 | __start = .; |
6 | PROVIDE(_data = .); | 8 | __text_start = .; |
7 | .data : { *(.data .data.* .gnu.linkonce.d*) } | 9 | .text : |
8 | .bss (NOLOAD) : { | 10 | { |
9 | . = ALIGN(16); | 11 | KEEP(*(.text.boot)) |
10 | __bss_start = .; | 12 | *(.text) |
11 | *(.bss .bss.*) | ||
12 | *(COMMON) | ||
13 | __bss_end = .; | ||
14 | } | 13 | } |
15 | _end = .; | 14 | . = ALIGN(4096); /* align to page size */ |
15 | __text_end = .; | ||
16 | 16 | ||
17 | /DISCARD/ : { *(.comment) *(.gnu*) *(.note*) *(.eh_frame*) } | 17 | __rodata_start = .; |
18 | } | 18 | .rodata : |
19 | __bss_size = (__bss_end - __bss_start); | 19 | { |
20 | *(.rodata) | ||
21 | } | ||
22 | . = ALIGN(4096); /* align to page size */ | ||
23 | __rodata_end = .; | ||
20 | 24 | ||
25 | __data_start = .; | ||
26 | .data : | ||
27 | { | ||
28 | *(.data) | ||
29 | } | ||
30 | . = ALIGN(4096); /* align to page size */ | ||
31 | __data_end = .; | ||
32 | |||
33 | __bss_start = .; | ||
34 | .bss : | ||
35 | { | ||
36 | bss = .; | ||
37 | *(.bss) | ||
38 | } | ||
39 | . = ALIGN(4096); /* align to page size */ | ||
40 | __bss_end = .; | ||
41 | __bss_size = __bss_end - __bss_start; | ||
42 | __end = .; | ||
43 | } | ||