Home | History | Annotate | Line # | Download | only in gnuefi
      1      1.1  jakllsch /*	$NetBSD: elf_ia32_fbsd_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("elf32-i386-freebsd", "elf32-i386-freebsd", "elf32-i386-freebsd")
      4      1.1  jakllsch OUTPUT_ARCH(i386)
      5      1.1  jakllsch ENTRY(_start)
      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   .sdata :
     26      1.1  jakllsch   {
     27  1.1.1.2  jmcneill    _data = .;
     28      1.1  jakllsch    *(.got.plt)
     29      1.1  jakllsch    *(.got)
     30      1.1  jakllsch    *(.srodata)
     31      1.1  jakllsch    *(.sdata)
     32      1.1  jakllsch    *(.sbss)
     33      1.1  jakllsch    *(.scommon)
     34      1.1  jakllsch   }
     35      1.1  jakllsch   . = ALIGN(4096);
     36      1.1  jakllsch   .data :
     37      1.1  jakllsch   {
     38      1.1  jakllsch    *(.rodata*)
     39      1.1  jakllsch    *(.data)
     40      1.1  jakllsch    *(.data1)
     41      1.1  jakllsch    *(.data.*)
     42      1.1  jakllsch    *(.sdata)
     43      1.1  jakllsch    *(.got.plt)
     44      1.1  jakllsch    *(.got)
     45      1.1  jakllsch    /* the EFI loader doesn't seem to like a .bss section, so we stick
     46      1.1  jakllsch       it all into .data: */
     47      1.1  jakllsch    *(.sbss)
     48      1.1  jakllsch    *(.scommon)
     49      1.1  jakllsch    *(.dynbss)
     50      1.1  jakllsch    *(.bss)
     51      1.1  jakllsch    *(COMMON)
     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  jakllsch   . = ALIGN(4096);
     56      1.1  jakllsch   .dynamic  : { *(.dynamic) }
     57      1.1  jakllsch   . = ALIGN(4096);
     58      1.1  jakllsch   .rel :
     59      1.1  jakllsch   {
     60      1.1  jakllsch     *(.rel.data)
     61      1.1  jakllsch     *(.rel.data.*)
     62      1.1  jakllsch     *(.rel.got)
     63      1.1  jakllsch     *(.rel.stab)
     64      1.1  jakllsch     *(.data.rel.ro.local)
     65      1.1  jakllsch     *(.data.rel.local)
     66      1.1  jakllsch     *(.data.rel.ro)
     67      1.1  jakllsch     *(.data.rel*)
     68      1.1  jakllsch   }
     69  1.1.1.2  jmcneill   _edata = .;
     70  1.1.1.2  jmcneill   _data_size = . - _etext;
     71      1.1  jakllsch   . = ALIGN(4096);
     72      1.1  jakllsch   .reloc :		/* This is the PECOFF .reloc section! */
     73      1.1  jakllsch   {
     74      1.1  jakllsch     *(.reloc)
     75      1.1  jakllsch   }
     76      1.1  jakllsch   . = ALIGN(4096);
     77      1.1  jakllsch   .dynsym   : { *(.dynsym) }
     78      1.1  jakllsch   . = ALIGN(4096);
     79      1.1  jakllsch   .dynstr   : { *(.dynstr) }
     80      1.1  jakllsch   . = ALIGN(4096);
     81      1.1  jakllsch   /DISCARD/ :
     82      1.1  jakllsch   {
     83      1.1  jakllsch     *(.rel.reloc)
     84      1.1  jakllsch     *(.eh_frame)
     85      1.1  jakllsch     *(.note.GNU-stack)
     86      1.1  jakllsch   }
     87      1.1  jakllsch   .comment 0 : { *(.comment) }
     88      1.1  jakllsch }
     89