1/* $FreeBSD: head/sys/boot/efi/loader/arch/amd64/ldscript.amd64 280950 2015-04-01 08:30:40Z andrew $ */
2OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
3OUTPUT_ARCH(i386:x86-64)
4ENTRY(_start)
5SECTIONS
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  . = 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  .rela.dyn	: {
56    *(.rela.data*)
57    *(.rela.got)
58    *(.rela.stab)
59    *(.relaset_*)
60  }
61  . = ALIGN(4096);
62  .reloc	: { *(.reloc) }
63  . = ALIGN(4096);
64  .dynsym	: { *(.dynsym) }
65  . = ALIGN(4096);
66  .dynstr	: { *(.dynstr) }
67}
68