Home | History | Annotate | Line # | Download | only in gnuefi
      1      1.1  jakllsch /*	$NetBSD: elf_x86_64_efi.lds,v 1.1.1.2 2018/08/16 18:17:47 jmcneill Exp $	*/
      2      1.1  jakllsch 
      3      1.1  jakllsch /* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
      4      1.1  jakllsch OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
      5      1.1  jakllsch OUTPUT_ARCH(i386:x86-64)
      6      1.1  jakllsch ENTRY(_start)
      7      1.1  jakllsch SECTIONS
      8      1.1  jakllsch {
      9      1.1  jakllsch   . = 0;
     10      1.1  jakllsch   ImageBase = .;
     11  1.1.1.2  jmcneill   /* .hash and/or .gnu.hash MUST come first! */
     12  1.1.1.2  jmcneill   .hash : { *(.hash) }
     13  1.1.1.2  jmcneill   .gnu.hash : { *(.gnu.hash) }
     14      1.1  jakllsch   . = ALIGN(4096);
     15      1.1  jakllsch   .eh_frame :
     16      1.1  jakllsch   {
     17      1.1  jakllsch     *(.eh_frame)
     18      1.1  jakllsch   }
     19      1.1  jakllsch   . = ALIGN(4096);
     20      1.1  jakllsch   .text :
     21      1.1  jakllsch   {
     22  1.1.1.2  jmcneill    _text = .;
     23      1.1  jakllsch    *(.text)
     24      1.1  jakllsch    *(.text.*)
     25      1.1  jakllsch    *(.gnu.linkonce.t.*)
     26  1.1.1.2  jmcneill    . = ALIGN(16);
     27      1.1  jakllsch   }
     28  1.1.1.2  jmcneill   _etext = .;
     29  1.1.1.2  jmcneill   _text_size = . - _text;
     30      1.1  jakllsch   . = ALIGN(4096);
     31      1.1  jakllsch   .reloc :
     32      1.1  jakllsch   {
     33      1.1  jakllsch    *(.reloc)
     34      1.1  jakllsch   }
     35      1.1  jakllsch   . = ALIGN(4096);
     36      1.1  jakllsch   .data :
     37      1.1  jakllsch   {
     38  1.1.1.2  jmcneill    _data = .;
     39      1.1  jakllsch    *(.rodata*)
     40      1.1  jakllsch    *(.got.plt)
     41      1.1  jakllsch    *(.got)
     42      1.1  jakllsch    *(.data*)
     43      1.1  jakllsch    *(.sdata)
     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    *(.sbss)
     47      1.1  jakllsch    *(.scommon)
     48      1.1  jakllsch    *(.dynbss)
     49      1.1  jakllsch    *(.bss)
     50      1.1  jakllsch    *(COMMON)
     51      1.1  jakllsch    *(.rel.local)
     52      1.1  jakllsch   }
     53  1.1.1.2  jmcneill   .note.gnu.build-id : { *(.note.gnu.build-id) }
     54  1.1.1.2  jmcneill 
     55  1.1.1.2  jmcneill   _edata = .;
     56  1.1.1.2  jmcneill   _data_size = . - _etext;
     57      1.1  jakllsch   . = ALIGN(4096);
     58      1.1  jakllsch   .dynamic  : { *(.dynamic) }
     59      1.1  jakllsch   . = ALIGN(4096);
     60      1.1  jakllsch   .rela :
     61      1.1  jakllsch   {
     62      1.1  jakllsch     *(.rela.data*)
     63      1.1  jakllsch     *(.rela.got)
     64      1.1  jakllsch     *(.rela.stab)
     65      1.1  jakllsch   }
     66      1.1  jakllsch   . = ALIGN(4096);
     67      1.1  jakllsch   .dynsym   : { *(.dynsym) }
     68      1.1  jakllsch   . = ALIGN(4096);
     69      1.1  jakllsch   .dynstr   : { *(.dynstr) }
     70      1.1  jakllsch   . = ALIGN(4096);
     71      1.1  jakllsch   .ignored.reloc :
     72      1.1  jakllsch   {
     73      1.1  jakllsch     *(.rela.reloc)
     74      1.1  jakllsch     *(.eh_frame)
     75      1.1  jakllsch     *(.note.GNU-stack)
     76      1.1  jakllsch   }
     77      1.1  jakllsch   .comment 0 : { *(.comment) }
     78      1.1  jakllsch }
     79