diff options
Diffstat (limited to 'gnu-efi/gnu-efi-3.0/gnuefi/elf_ia32_fbsd_efi.lds')
-rw-r--r-- | gnu-efi/gnu-efi-3.0/gnuefi/elf_ia32_fbsd_efi.lds | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gnu-efi/gnu-efi-3.0/gnuefi/elf_ia32_fbsd_efi.lds b/gnu-efi/gnu-efi-3.0/gnuefi/elf_ia32_fbsd_efi.lds new file mode 100644 index 0000000..bc25b1f --- /dev/null +++ b/gnu-efi/gnu-efi-3.0/gnuefi/elf_ia32_fbsd_efi.lds @@ -0,0 +1,75 @@ +OUTPUT_FORMAT("elf32-i386-freebsd", "elf32-i386-freebsd", "elf32-i386-freebsd") +OUTPUT_ARCH(i386) +ENTRY(_start) +SECTIONS +{ + . = 0; + ImageBase = .; + .hash : { *(.hash) } /* this MUST come first! */ + . = ALIGN(4096); + .text : + { + *(.text) + *(.text.*) + *(.gnu.linkonce.t.*) + } + . = ALIGN(4096); + .sdata : + { + *(.got.plt) + *(.got) + *(.srodata) + *(.sdata) + *(.sbss) + *(.scommon) + } + . = ALIGN(4096); + .data : + { + *(.rodata*) + *(.data) + *(.data1) + *(.data.*) + *(.sdata) + *(.got.plt) + *(.got) + /* the EFI loader doesn't seem to like a .bss section, so we stick + it all into .data: */ + *(.sbss) + *(.scommon) + *(.dynbss) + *(.bss) + *(COMMON) + } + . = ALIGN(4096); + .dynamic : { *(.dynamic) } + . = ALIGN(4096); + .rel : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.got) + *(.rel.stab) + *(.data.rel.ro.local) + *(.data.rel.local) + *(.data.rel.ro) + *(.data.rel*) + } + . = ALIGN(4096); + .reloc : /* This is the PECOFF .reloc section! */ + { + *(.reloc) + } + . = ALIGN(4096); + .dynsym : { *(.dynsym) } + . = ALIGN(4096); + .dynstr : { *(.dynstr) } + . = ALIGN(4096); + /DISCARD/ : + { + *(.rel.reloc) + *(.eh_frame) + *(.note.GNU-stack) + } + .comment 0 : { *(.comment) } +} |