Home | History | Annotate | Line # | Download | only in gnuefi
      1 /*	$NetBSD: elf_ia64_efi.lds,v 1.1.1.2 2018/08/16 18:17:47 jmcneill Exp $	*/
      2 
      3 OUTPUT_FORMAT("elf64-ia64-little")
      4 OUTPUT_ARCH(ia64)
      5 ENTRY(_start_plabel)
      6 SECTIONS
      7 {
      8   . = 0;
      9   ImageBase = .;
     10   /* .hash and/or .gnu.hash MUST come first! */
     11   .hash : { *(.hash) }
     12   .gnu.hash : { *(.gnu.hash) }
     13   . = ALIGN(4096);
     14   .text :
     15   {
     16    _text = .;
     17    *(.text)
     18    *(.text.*)
     19    *(.gnu.linkonce.t.*)
     20    . = ALIGN(16);
     21   }
     22   _etext = .;
     23   _text_size = . - _text;
     24   . = ALIGN(4096);
     25   __gp = ALIGN (8) + 0x200000;
     26   .sdata :
     27   {
     28    _data = .;
     29    *(.got.plt)
     30    *(.got)
     31    *(.srodata)
     32    *(.sdata)
     33    *(.sbss)
     34    *(.scommon)
     35   }
     36   . = ALIGN(4096);
     37   .data :
     38   {
     39    *(.rodata*)
     40    *(.ctors)
     41    *(.data*)
     42    *(.gnu.linkonce.d*)
     43    *(.plabel)	/* data whose relocs we want to ignore */
     44    /* the EFI loader doesn't seem to like a .bss section, so we stick
     45       it all into .data: */
     46    *(.dynbss)
     47    *(.bss)
     48    *(COMMON)
     49   }
     50   .note.gnu.build-id : { *(.note.gnu.build-id) }
     51 
     52   . = ALIGN(4096);
     53   .dynamic  : { *(.dynamic) }
     54   . = ALIGN(4096);
     55   .rela :
     56   {
     57     *(.rela.text)
     58     *(.rela.data*)
     59     *(.rela.sdata)
     60     *(.rela.got)
     61     *(.rela.gnu.linkonce.d*)
     62     *(.rela.stab)
     63     *(.rela.ctors)
     64   }
     65   _edata = .;
     66   _data_size = . - _etext;
     67   . = ALIGN(4096);
     68   .reloc :		/* This is the PECOFF .reloc section! */
     69   {
     70     *(.reloc)
     71   }
     72   . = ALIGN(4096);
     73   .dynsym   : { *(.dynsym) }
     74   . = ALIGN(4096);
     75   .dynstr   : { *(.dynstr) }
     76   /DISCARD/ :
     77   {
     78     *(.rela.plabel)
     79     *(.rela.reloc)
     80     *(.IA_64.unwind*)
     81     *(.IA64.unwind*)
     82   }
     83 }
     84