mirror of https://github.com/acidanthera/audk.git
40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
|
SECTIONS {
|
||
|
/*
|
||
|
* Put the .text section at 0x0 explicitly. While we know it will minimally
|
||
|
* end up at 0x280, (the size of the PE/COFF headers being 0x250 bytes and the
|
||
|
* minimum alignment 0x40), choosing 0x280 as the offset causes problems when
|
||
|
* linking objects with a greater .text alignment, since the section's base
|
||
|
* must adhere to its own alignment.
|
||
|
* Using 0x0 will result in the PE/COFF binary's memory layout to be shifted
|
||
|
* with respect to the ELF version, but this shouldn't be a problem as long as
|
||
|
* the .data's offset relative to .text is kept the same.
|
||
|
*/
|
||
|
.text 0x0 : ALIGN(0x40) {
|
||
|
*(.text .text.* .rodata .rodata.*)
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* The alignment of the .data section needs to be less than or equal to the
|
||
|
* alignment of the .text section. This ensures that the relative offset
|
||
|
* between these sections is the same in the ELF and the PE/COFF version of
|
||
|
* this binary.
|
||
|
*/
|
||
|
.data : ALIGN(0x40) {
|
||
|
*(.data .data.*)
|
||
|
*(.bss .bss.* *COM*)
|
||
|
}
|
||
|
.rela ALIGN(0x20) : {
|
||
|
*(.rela .rela.*)
|
||
|
}
|
||
|
|
||
|
/DISCARD/ : {
|
||
|
*(.note.GNU-stack)
|
||
|
*(.interp)
|
||
|
*(.dynsym)
|
||
|
*(.dynstr)
|
||
|
*(.dynamic)
|
||
|
*(.hash)
|
||
|
*(.comment)
|
||
|
}
|
||
|
}
|