From e90ba6e1eaa88f7552df0b5d1304a0f5a78cd977 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Mon, 3 Aug 2015 08:21:28 +0000 Subject: [PATCH] BaseTools IA32/X64: remove NOP padding from X86/IA32 GCC linker scripts The NOP padding in the GCC linker scripts ensures that all empty regions in the ELF binary are filled with x86 NOP instructions. There is no upside to doing this: if the CPU ends up executing these instructions, we have little hope of resuming normal execution of the program anyway. And having NOP slides in memory only makes it easier for attackers to launch exploits. So remove them. 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@18130 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Scripts/gcc4.4-ld-script | 2 +- BaseTools/Scripts/gcc4.9-ld-script | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BaseTools/Scripts/gcc4.4-ld-script b/BaseTools/Scripts/gcc4.4-ld-script index 68b2767590..c0aa621804 100644 --- a/BaseTools/Scripts/gcc4.4-ld-script +++ b/BaseTools/Scripts/gcc4.4-ld-script @@ -7,7 +7,7 @@ SECTIONS { *(.text .stub .text.* .gnu.linkonce.t.*) . = ALIGN(0x20); - } =0x90909090 + } .data ALIGN(0x20) : { *( diff --git a/BaseTools/Scripts/gcc4.9-ld-script b/BaseTools/Scripts/gcc4.9-ld-script index b692328536..37a93cd85e 100644 --- a/BaseTools/Scripts/gcc4.9-ld-script +++ b/BaseTools/Scripts/gcc4.9-ld-script @@ -7,7 +7,7 @@ SECTIONS { *(.text .stub .text.* .gnu.linkonce.t.*) . = ALIGN(0x20); - } =0x90909090 + } .data ALIGN(0x40) : { *( -- 2.39.5