diff options
author | Nico Huber <nico.h@gmx.de> | 2020-03-18 15:40:58 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-03-20 09:33:35 +0000 |
commit | 260ba6b25e6a5611b7ba3b581d343a35fb7bbbff (patch) | |
tree | b84d3055add723fbba7f3c21b082bc82c38d197a | |
parent | 34473ea6c9ee63de46b04b46cc47ef4aa5bae2b7 (diff) |
util/xcompile: Split $CFLAGS_GCC
Split common flags that are not specific to the C language out of
$CFLAGS_GCC into $FLAGS_GCC. This way, we can test for C specific
flags, too, without adding them to $ADAFLAGS_*. Currently this is
done for `-Wno-address-of-packed-member` which only applies to C.
Change-Id: Ib793c62656efb07b6e5b3385f1ed1c96a40efd1d
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/39633
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rwxr-xr-x | util/xcompile/xcompile | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile index 3203d71899..18e08a0659 100755 --- a/util/xcompile/xcompile +++ b/util/xcompile/xcompile @@ -148,11 +148,11 @@ testas() { [ "$obj_arch" = "$full_arch" ] || return 1 unset ASFLAGS LDFLAGS - unset CFLAGS_GCC CFLAGS_CLANG + unset FLAGS_GCC CFLAGS_GCC CFLAGS_CLANG if [ -n "$use_dash_twidth" ]; then ASFLAGS="--$twidth" - CFLAGS_GCC="-m$twidth" + FLAGS_GCC="-m$twidth" CFLAGS_CLANG="-m$twidth" LDFLAGS="-b $full_arch" @@ -162,7 +162,7 @@ testas() { [ -n "$use_dash_twidth" ] && case "$full_arch" in "elf32-i386" ) LDFLAGS="$LDFLAGS -melf_i386" - CFLAGS_GCC="$CFLAGS_GCC -Wl,-b,elf32-i386 -Wl,-melf_i386" + FLAGS_GCC="$FLAGS_GCC -Wl,-b,elf32-i386 -Wl,-melf_i386" CFLAGS_CLANG="$CFLAGS_CLANG -Wl,-b,elf32-i386 -Wl,-melf_i386" ;; esac @@ -173,19 +173,19 @@ testas() { detect_special_flags() { local architecture="$1" # Check for an operational -m32/-m64 - testcc "$GCC" "$CFLAGS_GCC -m$TWIDTH " && - CFLAGS_GCC="$CFLAGS_GCC -m$TWIDTH " + testcc "$GCC" "$FLAGS_GCC -m$TWIDTH " && + FLAGS_GCC="$FLAGS_GCC -m$TWIDTH " # Use bfd linker instead of gold if available: - testcc "$GCC" "$CFLAGS_GCC -fuse-ld=bfd" && - CFLAGS_GCC="$CFLAGS_GCC -fuse-ld=bfd" && LINKER_SUFFIX='.bfd' + testcc "$GCC" "$FLAGS_GCC -fuse-ld=bfd" && + FLAGS_GCC="$FLAGS_GCC -fuse-ld=bfd" && LINKER_SUFFIX='.bfd' - testcc "$GCC" "$CFLAGS_GCC -fno-stack-protector" && - CFLAGS_GCC="$CFLAGS_GCC -fno-stack-protector" - testcc "$GCC" "$CFLAGS_GCC -Wl,--build-id=none" && - CFLAGS_GCC="$CFLAGS_GCC -Wl,--build-id=none" + testcc "$GCC" "$FLAGS_GCC -fno-stack-protector" && + FLAGS_GCC="$FLAGS_GCC -fno-stack-protector" + testcc "$GCC" "$FLAGS_GCC -Wl,--build-id=none" && + FLAGS_GCC="$FLAGS_GCC -Wl,--build-id=none" - testcc "$GCC" "$CFLAGS_GCC -Wno-address-of-packed-member" && + testcc "$GCC" "$CFLAGS_GCC -Wno-address-of-packed-member $FLAGS_GCC" && CFLAGS_GCC="$CFLAGS_GCC -Wno-address-of-packed-member" case "$architecture" in x86) @@ -193,7 +193,7 @@ detect_special_flags() { x64) ;; arm64) - testld "$GCC" "$CFLAGS_GCC" "${GCCPREFIX}ld${LINKER_SUFFIX}" \ + testld "$GCC" "$FLAGS_GCC" "${GCCPREFIX}ld${LINKER_SUFFIX}" \ "$LDFLAGS --fix-cortex-a53-843419" && \ LDFLAGS_ARM64_A53_ERRATUM_843419+=" --fix-cortex-a53-843419" ;; @@ -202,7 +202,7 @@ detect_special_flags() { detect_compiler_runtime() { test -z "$GCC" || \ - CC_RT_GCC="$(${GCC} ${CFLAGS_GCC} -print-libgcc-file-name)" + CC_RT_GCC="$(${GCC} ${CFLAGS_GCC} ${FLAGS_GCC} -print-libgcc-file-name)" if [ ${CLANG_RUNTIME} = "libgcc" ]; then CC_RT_CLANG=${CC_RT_GCC} else @@ -219,10 +219,10 @@ SUBARCH_SUPPORTED+=${TSUPP-${TARCH}} # GCC GCC_CC_${TARCH}:=${GCC} -GCC_CFLAGS_${TARCH}:=${CFLAGS_GCC} +GCC_CFLAGS_${TARCH}:=${CFLAGS_GCC} ${FLAGS_GCC} # Generally available for GCC's cc1: GCC_CFLAGS_${TARCH}+=-fno-delete-null-pointer-checks -Wlogical-op -GCC_ADAFLAGS_${TARCH}:=${CFLAGS_GCC} +GCC_ADAFLAGS_${TARCH}:=${FLAGS_GCC} GCC_COMPILER_RT_${TARCH}:=${CC_RT_GCC} GCC_COMPILER_RT_FLAGS_${TARCH}:=${CC_RT_EXTRA_GCC} @@ -425,7 +425,7 @@ test_architecture() { "" "$endian" || testas "$gccprefix" "$TWIDTH" "$TBFDARCH" \ "TRUE" "$endian" ; } && \ - testcc "${gccprefix}gcc" "$CFLAGS_GCC" && \ + testcc "${gccprefix}gcc" "$CFLAGS_GCC" "$FLAGS_GCC" && \ GCCPREFIX="$gccprefix" && \ break 3 done |