The .rodata ELF section contains constant non-executable data that should never be modified by the program itself. Since the risk of inadvertent modification is typically higher than the risk of inadvertent execution, it makes sense to put this data in the R-X .text section rather than in the RW- .data section. So move it there. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Tested-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18131 6f19259b-4bc3-4df7-8a09-765794883524
45 lines
741 B
Plaintext
45 lines
741 B
Plaintext
/* OUTPUT_FORMAT(efi-bsdrv-x86_64) */
|
|
SECTIONS
|
|
{
|
|
/* . = 0 + SIZEOF_HEADERS; */
|
|
. = 0x280;
|
|
.text ALIGN(0x20) :
|
|
{
|
|
*(.text .stub .text.* .gnu.linkonce.t.*)
|
|
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
|
. = ALIGN(0x20);
|
|
}
|
|
.data ALIGN(0x20) :
|
|
{
|
|
*(
|
|
.data .data.* .gnu.linkonce.d.*
|
|
.bss .bss.*
|
|
*COM*
|
|
)
|
|
. = ALIGN(0x20);
|
|
}
|
|
.eh_frame ALIGN(0x20) :
|
|
{
|
|
KEEP (*(.eh_frame))
|
|
}
|
|
.got ALIGN(0x20) :
|
|
{
|
|
*(.got .got.*)
|
|
. = ALIGN(0x20);
|
|
}
|
|
.rela ALIGN(0x20) :
|
|
{
|
|
*(.rela .rela.*)
|
|
}
|
|
/DISCARD/ : {
|
|
*(.note.GNU-stack) *(.gnu_debuglink)
|
|
*(.interp)
|
|
*(.dynsym)
|
|
*(.dynstr)
|
|
*(.dynamic)
|
|
*(.hash)
|
|
*(.comment)
|
|
}
|
|
}
|
|
|