xref: /netbsd-src/sys/external/bsd/gnu-efi/dist/gnuefi/elf_ia64_efi.lds (revision 37afb7eb6895c833050f8bfb1d1bb2f99f332539)
1/*	$NetBSD: elf_ia64_efi.lds,v 1.1.1.1 2014/04/01 16:16:08 jakllsch Exp $	*/
2
3OUTPUT_FORMAT("elf64-ia64-little")
4OUTPUT_ARCH(ia64)
5ENTRY(_start_plabel)
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  __gp = ALIGN (8) + 0x200000;
20  .sdata :
21  {
22   *(.got.plt)
23   *(.got)
24   *(.srodata)
25   *(.sdata)
26   *(.sbss)
27   *(.scommon)
28  }
29  . = ALIGN(4096);
30  .data :
31  {
32   *(.rodata*)
33   *(.ctors)
34   *(.data*)
35   *(.gnu.linkonce.d*)
36   *(.plabel)	/* data whose relocs we want to ignore */
37   /* the EFI loader doesn't seem to like a .bss section, so we stick
38      it all into .data: */
39   *(.dynbss)
40   *(.bss)
41   *(COMMON)
42  }
43  . = ALIGN(4096);
44  .dynamic  : { *(.dynamic) }
45  . = ALIGN(4096);
46  .rela :
47  {
48    *(.rela.text)
49    *(.rela.data*)
50    *(.rela.sdata)
51    *(.rela.got)
52    *(.rela.gnu.linkonce.d*)
53    *(.rela.stab)
54    *(.rela.ctors)
55  }
56  . = ALIGN(4096);
57  .reloc :		/* This is the PECOFF .reloc section! */
58  {
59    *(.reloc)
60  }
61  . = ALIGN(4096);
62  .dynsym   : { *(.dynsym) }
63  . = ALIGN(4096);
64  .dynstr   : { *(.dynstr) }
65  /DISCARD/ :
66  {
67    *(.rela.plabel)
68    *(.rela.reloc)
69    *(.IA_64.unwind*)
70    *(.IA64.unwind*)
71  }
72}
73