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