Imported Upstream version 3.0
[platform/upstream/gnu-efi.git] / gnuefi / elf_x86_64_efi.lds
1 /* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
2 OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
3 OUTPUT_ARCH(i386:x86-64)
4 ENTRY(_start)
5 SECTIONS
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   }
20   . = ALIGN(4096);
21   .reloc :
22   {
23    *(.reloc)
24   }
25   . = ALIGN(4096);
26   .data :
27   {
28    *(.rodata*)
29    *(.got.plt)
30    *(.got)
31    *(.data*)
32    *(.sdata)
33    /* the EFI loader doesn't seem to like a .bss section, so we stick
34       it all into .data: */
35    *(.sbss)
36    *(.scommon)
37    *(.dynbss)
38    *(.bss)
39    *(COMMON)
40    *(.rel.local)
41   }
42   . = ALIGN(4096);
43   .dynamic  : { *(.dynamic) }
44   . = ALIGN(4096);
45   .rela :
46   {
47     *(.rela.data*)
48     *(.rela.got)
49     *(.rela.stab)
50   }
51   . = ALIGN(4096);
52   .dynsym   : { *(.dynsym) }
53   . = ALIGN(4096);
54   .dynstr   : { *(.dynstr) }
55   . = ALIGN(4096);
56   .ignored.reloc :
57   {
58     *(.rela.reloc)
59     *(.eh_frame)
60     *(.note.GNU-stack)
61   }
62   .comment 0 : { *(.comment) }
63 }