blob: d6d742e8687ba74598ed02c310b8ad4e387690e6 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: BSD-2-Clause */
Simon Glassdd46eef2016-11-07 08:47:10 -07002/*
3 * U-Boot ARM EFI linker script
4 *
Simon Glassdd46eef2016-11-07 08:47:10 -07005 * Modified from elf_arm_efi.lds in gnu-efi
6 */
7
8OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
9OUTPUT_ARCH(arm)
10ENTRY(_start)
11SECTIONS
12{
13 .text 0x0 : {
14 _text = .;
15 *(.text.head)
16 *(.text)
17 *(.text.*)
18 *(.gnu.linkonce.t.*)
19 *(.srodata)
20 *(.rodata*)
21 . = ALIGN(16);
22 }
23 _etext = .;
24 _text_size = . - _text;
25 .dynamic : { *(.dynamic) }
26 .data : {
27 _data = .;
28 *(.sdata)
29 *(.data)
30 *(.data1)
31 *(.data.*)
32 *(.got.plt)
33 *(.got)
34
35 /*
36 * The EFI loader doesn't seem to like a .bss section, so we
37 * stick it all into .data:
38 */
39 . = ALIGN(16);
40 _bss = .;
41 *(.sbss)
42 *(.scommon)
43 *(.dynbss)
44 *(.bss)
45 *(.bss.*)
46 *(COMMON)
47 . = ALIGN(16);
48 _bss_end = .;
49 _edata = .;
50 }
51 .rel.dyn : { *(.rel.dyn) }
52 .rel.plt : { *(.rel.plt) }
53 .rel.got : { *(.rel.got) }
54 .rel.data : { *(.rel.data) *(.rel.data*) }
55 _data_size = . - _etext;
56
Simon Glassdd46eef2016-11-07 08:47:10 -070057 /DISCARD/ : {
58 *(.rel.reloc)
59 *(.eh_frame)
60 *(.note.GNU-stack)
Alexander Graf52a250a2017-12-11 09:45:30 +010061 *(.dynsym)
62 *(.dynstr)
63 *(.note.gnu.build-id)
64 *(.comment)
Simon Glassdd46eef2016-11-07 08:47:10 -070065 }
Simon Glassdd46eef2016-11-07 08:47:10 -070066}