From: Ard Biesheuvel Date: Mon, 3 Aug 2015 08:21:39 +0000 (+0000) Subject: BaseTools IA32/X64: move .rodata to PE/COFF .text section X-Git-Tag: edk2-stable201903~9150 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=fa1d29d5cce3d6acc70dcfa0445a4069f547f6e1 BaseTools IA32/X64: move .rodata to PE/COFF .text section 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 Reviewed-by: Jordan Justen Tested-by: Liming Gao git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18131 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/BaseTools/Scripts/gcc-4K-align-ld-script b/BaseTools/Scripts/gcc-4K-align-ld-script index 16cf623a33..1f0f1afb27 100644 --- a/BaseTools/Scripts/gcc-4K-align-ld-script +++ b/BaseTools/Scripts/gcc-4K-align-ld-script @@ -6,12 +6,12 @@ SECTIONS .text : ALIGN(0x1000) { *(.text .stub .text.* .gnu.linkonce.t.*) + *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN(0x20); } .data : ALIGN(0x1000) { *( - .rodata .rodata.* .gnu.linkonce.r.* .data .data.* .gnu.linkonce.d.* .bss .bss.* *COM* diff --git a/BaseTools/Scripts/gcc4.4-ld-script b/BaseTools/Scripts/gcc4.4-ld-script index c0aa621804..22b3220816 100644 --- a/BaseTools/Scripts/gcc4.4-ld-script +++ b/BaseTools/Scripts/gcc4.4-ld-script @@ -6,12 +6,12 @@ SECTIONS .text ALIGN(0x20) : { *(.text .stub .text.* .gnu.linkonce.t.*) + *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN(0x20); } .data ALIGN(0x20) : { *( - .rodata .rodata.* .gnu.linkonce.r.* .data .data.* .gnu.linkonce.d.* .bss .bss.* *COM* diff --git a/BaseTools/Scripts/gcc4.9-ld-script b/BaseTools/Scripts/gcc4.9-ld-script index 37a93cd85e..2ac86e38fa 100644 --- a/BaseTools/Scripts/gcc4.9-ld-script +++ b/BaseTools/Scripts/gcc4.9-ld-script @@ -6,12 +6,12 @@ SECTIONS .text ALIGN(0x20) : { *(.text .stub .text.* .gnu.linkonce.t.*) + *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN(0x20); } .data ALIGN(0x40) : { *( - .rodata .rodata.* .gnu.linkonce.r.* .data .data.* .gnu.linkonce.d.* .bss .bss.* *COM*