blob: 4fa5ca4387223178235728e44267b35b08e162d5 [file] [log] [blame]
Heinrich Schuchardtf1aed202025-01-16 12:39:07 +01001/* SPDX-License-Identifier: BSD-2-Clause */
2/*
3 * U-Boot EFI linker script include
4 *
5 * Modified from elf_aarch64_efi.lds in gnu-efi
6 */
7
8PHDRS
9{
10 data PT_LOAD FLAGS(3); /* SHF_WRITE | SHF_ALLOC */
11}
12
13ENTRY(_start)
14SECTIONS
15{
16 .text 0x0 : {
17 _text = .;
18 *(.text.head)
19 *(.text)
20 *(.text.*)
21 *(.gnu.linkonce.t.*)
22 *(.srodata)
23 *(.rodata*)
Heinrich Schuchardtf1aed202025-01-16 12:39:07 +010024 }
Sam Edwards48609972025-03-15 15:18:10 -070025 . = ALIGN(16);
26 .dynamic : { *(.dynamic) }
27 . = ALIGN(512);
Heinrich Schuchardtf1aed202025-01-16 12:39:07 +010028 .rela.dyn : { *(.rela.dyn) }
29 .rela.plt : { *(.rela.plt) }
30 .rela.got : { *(.rela.got) }
31 .rela.data : { *(.rela.data) *(.rela.data*) }
32 . = ALIGN(4096);
33 _etext = .;
34 _text_size = . - _text;
35 .data : {
36 _data = .;
37 *(.sdata)
38 *(.data)
39 *(.data1)
40 *(.data.*)
41 *(.got.plt)
42 *(.got)
43
44 /*
45 * The EFI loader doesn't seem to like a .bss section, so we
46 * stick it all into .data:
47 */
48 . = ALIGN(16);
49 _bss = .;
50 *(.sbss)
51 *(.scommon)
52 *(.dynbss)
53 *(.bss)
54 *(.bss.*)
55 *(COMMON)
56 . = ALIGN(512);
57 _bss_end = .;
58 _edata = .;
59 } :data
60 _data_size = _edata - _data;
61
62 . = ALIGN(4096);
63 .dynsym : { *(.dynsym) }
64 . = ALIGN(4096);
65 .dynstr : { *(.dynstr) }
66 . = ALIGN(4096);
67 .note.gnu.build-id : { *(.note.gnu.build-id) }
68 /DISCARD/ : {
69 *(.rel.reloc)
70 *(.eh_frame)
71 *(.note.GNU-stack)
72 }
73 .comment 0 : { *(.comment) }
74}