On 2 October 2015 at 16:38, Leif Lindholm <leif.lindh...@linaro.org> wrote: > On Fri, Oct 02, 2015 at 03:55:10PM +0200, Ard Biesheuvel wrote: >> As it turns out, upstream GCC only supports the AArch64 'tiny' code >> model as of version 4.9. Since the default 'small' code model requires >> 4 KB section alignment (which is undesirable for the XIP modules), >> revert GCC 4.7 and 4.8 to using the 'large' code model instead. >> >> Reported-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> >> --- >> BaseTools/Conf/tools_def.template | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/BaseTools/Conf/tools_def.template >> b/BaseTools/Conf/tools_def.template >> index 1f9b89d5d594..1fef6af5464a 100644 >> --- a/BaseTools/Conf/tools_def.template >> +++ b/BaseTools/Conf/tools_def.template >> @@ -3812,7 +3812,7 @@ DEFINE GCC_IA32_CC_FLAGS = >> DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double - >> DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone >> -Wno-address -mno-stack-arg-probe >> DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) >> -minline-int-divide-min-latency >> DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) >> -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums >> -save-temps -fsigned-char -ffunction-sections -fdata-sections >> -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft >> -DEFINE GCC_AARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mcmodel=tiny >> -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char >> -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin >> -Wno-address -fno-asynchronous-unwind-tables >> +DEFINE GCC_AARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian >> -fno-short-enums -save-temps -fverbose-asm -fsigned-char >> -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin >> -Wno-address -fno-asynchronous-unwind-tables >> DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie >> DEFINE GCC_DLINK2_FLAGS_COMMON = >> --script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds >> DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) >> --gc-sections >> @@ -3886,7 +3886,7 @@ DEFINE GCC47_ASM_FLAGS = >> DEF(GCC46_ASM_FLAGS) >> DEFINE GCC47_ARM_ASM_FLAGS = DEF(GCC46_ARM_ASM_FLAGS) >> DEFINE GCC47_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) >> DEF(GCC_ASM_FLAGS) -mlittle-endian >> DEFINE GCC47_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) >> -mno-unaligned-access >> -DEFINE GCC47_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) >> DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) >> +DEFINE GCC47_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) >> DEF(GCC44_ALL_CC_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) >> DEFINE GCC47_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS) >> DEFINE GCC47_ARM_DLINK2_FLAGS = DEF(GCC46_ARM_DLINK2_FLAGS) >> DEFINE GCC47_AARCH64_DLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) >> @@ -3926,7 +3926,7 @@ DEFINE GCC49_ASM_FLAGS = >> DEF(GCC48_ASM_FLAGS) >> DEFINE GCC49_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS) >> DEFINE GCC49_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS) >> DEFINE GCC49_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) >> -DEFINE GCC49_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) >> +DEFINE GCC49_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) >> DEF(GCC44_ALL_CC_FLAGS) -mcmodel=tiny DEF(GCC_AARCH64_CC_FLAGS) >> DEFINE GCC49_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS) >> DEFINE GCC49_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS) >> DEFINE GCC49_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS) >> -- >> 1.9.1 >> > > Reviewed-by: Leif Lindholm <leif.lindh...@linaro.org> >
Thanks. Committed as SVN r18569 -- Ard. _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel