]> git.proxmox.com Git - efi-boot-shim.git/blame - elf_aarch64_efi.lds
New upstream version 15.4
[efi-boot-shim.git] / elf_aarch64_efi.lds
CommitLineData
9196c7cf
AB
1OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
2OUTPUT_ARCH(aarch64)
3ENTRY(_start)
4SECTIONS
5{
6 .text 0x0 : {
d3819813 7 _text = .;
9196c7cf
AB
8 *(.text.head)
9 *(.text)
10 *(.text.*)
11 *(.gnu.linkonce.t.*)
8119f718
SM
12 _evtext = .;
13 . = ALIGN(4096);
f4173af1 14 }
8119f718
SM
15 _etext = .;
16 _text_size = . - _text;
17 _text_vsize = _evtext - _text;
f4173af1
MTL
18
19 . = ALIGN(4096);
9196c7cf
AB
20 .data :
21 {
d3819813 22 _data = .;
9196c7cf
AB
23 *(.sdata)
24 *(.data)
25 *(.data1)
26 *(.data.*)
27 *(.got.plt)
28 *(.got)
29
8119f718
SM
30 *(.dynamic)
31
9196c7cf
AB
32 /* the EFI loader doesn't seem to like a .bss section, so we stick
33 it all into .data: */
34 . = ALIGN(16);
35 _bss = .;
36 *(.sbss)
37 *(.scommon)
38 *(.dynbss)
39 *(.bss)
40 *(COMMON)
8119f718
SM
41 _evdata = .;
42 . = ALIGN(4096);
9196c7cf
AB
43 _bss_end = .;
44 }
8119f718
SM
45 _edata = .;
46 _data_vsize = _evdata - _data;
47 _data_size = . - _data;
9196c7cf 48
8119f718
SM
49 /*
50 * Note that _sbat must be the beginning of the data, and _esbat must be the
51 * end and must be before any section padding. The sbat self-check uses
52 * _esbat to find the bounds of the data, and if the padding is included, the
53 * CSV parser (correctly) rejects the data as having NUL values in one of the
54 * required columns.
55 */
9196c7cf 56 . = ALIGN(4096);
8119f718 57 .sbat :
9196c7cf 58 {
8119f718
SM
59 _sbat = .;
60 *(.sbat)
61 *(.sbat.*)
62 _esbat = .;
63 . = ALIGN(4096);
64 _epsbat = .;
9196c7cf 65 }
8119f718
SM
66 _sbat_size = _epsbat - _sbat;
67 _sbat_vsize = _esbat - _sbat;
68
f4173af1 69 . = ALIGN(4096);
8119f718 70 .rodata :
f4173af1 71 {
8119f718 72 _rodata = .;
f4173af1
MTL
73 *(.rela.dyn)
74 *(.rela.plt)
75 *(.rela.got)
76 *(.rela.data)
77 *(.rela.data*)
8119f718
SM
78
79 *(.rodata*)
80 *(.srodata)
81 *(.dynsym)
82 *(.dynstr)
83 . = ALIGN(16);
84 *(.note.gnu.build-id)
85 . = ALIGN(4096);
86 *(.vendor_cert)
87 *(.data.ident)
88 _evrodata = .;
89 . = ALIGN(4096);
f4173af1 90 }
8119f718
SM
91 _erodata = .;
92 _rodata_size = . - _rodata;
93 _rodata_vsize = _evrodata - _rodata;
031e5cce 94 _alldata_size = . - _data;
9196c7cf 95
9196c7cf
AB
96 /DISCARD/ :
97 {
98 *(.rel.reloc)
99 *(.eh_frame)
100 *(.note.GNU-stack)
101 }
102 .comment 0 : { *(.comment) }
103}