]> git.proxmox.com Git - efi-boot-shim.git/blame - elf_arm_efi.lds
Update upstream source from tag 'upstream/15.5'
[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 = .;
8119f718
SM
73 *(.rodata*)
74 *(.srodata)
8119f718
SM
75 . = ALIGN(16);
76 *(.note.gnu.build-id)
77 . = ALIGN(4096);
78 *(.vendor_cert)
79 *(.data.ident)
8529e0f7
SM
80 . = ALIGN(4096);
81 }
82 . = ALIGN(4096);
83 .rela :
84 {
85 *(.rela.dyn)
86 *(.rela.plt)
87 *(.rela.got)
88 *(.rela.data)
89 *(.rela.data*)
90 }
91 . = ALIGN(4096);
92 .dyn :
93 {
94 *(.dynsym)
95 *(.dynstr)
8119f718
SM
96 _evrodata = .;
97 . = ALIGN(4096);
f4173af1 98 }
8119f718
SM
99 _erodata = .;
100 _rodata_size = . - _rodata;
101 _rodata_vsize = _evrodata - _rodata;
031e5cce 102 _alldata_size = . - _data;
221faac5 103
221faac5
AB
104 /DISCARD/ :
105 {
106 *(.rel.reloc)
107 *(.eh_frame)
108 *(.note.GNU-stack)
109 }
110 .comment 0 : { *(.comment) }
111}