OUTPUT_ARCH(i386)
ENTRY(_start)
PHDRS
{
all PT_LOAD ;
}
SECTIONS
. = 0;
*(.text)
*(.text.*)
__text_end = .;
} :all
. = ALIGN(16);
*(.rodata)
*(.rodata.*)
__rodata_end = .;
. = ALIGN(4);
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__ctors_end = .;
.dtors : {
__dtors_start = .;
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__dtors_end = .;
. = ALIGN(4096);
.rel : {
*(.rel.data)
*(.rel.data.*)
*(.rel.ctors)
__gnu_hash_start = .;
*(.gnu.hash)
__gnu_hash_end = .;
.dynsym : {
__dynsym_start = .;
*(.dynsym)
__dynsym_end = .;
__dynstr_start = .;
*(.dynstr)
__dynstr_end = .;
KEEP (*(.got.plt))
KEEP (*(.got))
__got_end = .;
__dynamic_start = .;
*(.dynamic)
__dynamic_end = .;
*(.data.*)
*(.lowmem)
__data_end = .;
.reloc : {
*(.reloc)
.symtab : {
*(.symtab)
.strtab : {
*(.strtab)
.bss (NOLOAD) : {
/* the EFI loader doesn't seem to like a .bss section,
__bss_end = .;
*(.sbss)
*(.scommon)
__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
__bss_dwords = (__bss_len + 3) >> 2;
*(.hugebss)
*(.hugebss.*)
__hugebss_end = .;
_end = .;
OUTPUT_ARCH(i386:x86-64)