mirror of https://github.com/acidanthera/audk.git
BaseTools/tools_def ARM: Disable stack protector with CLANGDWARF
Clang insists on emitting a movt/movw pair into the function pro/epilogues to load the stack protector reference value from memory, and this movt/movw pair may turn out non-consecutively in the instruction stream. The resulting symbol reference cannot be fixed up by GenFw, as PE/COFF always treats movt/movw as a pair, and the ELF-to-PE conversion will therefore fail. Just disable the stack protector when using CLANGDWARF. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
parent
779642283a
commit
170fa8ecd4
|
@ -2096,7 +2096,7 @@ NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O0 -fu
|
|||
# CLANGDWARF ARM definitions
|
||||
##################
|
||||
DEFINE CLANGDWARF_ARM_TARGET = -target arm-linux-gnueabi
|
||||
DEFINE CLANGDWARF_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANGDWARF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt
|
||||
DEFINE CLANGDWARF_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANGDWARF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt -fno-stack-protector
|
||||
DEFINE CLANGDWARF_ARM_DLINK_FLAGS = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
|
||||
|
||||
*_CLANGDWARF_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
||||
|
|
Loading…
Reference in New Issue