Imported Upstream version 3.0
[platform/upstream/gnu-efi.git] / gnuefi / elf_ia64_efi.lds
1 OUTPUT_FORMAT("elf64-ia64-little")
2 OUTPUT_ARCH(ia64)
3 ENTRY(_start_plabel)
4 SECTIONS
5 {
6   . = 0;
7   ImageBase = .;
8   .hash : { *(.hash) }  /* this MUST come first! */
9   . = ALIGN(4096);
10   .text :
11   {
12    *(.text)
13    *(.text.*)
14    *(.gnu.linkonce.t.*)
15   }
16   . = ALIGN(4096);
17   __gp = ALIGN (8) + 0x200000;
18   .sdata :
19   {
20    *(.got.plt)
21    *(.got)
22    *(.srodata)
23    *(.sdata)
24    *(.sbss)
25    *(.scommon)
26   }
27   . = ALIGN(4096);
28   .data :
29   {
30    *(.rodata*)
31    *(.ctors)
32    *(.data*)
33    *(.gnu.linkonce.d*)
34    *(.plabel)   /* data whose relocs we want to ignore */
35    /* the EFI loader doesn't seem to like a .bss section, so we stick
36       it all into .data: */
37    *(.dynbss)
38    *(.bss)
39    *(COMMON)
40   }
41   . = ALIGN(4096);
42   .dynamic  : { *(.dynamic) }
43   . = ALIGN(4096);
44   .rela :
45   {
46     *(.rela.text)
47     *(.rela.data*)
48     *(.rela.sdata)
49     *(.rela.got)
50     *(.rela.gnu.linkonce.d*)
51     *(.rela.stab)
52     *(.rela.ctors)
53   }
54   . = ALIGN(4096);
55   .reloc :              /* This is the PECOFF .reloc section! */
56   {
57     *(.reloc)
58   }
59   . = ALIGN(4096);
60   .dynsym   : { *(.dynsym) }
61   . = ALIGN(4096);
62   .dynstr   : { *(.dynstr) }
63   /DISCARD/ :
64   {
65     *(.rela.plabel)
66     *(.rela.reloc)
67     *(.IA_64.unwind*)
68     *(.IA64.unwind*)
69   }
70 }