Message ID | 20171025200805.1443-1-ard.biesheuvel@linaro.org |
---|---|
State | Accepted |
Commit | 1894a7c64c0a417e76788ca297603f9c9dac1192 |
Headers | show |
Series | [edk2,v2] BaseTools/tools_def AARCH64 ARM: disable PIE linking | expand |
Reviewed-by: Liming Gao <liming.gao@intel.com> >-----Original Message----- >From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] >Sent: Thursday, October 26, 2017 4:08 AM >To: edk2-devel@lists.01.org >Cc: leif.lindholm@linaro.org; Gao, Liming <liming.gao@intel.com>; Zhu, >Yonghong <yonghong.zhu@intel.com>; Ard Biesheuvel ><ard.biesheuvel@linaro.org> >Subject: [PATCH v2] BaseTools/tools_def AARCH64 ARM: disable PIE linking > >Some prebuilt GCC toolchains targeting aarch64 (e.g., the Debian Stretch >one) will default to building PIE executables. This has been observed to >corrupt ACPI tables built from .aslc sources, so disable PIE linking >altogether when using the GCC toolchain to build for AARCH64 or ARM. > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> >--- >v2: - apply to both AARCH64 and ARM > - apply to GCC5 (and up) only - older versions of GCC don't support this > option > > BaseTools/Conf/tools_def.template | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >diff --git a/BaseTools/Conf/tools_def.template >b/BaseTools/Conf/tools_def.template >index e93c2a0bf1ef..df7c109438fd 100755 >--- a/BaseTools/Conf/tools_def.template >+++ b/BaseTools/Conf/tools_def.template >@@ -4494,9 +4494,9 @@ DEFINE GCC5_ARM_CC_FLAGS = >DEF(GCC49_ARM_CC_FLAGS) > DEFINE GCC5_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS) > DEFINE GCC5_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) > DEFINE GCC5_AARCH64_CC_XIPFLAGS = >DEF(GCC49_AARCH64_CC_XIPFLAGS) >-DEFINE GCC5_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) >+DEFINE GCC5_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) - >no-pie > DEFINE GCC5_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) - >Wno-error >-DEFINE GCC5_AARCH64_DLINK_FLAGS = >DEF(GCC49_AARCH64_DLINK_FLAGS) >+DEFINE GCC5_AARCH64_DLINK_FLAGS = >DEF(GCC49_AARCH64_DLINK_FLAGS) -no-pie > DEFINE GCC5_AARCH64_DLINK2_FLAGS = >DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error > DEFINE GCC5_ARM_ASLDLINK_FLAGS = >DEF(GCC49_ARM_ASLDLINK_FLAGS) > DEFINE GCC5_AARCH64_ASLDLINK_FLAGS = >DEF(GCC49_AARCH64_ASLDLINK_FLAGS) >-- >2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index e93c2a0bf1ef..df7c109438fd 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -4494,9 +4494,9 @@ DEFINE GCC5_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) DEFINE GCC5_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS) DEFINE GCC5_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) DEFINE GCC5_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS) -DEFINE GCC5_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) +DEFINE GCC5_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS) -no-pie DEFINE GCC5_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS) -Wno-error -DEFINE GCC5_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) +DEFINE GCC5_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -no-pie DEFINE GCC5_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error DEFINE GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS) DEFINE GCC5_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
Some prebuilt GCC toolchains targeting aarch64 (e.g., the Debian Stretch one) will default to building PIE executables. This has been observed to corrupt ACPI tables built from .aslc sources, so disable PIE linking altogether when using the GCC toolchain to build for AARCH64 or ARM. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- v2: - apply to both AARCH64 and ARM - apply to GCC5 (and up) only - older versions of GCC don't support this option BaseTools/Conf/tools_def.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel