Home | History | Annotate | Line # | Download | only in bootx64
      1 /*	$NetBSD: ldscript,v 1.2 2018/12/24 18:21:50 christos Exp $	*/
      2 /* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
      3 OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
      4 OUTPUT_ARCH(i386:x86-64)
      5 ENTRY(_start)
      6 
      7 PHDRS
      8 {
      9   text PT_LOAD;
     10   headers PT_PHDR FILEHDR PHDRS;
     11 }
     12 
     13 SECTIONS
     14 {
     15   . = 0;
     16   ImageBase = .;
     17   .hash : { *(.hash) }	/* this MUST come first! */
     18   . = ALIGN(4096);
     19   .eh_frame :
     20   {
     21     *(.eh_frame)
     22   }
     23   . = ALIGN(4096);
     24   .text :
     25   {
     26    *(.text)
     27    *(.text.*)
     28    *(.gnu.linkonce.t.*)
     29   } :text
     30   . = ALIGN(4096);
     31   .reloc :
     32   {
     33    *(.reloc)
     34   }
     35   . = ALIGN(4096);
     36   .data :
     37   {
     38    *(.rodata*)
     39    *(.got.plt)
     40    *(.got)
     41    *(.data*)
     42    *(.sdata)
     43    /* the EFI loader doesn't seem to like a .bss section, so we stick
     44       it all into .data: */
     45    *(.sbss)
     46    *(.scommon)
     47    *(.dynbss)
     48    *(.bss)
     49    *(COMMON)
     50    *(.rel.local)
     51   }
     52   . = ALIGN(4096);
     53   .dynamic  : { *(.dynamic) }
     54   . = ALIGN(4096);
     55   .rela :
     56   {
     57     *(.rela.data*)
     58     *(.rela.got)
     59     *(.rela.stab)
     60   }
     61   . = ALIGN(4096);
     62   .dynsym   : { *(.dynsym) }
     63   . = ALIGN(4096);
     64   .dynstr   : { *(.dynstr) }
     65   . = ALIGN(4096);
     66   .ignored.reloc :
     67   {
     68     *(.rela.reloc)
     69     *(.eh_frame)
     70     *(.note.GNU-stack)
     71   }
     72   .comment 0 : { *(.comment) }
     73 }
     74