]>
Commit | Line | Data |
---|---|---|
396daa74 | 1 | /* SPDX-License-Identifier: BSD-2-Clause */ |
493d1e88 AG |
2 | /* |
3 | * U-Boot riscv32 EFI linker script | |
4 | * | |
493d1e88 AG |
5 | * Modified from arch/arm/lib/elf_aarch64_efi.lds |
6 | */ | |
7 | ||
8 | OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv", "elf32-littleriscv") | |
9 | OUTPUT_ARCH(riscv) | |
3e911b74 HS |
10 | |
11 | PHDRS | |
12 | { | |
13 | data PT_LOAD FLAGS(3); /* SHF_WRITE | SHF_ALLOC */ | |
14 | } | |
15 | ||
493d1e88 AG |
16 | ENTRY(_start) |
17 | SECTIONS | |
18 | { | |
19 | .text 0x0 : { | |
20 | _text = .; | |
21 | *(.text.head) | |
22 | *(.text) | |
23 | *(.text.*) | |
24 | *(.gnu.linkonce.t.*) | |
25 | *(.srodata) | |
26 | *(.rodata*) | |
3e911b74 HS |
27 | . = ALIGN(16); |
28 | *(.dynamic); | |
9ef5ccaa | 29 | . = ALIGN(512); |
493d1e88 | 30 | } |
3e911b74 HS |
31 | .rela.dyn : { *(.rela.dyn) } |
32 | .rela.plt : { *(.rela.plt) } | |
33 | .rela.got : { *(.rela.got) } | |
34 | .rela.data : { *(.rela.data) *(.rela.data*) } | |
493d1e88 AG |
35 | _etext = .; |
36 | _text_size = . - _text; | |
3e911b74 | 37 | . = ALIGN(4096); |
493d1e88 AG |
38 | .data : { |
39 | _data = .; | |
40 | *(.sdata) | |
41 | *(.data) | |
42 | *(.data1) | |
43 | *(.data.*) | |
44 | *(.got.plt) | |
45 | *(.got) | |
46 | ||
47 | /* | |
48 | * The EFI loader doesn't seem to like a .bss section, so we | |
49 | * stick it all into .data: | |
50 | */ | |
51 | . = ALIGN(16); | |
52 | _bss = .; | |
53 | *(.sbss) | |
54 | *(.scommon) | |
55 | *(.dynbss) | |
56 | *(.bss) | |
57 | *(.bss.*) | |
58 | *(COMMON) | |
9ef5ccaa | 59 | . = ALIGN(512); |
493d1e88 AG |
60 | _bss_end = .; |
61 | _edata = .; | |
3e911b74 HS |
62 | } :data |
63 | _data_size = _edata - _data; | |
493d1e88 AG |
64 | |
65 | . = ALIGN(4096); | |
66 | .dynsym : { *(.dynsym) } | |
67 | . = ALIGN(4096); | |
68 | .dynstr : { *(.dynstr) } | |
69 | . = ALIGN(4096); | |
70 | .note.gnu.build-id : { *(.note.gnu.build-id) } | |
71 | /DISCARD/ : { | |
72 | *(.rel.reloc) | |
73 | *(.eh_frame) | |
74 | *(.note.GNU-stack) | |
75 | } | |
76 | .comment 0 : { *(.comment) } | |
77 | } |