And now I spotted this one.

Why are we going back and changing build flags for toolchain profiles
that are kept around for legacy use only? GCC 4.8 was released in
2013.

While I agree it *semantically* makes sense for GCC*_CC_FLAGS to
inherit GCC_ALL_CC_FLAGS, I am pretty sure the discrepancy was put
there for a reason - to keep the legacy profile working as it had done
even if we decided to enable new features for all modern profiles.
(That we then stopped having to create new profiles for each new GCC
release and hence haven't gone beyond GCC5 is beside the point - GCC5
encompasses all gcc toolchains since.)

I'll let Ard comment (when he's back), but I'm thinking this one ought
to be reverted as well.

/
    Leif

On Mon, Jul 20, 2020 at 04:11:53 +0000, Bob Feng wrote:
> Reviewed-by: Bob Feng<bob.c.f...@intel.com>
> 
> -----Original Message-----
> From: PierreGondois <pierre.gond...@arm.com> 
> Sent: Tuesday, July 7, 2020 4:35 PM
> To: devel@edk2.groups.io
> Cc: Pierre Gondois <pierre.gond...@arm.com>; Feng, Bob C 
> <bob.c.f...@intel.com>; Gao, Liming <liming....@intel.com>; 
> tomas.pi...@arm.com; n...@arm.com
> Subject: [PATCH V2 2/2] BaseTools: Factorize GCC flags
> 
> From: Pierre Gondois <pierre.gond...@arm.com>
> 
> GCC48_ALL_CC_FLAGS has no dependency on GCC_ALL_CC_FLAGS.
> By definition, there should be such dependency.
> 
> The outcomes of this patch is that GCC48_ALL_CC_FLAGS and other dependent 
> configurations will inherit from the additional "-Os" flag.
> The "-Os" flag optimizes a build in size, not breaking any build. In a gcc 
> command line, the last optimization flag has precedence. This means that this 
> "-Os" flag will be overriden by a more specific optimization configuration, 
> provided that this more specific flag is appended at the end of the CC_FLAGS.
> 
> Signed-off-by: Pierre Gondois <pierre.gond...@arm.com>
> Suggested-by: Tomas Pilar <tomas.pi...@arm.com>
> ---
> 
> The changes can be seen at: 
> https://github.com/PierreARM/edk2/commits/831_Add_gcc_flag_warning_v2
> 
> Notes:
>     v2:
>      - Make GCC48_ALL_CC_FLAGS dependent on
>        GCC_ALL_CC_FLAGS. [Tomas]
> 
>  BaseTools/Conf/tools_def.template | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Conf/tools_def.template 
> b/BaseTools/Conf/tools_def.template
> index 
> 397b011ba38f97f81f314f8641ac8bb95d5a2197..a1fd27b1adba8769949b7d628d7fbed49fe24267
>  100755
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -1952,7 +1952,7 @@ DEFINE GCC_RISCV64_RC_FLAGS        = -I binary -O 
> elf64-littleriscv   -B riscv
>  # GCC Build Flag for included header file list generation
>  DEFINE GCC_DEPS_FLAGS              = -MMD -MF $@.deps
>  
> -DEFINE GCC48_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin 
> -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections 
> -fdata-sections -include AutoGen.h -fno-common 
> -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
> +DEFINE GCC48_ALL_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) 
> -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
>  DEFINE GCC48_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z 
> common-page-size=0x20
>  DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 
> -march=i586 -malign-double -fno-stack-protector -D EFI32 
> -fno-asynchronous-unwind-tables -Wno-address
>  DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 
> -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" 
> -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie 
> -fno-asynchronous-unwind-tables -Wno-address
> --
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
> 
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#63470): https://edk2.groups.io/g/devel/message/63470
Mute This Topic: https://groups.io/mt/75351533/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to