Imported Upstream version 3.0
[platform/upstream/gnu-efi.git] / gnuefi / elf_ia32_efi.lds
1 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
2 OUTPUT_ARCH(i386)
3 ENTRY(_start)
4 SECTIONS
5 {
6   . = 0;
7   ImageBase = .;
8   .hash : { *(.hash) }  /* this MUST come first! */
9   . = ALIGN(4096);
10   .text :
11   {
12    *(.text)
13    *(.text.*)
14    *(.gnu.linkonce.t.*)
15   }
16   . = ALIGN(4096);
17   .sdata :
18   {
19    *(.got.plt)
20    *(.got)
21    *(.srodata)
22    *(.sdata)
23    *(.sbss)
24    *(.scommon)
25   }
26   . = ALIGN(4096);
27   .data :
28   {
29    *(.rodata*)
30    *(.data)
31    *(.data1)
32    *(.data.*)
33    *(.sdata)
34    *(.got.plt)
35    *(.got)
36    /* the EFI loader doesn't seem to like a .bss section, so we stick
37       it all into .data: */
38    *(.sbss)
39    *(.scommon)
40    *(.dynbss)
41    *(.bss)
42    *(COMMON)
43   }
44   . = ALIGN(4096);
45   .dynamic  : { *(.dynamic) }
46   . = ALIGN(4096);
47   .rel :
48   {
49     *(.rel.data)
50     *(.rel.data.*)
51     *(.rel.got)
52     *(.rel.stab)
53     *(.data.rel.ro.local)
54     *(.data.rel.local)
55     *(.data.rel.ro)
56     *(.data.rel*)
57   }
58   . = ALIGN(4096);
59   .reloc :              /* This is the PECOFF .reloc section! */
60   {
61     *(.reloc)
62   }
63   . = ALIGN(4096);
64   .dynsym   : { *(.dynsym) }
65   . = ALIGN(4096);
66   .dynstr   : { *(.dynstr) }
67   . = ALIGN(4096);
68   /DISCARD/ :
69   {
70     *(.rel.reloc)
71     *(.eh_frame)
72     *(.note.GNU-stack)
73   }
74   .comment 0 : { *(.comment) }
75 }