1/* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below & ctor support - KEEP IN SYNC */
2OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
3OUTPUT_ARCH(i386:x86-64)
4ENTRY(_start)
5SECTIONS
6{
7  . = 0;
8  ImageBase = .;
9  .hash : { *(.hash) }	/* this MUST come first! */
10  . = ALIGN(4096);
11  .eh_frame :
12  {
13    *(.eh_frame)
14  }
15  . = ALIGN(4096);
16  .text :
17  {
18   _text = .;
19   *(.text)
20   *(.text.*)
21   *(.gnu.linkonce.t.*)
22   . = ALIGN(16);
23  }
24  _etext = .;
25  _text_size = . - _text;
26  . = ALIGN(4096);
27  .reloc :
28  {
29   *(.reloc)
30  }
31  . = ALIGN(4096);
32  .data :
33  {
34   . = ALIGN(0x4);
35   __ctor_list = .;
36   *(.ctors)
37   __ctor_end = .;
38   _data = .;
39   *(.rodata*)
40   *(.got.plt)
41   *(.got)
42   *(.data*)
43   *(.sdata)
44   /* the EFI loader doesn't seem to like a .bss section, so we stick
45      it all into .data: */
46   *(.sbss)
47   *(.scommon)
48   *(.dynbss)
49   *(.bss)
50   *(COMMON)
51   *(.rel.local)
52  }
53  .note.gnu.build-id : { *(.note.gnu.build-id) }
54
55  _edata = .;
56  _data_size = . - _etext;
57  . = ALIGN(4096);
58  .dynamic  : { *(.dynamic) }
59  . = ALIGN(4096);
60  .rela :
61  {
62    *(.rela.data*)
63    *(.rela.ctors)
64    *(.rela.got)
65    *(.rela.stab)
66  }
67  . = ALIGN(4096);
68  .dynsym   : { *(.dynsym) }
69  . = ALIGN(4096);
70  .dynstr   : { *(.dynstr) }
71  . = ALIGN(4096);
72  .ignored.reloc :
73  {
74    *(.rela.reloc)
75    *(.eh_frame)
76    *(.note.GNU-stack)
77  }
78  .comment 0 : { *(.comment) }
79}
80