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