1206376Srpaulo/* $FreeBSD: releng/11.0/sys/boot/efi/loader/arch/amd64/ldscript.amd64 280950 2015-04-01 08:30:40Z andrew $ */
2218822SdimOUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd")
3206376SrpauloOUTPUT_ARCH(i386:x86-64)
4206376SrpauloENTRY(_start)
5206376SrpauloSECTIONS
6206376Srpaulo{
7206376Srpaulo  /* Read-only sections, merged into text segment: */
8206376Srpaulo  . = 0;
9206376Srpaulo  ImageBase = .;
10264095Semaste  .hash : { *(.hash) }  /* this MUST come first! */
11206376Srpaulo  . = ALIGN(4096);
12264095Semaste  .eh_frame :
13264095Semaste  {
14206376Srpaulo    *(.eh_frame)
15264095Semaste  }
16264095Semaste  . = ALIGN(4096);
17206376Srpaulo  .text		: {
18206376Srpaulo    *(.text .stub .text.* .gnu.linkonce.t.*)
19206376Srpaulo    /* .gnu.warning sections are handled specially by elf32.em. */
20206376Srpaulo    *(.gnu.warning)
21206376Srpaulo    *(.plt)
22206376Srpaulo  } =0x00300000010070000002000001000400
23206376Srpaulo  . = ALIGN(4096);
24206376Srpaulo  .data		: {
25206376Srpaulo    *(.rodata .rodata.* .gnu.linkonce.r.*)
26206376Srpaulo    *(.rodata1)
27206376Srpaulo    *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
28206376Srpaulo    *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
29206376Srpaulo    *(.opd)
30206376Srpaulo    *(.data .data.* .gnu.linkonce.d.*)
31206376Srpaulo    *(.data1)
32206376Srpaulo    *(.plabel)
33206376Srpaulo    *(.dynbss)
34206376Srpaulo    *(.bss .bss.* .gnu.linkonce.b.*)
35206376Srpaulo    *(COMMON)
36206376Srpaulo  }
37206376Srpaulo  . = ALIGN(4096);
38206376Srpaulo  set_Xcommand_set	: {
39206376Srpaulo    __start_set_Xcommand_set = .;
40206376Srpaulo    *(set_Xcommand_set)
41206376Srpaulo    __stop_set_Xcommand_set = .;
42206376Srpaulo  }
43206376Srpaulo  . = ALIGN(4096);
44206376Srpaulo  __gp = .;
45206376Srpaulo  .sdata	: {
46206376Srpaulo    *(.got.plt .got)
47206376Srpaulo    *(.sdata .sdata.* .gnu.linkonce.s.*)
48206376Srpaulo    *(dynsbss)
49206376Srpaulo    *(.sbss .sbss.* .gnu.linkonce.sb.*)
50206376Srpaulo    *(.scommon)
51206376Srpaulo  }
52206376Srpaulo  . = ALIGN(4096);
53206376Srpaulo  .dynamic	: { *(.dynamic) }
54206376Srpaulo  . = ALIGN(4096);
55244332Srpaulo  .rela.dyn	: {
56264095Semaste    *(.rela.data*)
57244332Srpaulo    *(.rela.got)
58264095Semaste    *(.rela.stab)
59264095Semaste    *(.relaset_*)
60206376Srpaulo  }
61206376Srpaulo  . = ALIGN(4096);
62206376Srpaulo  .reloc	: { *(.reloc) }
63206376Srpaulo  . = ALIGN(4096);
64206376Srpaulo  .dynsym	: { *(.dynsym) }
65206376Srpaulo  . = ALIGN(4096);
66206376Srpaulo  .dynstr	: { *(.dynstr) }
67206376Srpaulo}
68