xref: /netbsd/sys/arch/ia64/stand/ia64/efi/ldscript.ia64 (revision 6550d01e)
1/*	$NetBSD: ldscript.ia64,v 1.4 2008/04/06 07:50:04 kochi Exp $	*/
2/* $FreeBSD: src/sys/boot/efi/libefi/arch/ia64/ldscript.ia64,v 1.8 2004/07/20 07:01:02 marcel Exp $ */
3
4OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little")
5OUTPUT_ARCH(ia64)
6ENTRY(_start_plabel)
7
8SECTIONS
9{
10  /* Read-only sections, merged into text segment: */
11  . = 0;
12  ImageBase = .;
13  . = SIZEOF_HEADERS;
14  . = ALIGN(4096);
15  .text		: {
16    *(.text .stub .text.* .gnu.linkonce.t.*)
17    /* .gnu.warning sections are handled specially by elf32.em. */
18    *(.gnu.warning)
19    *(.plt)
20  } =0x00300000010070000002000001000400
21  . = ALIGN(4096);
22  .data		: {
23    *(.rodata .rodata.* .gnu.linkonce.r.*)
24    *(.rodata1)
25    *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
26    *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
27    *(.opd)
28    __start_set_Xcommand_set = .;
29    *(set_Xcommand_set)
30    __stop_set_Xcommand_set = .;
31    *(.data .data.* .gnu.linkonce.d.*)
32    *(.data1)
33    *(.plabel)
34    *(.dynbss)
35    *(.bss .bss.* .gnu.linkonce.b.*)
36    *(COMMON)
37  }
38  . = ALIGN(4096);
39  __gp = .;
40  .sdata	: {
41    *(.got.plt .got)
42    *(.IA_64.pltoff)
43    *(.sdata .sdata.* .gnu.linkonce.s.*)
44    *(dynsbss)
45    *(.sbss .sbss.* .gnu.linkonce.sb.*)
46    *(.scommon)
47  }
48  . = ALIGN(4096);
49  .dynamic	: { *(.dynamic) }
50  . = ALIGN(4096);
51  .rela.dyn	: {
52    *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
53    *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
54    *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
55    *(.rela.got)
56    *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
57    *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
58    *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
59    *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
60    *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
61    *(.rela.plt)
62    *(.rela.IA_64.pltoff)
63    *(.relaset_*)
64    *(.rela.dyn .rela.dyn.*)
65  }
66  . = ALIGN(4096);
67  .reloc	: { *(.reloc) }
68  . = ALIGN(4096);
69  .hash		: { *(.hash) }
70  . = ALIGN(4096);
71  .dynsym	: { *(.dynsym) }
72  . = ALIGN(4096);
73  .dynstr	: { *(.dynstr) }
74  /DISCARD/ :
75  {
76    *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*)
77    *(.IA_64.unwind* .gnu.linkonce.ia64unw.*)
78  }
79}
80