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