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