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