60 lines
1.1 KiB
Plaintext
60 lines
1.1 KiB
Plaintext
OUTPUT_ARCH(i386:x86_64)
|
|
SECTIONS {
|
|
. = 0x1000;
|
|
.text : {
|
|
_text = .;
|
|
*(.text)
|
|
*(.text.*)
|
|
_etext = .;
|
|
}
|
|
.rodata : {
|
|
_rodata = .;
|
|
*(.rodata)
|
|
*(.rodata.*)
|
|
_erodata = .;
|
|
}
|
|
. = ALIGN(0x1000);
|
|
.data : {
|
|
_data = .;
|
|
*(.data)
|
|
*(.data.*)
|
|
. = ALIGN(0x1000);
|
|
_edata = .;
|
|
}
|
|
.bss : {
|
|
_bss = .;
|
|
*(.bss)
|
|
*(.bss.*)
|
|
*(COMMON)
|
|
_ebss = .;
|
|
}
|
|
|
|
.pgtable : {
|
|
_pgtable = .;
|
|
*(.pgtable)
|
|
_epgtable = .;
|
|
}
|
|
|
|
. = ALIGN(0x1000);
|
|
_end = .;
|
|
.got.plt (INFO) : {
|
|
*(.got.plt)
|
|
}
|
|
ASSERT(SIZEOF(.got.plt) == 0 ||
|
|
SIZEOF(.got.plt) == 0x18,
|
|
"Unexpected GOT/PLT entries detected!")
|
|
|
|
/*
|
|
* Sections that should stay zero sized, which is safer to
|
|
* explicitly check instead of blindly discarding.
|
|
*/
|
|
.got : {
|
|
*(.got)
|
|
}
|
|
ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
|
|
|
|
.plt : {
|
|
*(.plt) *(.plt.*)
|
|
}
|
|
ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
|
|
} |