Home | History | Annotate | Line # | Download | only in gnuefi
      1 /*	$NetBSD: elf_x86_64_fbsd_efi.lds,v 1.1.1.2 2018/08/16 18:17:47 jmcneill Exp $	*/
      2 
      3 /* Same as elf_x86_64_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
      4 OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd")
      5 OUTPUT_ARCH(i386:x86-64)
      6 ENTRY(_start)
      7 SECTIONS
      8 {
      9   . = 0;
     10   ImageBase = .;
     11   /* .hash and/or .gnu.hash MUST come first! */
     12   .hash : { *(.hash) }
     13   .gnu.hash : { *(.gnu.hash) }
     14   . = ALIGN(4096);
     15   .eh_frame :
     16   {
     17     *(.eh_frame)
     18   }
     19   . = ALIGN(4096);
     20   .text :
     21   {
     22    _text = .;
     23    *(.text)
     24    . = ALIGN(16);
     25   }
     26   _etext = .;
     27   _text_size = . - _text;
     28   .reloc :
     29   {
     30    *(.reloc)
     31   }
     32   . = ALIGN(4096);
     33   .data :
     34   {
     35    _data = .;
     36    *(.rodata*)
     37    *(.got.plt)
     38    *(.got)
     39    *(.data*)
     40    *(.sdata)
     41    /* the EFI loader doesn't seem to like a .bss section, so we stick
     42       it all into .data: */
     43    *(.sbss)
     44    *(.scommon)
     45    *(.dynbss)
     46    *(.bss)
     47    *(COMMON)
     48    *(.rel.local)
     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.data*)
     58     *(.rela.got)
     59     *(.rela.stab)
     60   }
     61   _edata = .;
     62   _data_size = . - _etext;
     63   . = ALIGN(4096);
     64   .dynsym   : { *(.dynsym) }
     65   . = ALIGN(4096);
     66   .dynstr   : { *(.dynstr) }
     67   . = ALIGN(4096);
     68   .ignored.reloc :
     69   {
     70     *(.rela.reloc)
     71   }
     72 }
     73