/* -*- sh -*- */
/*
* Linker script for EFI images
*
*/
SECTIONS {
/* The file starts at a virtual address of zero, and sections are
* contiguous. Each section is aligned to at least _max_align,
* which defaults to 32. Load addresses are equal to virtual
* addresses.
_max_align = 32;
/* Allow plenty of space for file headers */
. = 0x1000;
* The text section
. = ALIGN ( _max_align );
.text : {
_text = .;
*(.text)
*(.text.*)
_etext = .;
}
* The rodata section
.rodata : {
_rodata = .;
*(.rodata)
*(.rodata.*)
_erodata = .;
* The data section
.data : {
_data = .;
*(.data)
*(.data.*)
KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */
_edata = .;
* The bss section
.bss : {
_bss = .;
*(.bss)
*(.bss.*)
*(COMMON)
_ebss = .;
* Weak symbols that need zero values if not otherwise defined
.weak 0x0 : {
_weak = .;
*(.weak)
*(.weak.*)
_eweak = .;
_assert = ASSERT ( ( _weak == _eweak ), ".weak is non-zero length" );
* Dispose of the comment and note sections to make the link map
* easier to read
/DISCARD/ : {
*(.comment)
*(.comment.*)
*(.note)
*(.note.*)
*(.eh_frame)
*(.eh_frame.*)
*(.rel)
*(.rel.*)
*(.einfo)
*(.einfo.*)
*(.discard)
*(.discard.*)