]> git.proxmox.com Git - efi-boot-shim.git/blame - elf_arm_efi.lds
Update to the 15.4 release
[efi-boot-shim.git] / elf_arm_efi.lds
CommitLineData
221faac5
AB
1OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
2OUTPUT_ARCH(arm)
3ENTRY(_start)
4SECTIONS
5{
6 .text 0x0 : {
d3819813 7 _text = .;
221faac5
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);
221faac5
AB
20 .data :
21 {
d3819813 22 _data = .;
221faac5
AB
23 *(.sdata)
24 *(.data)
25 *(.data1)
8119f718 26 *(.data.*)
221faac5
AB
27 *(.got.plt)
28 *(.got)
29
8119f718
SM
30 *(.dynamic)
31
221faac5
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);
221faac5
AB
43 _bss_end = .;
44 }
8119f718
SM
45 _edata = .;
46 _data_vsize = _evdata - _data;
47 _data_size = . - _data;
221faac5 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 */
f4173af1 56 . = ALIGN(4096);
8119f718 57 .sbat :
221faac5 58 {
8119f718
SM
59 _sbat = .;
60 *(.sbat)
61 *(.sbat.*)
62 _esbat = .;
63 . = ALIGN(4096);
64 _epsbat = .;
221faac5 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 *(.rel.dyn)
74 *(.rel.plt)
75 *(.rel.got)
76 *(.rel.data)
77 *(.rel.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;
221faac5 95
221faac5
AB
96 /DISCARD/ :
97 {
98 *(.rel.reloc)
99 *(.eh_frame)
100 *(.note.GNU-stack)
101 }
102 .comment 0 : { *(.comment) }
103}