]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/efi/loader/arch/i386/ldscript.i386
MFC r325834,r325997,326502: Move sys/boot to stand/
[FreeBSD/FreeBSD.git] / stand / efi / loader / arch / i386 / ldscript.i386
1 /* $FreeBSD$ */
2 OUTPUT_FORMAT("elf32-i386-freebsd", "elf32-i386-freebsd", "elf32-i386-freebsd")
3 OUTPUT_ARCH(i386)
4 ENTRY(_start)
5 SECTIONS
6 {
7   /* Read-only sections, merged into text segment: */
8   . = 0;
9   ImageBase = .;
10   . = SIZEOF_HEADERS;
11   . = ALIGN(4096);
12   .text         : {
13     *(.text .stub .text.* .gnu.linkonce.t.*)
14     /* .gnu.warning sections are handled specially by elf32.em. */
15     *(.gnu.warning)
16     *(.plt)
17   } =0xCCCCCCCC
18   . = ALIGN(4096);
19   .data         : {
20     *(.rodata .rodata.* .gnu.linkonce.r.*)
21     *(.rodata1)
22     *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
23     *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
24     *(.opd)
25     *(.data .data.* .gnu.linkonce.d.*)
26     *(.data1)
27     *(.plabel)
28     *(.dynbss)
29     *(.bss .bss.* .gnu.linkonce.b.*)
30     *(COMMON)
31   }
32   . = ALIGN(4096);
33   set_Xcommand_set      : {
34     __start_set_Xcommand_set = .;
35     *(set_Xcommand_set)
36     __stop_set_Xcommand_set = .;
37   }
38   set_Xficl_compile_set : {
39     __start_set_Xficl_compile_set = .;
40     *(set_Xficl_compile_set)
41     __stop_set_Xficl_compile_set = .;
42   }
43   . = ALIGN(4096);
44   __gp = .;
45   .sdata        : {
46     *(.got.plt .got)
47     *(.sdata .sdata.* .gnu.linkonce.s.*)
48     *(dynsbss)
49     *(.sbss .sbss.* .gnu.linkonce.sb.*)
50     *(.scommon)
51   }
52   . = ALIGN(4096);
53   .dynamic      : { *(.dynamic) }
54   . = ALIGN(4096);
55   .rel.dyn      : {
56     *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
57     *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
58     *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
59     *(.rel.got)
60     *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
61     *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
62     *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
63     *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
64     *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
65     *(.rel.plt)
66     *(.relset_*)
67     *(.rel.dyn .rel.dyn.*)
68   }
69   . = ALIGN(4096);
70   .reloc        : { *(.reloc) }
71   . = ALIGN(4096);
72   .hash         : { *(.hash) }
73   . = ALIGN(4096);
74   .dynsym       : { *(.dynsym) }
75   . = ALIGN(4096);
76   .dynstr       : { *(.dynstr) }
77 }