components/shim/elf_x86_64_efi_sol2.lds
changeset 7224 ad801cd1924e
equal deleted inserted replaced
7223:6f6f0fff497b 7224:ad801cd1924e
       
     1 /* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
       
     2 OUTPUT_FORMAT("elf64-x86-64-sol2", "elf64-x86-64-sol2", "elf64-x86-64-sol2")
       
     3 OUTPUT_ARCH(i386:x86-64)
       
     4 ENTRY(_start)
       
     5 SECTIONS
       
     6 {
       
     7   . = 0;
       
     8   ImageBase = .;
       
     9   .hash : { *(.hash) }	/* this MUST come first! */
       
    10   . = ALIGN(4096);
       
    11   .eh_frame : 
       
    12   { 
       
    13     *(.eh_frame)
       
    14   }
       
    15   . = ALIGN(4096);
       
    16   .text :
       
    17   {
       
    18    _text = .;
       
    19    *(.text)
       
    20    _etext = .;
       
    21   }
       
    22   . = ALIGN(4096);
       
    23   .reloc :
       
    24   {
       
    25    *(.reloc)
       
    26   }
       
    27   . = ALIGN(4096);
       
    28   .data :
       
    29   {
       
    30    _data = .;
       
    31    *(.rodata*)
       
    32    *(.got.plt)
       
    33    *(.got)
       
    34    *(.data*)
       
    35    *(.sdata)
       
    36    /* the EFI loader doesn't seem to like a .bss section, so we stick
       
    37       it all into .data: */
       
    38    *(.sbss)
       
    39    *(.scommon)
       
    40    *(.dynbss)
       
    41    *(.bss)
       
    42    *(COMMON)
       
    43    *(.rel.local)
       
    44   }
       
    45   .note.gnu.build-id : { *(.note.gnu.build-id) }
       
    46   . = ALIGN(4096);
       
    47   .vendor_cert :
       
    48   {
       
    49    *(.vendor_cert)
       
    50   }
       
    51   . = ALIGN(4096);
       
    52   .dynamic  : { *(.dynamic) }
       
    53   . = ALIGN(4096);
       
    54   .rela :
       
    55   {
       
    56     *(.rela.data*)
       
    57     *(.rela.got)
       
    58     *(.rela.stab)
       
    59   }
       
    60   _edata = .;
       
    61   _data_size = . - _data;
       
    62 
       
    63   . = ALIGN(4096);
       
    64   .dynsym   : { *(.dynsym) }
       
    65   . = ALIGN(4096);
       
    66   .dynstr   : { *(.dynstr) }
       
    67   . = ALIGN(4096);
       
    68   .ignored.reloc :
       
    69   {
       
    70     *(.rela.reloc)
       
    71     *(.eh_frame)
       
    72     *(.note.GNU-stack)
       
    73   }
       
    74   .comment 0 : { *(.comment) }
       
    75   .note.gnu.build-id : { *(.note.gnu.build-id) }
       
    76 }