xref: /DragonStub/gnuefi/elf_ia64_efi.lds (revision 2cc0b085fb82e80d43cc08c8376dff9f9532a72d)
1OUTPUT_FORMAT("elf64-ia64-little")
2OUTPUT_ARCH(ia64)
3ENTRY(_start_plabel)
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  __gp = ALIGN (8) + 0x200000;
24  .sdata :
25  {
26   _data = .;
27   *(.got.plt)
28   *(.got)
29   *(.srodata)
30   *(.sdata)
31   *(.sbss)
32   *(.scommon)
33  }
34  . = ALIGN(4096);
35  .data :
36  {
37   *(.rodata*)
38   *(.ctors)
39   *(.data*)
40   *(.gnu.linkonce.d*)
41   *(.plabel)	/* data whose relocs we want to ignore */
42   /* the EFI loader doesn't seem to like a .bss section, so we stick
43      it all into .data: */
44   *(.dynbss)
45   *(.bss)
46   *(COMMON)
47  }
48  .note.gnu.build-id : { *(.note.gnu.build-id) }
49
50  . = ALIGN(4096);
51  .dynamic  : { *(.dynamic) }
52  . = ALIGN(4096);
53  .rela :
54  {
55    *(.rela.text)
56    *(.rela.data*)
57    *(.rela.sdata)
58    *(.rela.got)
59    *(.rela.gnu.linkonce.d*)
60    *(.rela.stab)
61    *(.rela.ctors)
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  /DISCARD/ :
75  {
76    *(.rela.plabel)
77    *(.rela.reloc)
78    *(.IA_64.unwind*)
79    *(.IA64.unwind*)
80  }
81}
82