xref: /DragonStub/gnuefi/elf_ia32_efi.lds (revision 1ae8baefca1593f936b4eccdfb69294740536424)
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  . = ALIGN(4096);
50  .dynamic  : { *(.dynamic) }
51  . = ALIGN(4096);
52  .rel :
53  {
54    *(.rel.data)
55    *(.rel.data.*)
56    *(.rel.got)
57    *(.rel.stab)
58    *(.data.rel.ro.local)
59    *(.data.rel.local)
60    *(.data.rel.ro)
61    *(.data.rel*)
62  }
63  _edata = .;
64  _data_size = . - _etext;
65  . = ALIGN(4096);
66  .reloc :		/* This is the PECOFF .reloc section! */
67  {
68    *(.reloc)
69  }
70  . = ALIGN(4096);
71  .dynsym   : { *(.dynsym) }
72  . = ALIGN(4096);
73  .dynstr   : { *(.dynstr) }
74  . = ALIGN(4096);
75  /DISCARD/ :
76  {
77    *(.rel.reloc)
78    *(.eh_frame)
79    *(.note.GNU-stack)
80  }
81  .comment 0 : { *(.comment) }
82}
83