xref: /DragonStub/gnuefi/elf_x86_64_efi.lds (revision 3dd05c7b21921cae0002ab7964fa0e52dedd7c3f)
1/* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - 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   _data = .;
35   *(.rodata*)
36   *(.got.plt)
37   *(.got)
38   *(.data*)
39   *(.sdata)
40   /* the EFI loader doesn't seem to like a .bss section, so we stick
41      it all into .data: */
42   *(.sbss)
43   *(.scommon)
44   *(.dynbss)
45   *(.bss)
46   *(COMMON)
47   *(.rel.local)
48  }
49  .note.gnu.build-id : { *(.note.gnu.build-id) }
50
51  _edata = .;
52  _data_size = . - _etext;
53  . = ALIGN(4096);
54  .dynamic  : { *(.dynamic) }
55  . = ALIGN(4096);
56  .rela :
57  {
58    *(.rela.data*)
59    *(.rela.got)
60    *(.rela.stab)
61  }
62  . = ALIGN(4096);
63  .dynsym   : { *(.dynsym) }
64  . = ALIGN(4096);
65  .dynstr   : { *(.dynstr) }
66  . = ALIGN(4096);
67  .ignored.reloc :
68  {
69    *(.rela.reloc)
70    *(.eh_frame)
71    *(.note.GNU-stack)
72  }
73  .comment 0 : { *(.comment) }
74}
75