]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/efi/loader/arch/arm/ldscript.arm
MFC r325834,r325997,326502: Move sys/boot to stand/
[FreeBSD/FreeBSD.git] / stand / efi / loader / arch / arm / ldscript.arm
1 /* $FreeBSD$ */
2 OUTPUT_ARCH(arm)
3 ENTRY(_start)
4 SECTIONS
5 {
6   /* Read-only sections, merged into text segment: */
7   . = 0;
8   ImageBase = .;
9   .text         : {
10     *(.peheader)
11     *(.text .stub .text.* .gnu.linkonce.t.*)
12     /* .gnu.warning sections are handled specially by elf32.em. */
13     *(.gnu.warning)
14     *(.gnu.linkonce.t*)
15   } =0
16   _etext = .;
17   PROVIDE (etext = .);
18   . = ALIGN(16);
19   .data    :
20   {
21     *(.data .data.*)
22     *(.gnu.linkonce.d*)
23     *(.rodata)
24     *(.rodata.*)
25     CONSTRUCTORS
26
27     . = ALIGN(4);
28     PROVIDE (__bss_start = .);
29     *(.sbss)
30     *(.scommon)
31     *(.dynsbss)
32     *(.dynbss)
33     *(.bss)
34     *(COMMON)
35     . = ALIGN(4);
36     PROVIDE (__bss_end = .);
37   }
38   /* We want the small data sections together, so single-instruction offsets
39      can access them all, and initialized data all before uninitialized, so
40      we can shorten the on-disk segment size.  */
41   .sdata     : {
42     *(.got.plt .got)
43     *(.sdata*.sdata.* .gnu.linkonce.s.*)
44   }
45   set_Xcommand_set      : {
46     __start_set_Xcommand_set = .;
47     *(set_Xcommand_set)
48     __stop_set_Xcommand_set = .;
49   }
50   set_Xficl_compile_set : {
51     __start_set_Xficl_compile_set = .;
52     *(set_Xficl_compile_set)
53     __stop_set_Xficl_compile_set = .;
54   }
55   __gp = .;
56   .plt   : { *(.plt) }
57   .dynamic      : { *(.dynamic) }
58   .reloc        : { *(.reloc) }
59   .dynsym       : { *(.dynsym) }
60   .dynstr       : { *(.dynstr) }
61   .rel.dyn      : {
62     *(.rel.*)
63     *(.relset_*)
64   }
65   _edata = .;
66   .hash         : { *(.hash) }
67 }