xref: /rk3399_rockchip-uboot/arch/arm/lib/elf_arm_efi.lds (revision 2d221489df021393654805536be7effcb9d39702)
1*dd46eef2SSimon Glass/*
2*dd46eef2SSimon Glass * U-Boot ARM EFI linker script
3*dd46eef2SSimon Glass *
4*dd46eef2SSimon Glass * SPDX-License-Identifier:	BSD-2-Clause
5*dd46eef2SSimon Glass *
6*dd46eef2SSimon Glass * Modified from elf_arm_efi.lds in gnu-efi
7*dd46eef2SSimon Glass */
8*dd46eef2SSimon Glass
9*dd46eef2SSimon GlassOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
10*dd46eef2SSimon GlassOUTPUT_ARCH(arm)
11*dd46eef2SSimon GlassENTRY(_start)
12*dd46eef2SSimon GlassSECTIONS
13*dd46eef2SSimon Glass{
14*dd46eef2SSimon Glass	.text 0x0 : {
15*dd46eef2SSimon Glass		_text = .;
16*dd46eef2SSimon Glass		*(.text.head)
17*dd46eef2SSimon Glass		*(.text)
18*dd46eef2SSimon Glass		*(.text.*)
19*dd46eef2SSimon Glass		*(.gnu.linkonce.t.*)
20*dd46eef2SSimon Glass		*(.srodata)
21*dd46eef2SSimon Glass		*(.rodata*)
22*dd46eef2SSimon Glass		. = ALIGN(16);
23*dd46eef2SSimon Glass	}
24*dd46eef2SSimon Glass	_etext = .;
25*dd46eef2SSimon Glass	_text_size = . - _text;
26*dd46eef2SSimon Glass	.dynamic  : { *(.dynamic) }
27*dd46eef2SSimon Glass	.data : {
28*dd46eef2SSimon Glass		_data = .;
29*dd46eef2SSimon Glass		*(.sdata)
30*dd46eef2SSimon Glass		*(.data)
31*dd46eef2SSimon Glass		*(.data1)
32*dd46eef2SSimon Glass		*(.data.*)
33*dd46eef2SSimon Glass		*(.got.plt)
34*dd46eef2SSimon Glass		*(.got)
35*dd46eef2SSimon Glass
36*dd46eef2SSimon Glass		/*
37*dd46eef2SSimon Glass		 * The EFI loader doesn't seem to like a .bss section, so we
38*dd46eef2SSimon Glass		 * stick it all into .data:
39*dd46eef2SSimon Glass		 */
40*dd46eef2SSimon Glass		. = ALIGN(16);
41*dd46eef2SSimon Glass		_bss = .;
42*dd46eef2SSimon Glass		*(.sbss)
43*dd46eef2SSimon Glass		*(.scommon)
44*dd46eef2SSimon Glass		*(.dynbss)
45*dd46eef2SSimon Glass		*(.bss)
46*dd46eef2SSimon Glass		*(.bss.*)
47*dd46eef2SSimon Glass		*(COMMON)
48*dd46eef2SSimon Glass		. = ALIGN(16);
49*dd46eef2SSimon Glass		_bss_end = .;
50*dd46eef2SSimon Glass		_edata = .;
51*dd46eef2SSimon Glass	}
52*dd46eef2SSimon Glass	.rel.dyn : { *(.rel.dyn) }
53*dd46eef2SSimon Glass	.rel.plt : { *(.rel.plt) }
54*dd46eef2SSimon Glass	.rel.got : { *(.rel.got) }
55*dd46eef2SSimon Glass	.rel.data : { *(.rel.data) *(.rel.data*) }
56*dd46eef2SSimon Glass	_data_size = . - _etext;
57*dd46eef2SSimon Glass
58*dd46eef2SSimon Glass	. = ALIGN(4096);
59*dd46eef2SSimon Glass	.dynsym   : { *(.dynsym) }
60*dd46eef2SSimon Glass	. = ALIGN(4096);
61*dd46eef2SSimon Glass	.dynstr   : { *(.dynstr) }
62*dd46eef2SSimon Glass	. = ALIGN(4096);
63*dd46eef2SSimon Glass	.note.gnu.build-id : { *(.note.gnu.build-id) }
64*dd46eef2SSimon Glass	/DISCARD/ : {
65*dd46eef2SSimon Glass		*(.rel.reloc)
66*dd46eef2SSimon Glass		*(.eh_frame)
67*dd46eef2SSimon Glass		*(.note.GNU-stack)
68*dd46eef2SSimon Glass	}
69*dd46eef2SSimon Glass	.comment 0 : { *(.comment) }
70*dd46eef2SSimon Glass}
71