Paul Kocialkowski (contact@paulk.fr) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15452
-gerrit
commit 2c90672c66cc115c846c09f5f8bd9192fd992165 Author: Paul Kocialkowski contact@paulk.fr Date: Fri Jun 17 21:41:00 2016 -0700
buildgcc: Never set GMP CFLAGS manually in order to get the right flags
When no CFLAGS are explicitly provided to it, the GMP configure script will figure out the best optimization flags to use on its own. In particular, it will setup the march, mfpu and mtune flags based on hardware detection.
However, when CFLAGS are provided, they are used as-is and such detection doesn't happen. When the march, mfpu and mtune flags are not provided (which happens when GMP wasn't built already), not only will related optimizations be disabled, but some code might not build because of missing support. This happens with NEON instructions on ARMv7 hosts.
Thus, it is better not to set CFLAGS and leave it up to the GMP configure script to get them right and still reuse those later.
Change-Id: I6ffcbac1298523d1b8ddf29a8bca1b00298828a7 Signed-off-by: Paul Kocialkowski contact@paulk.fr --- util/crossgcc/buildgcc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index 1e761da..a4d83f0 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -416,8 +416,7 @@ set_hostcflags_from_gmp() { }
build_GMP() { - CC="$CC" CFLAGS="$HOSTCFLAGS" \ - ../${GMP_DIR}/configure --disable-shared --enable-fat \ + CC="$CC" ../${GMP_DIR}/configure --disable-shared --enable-fat \ --prefix=$TARGETDIR $OPTIONS \ || touch .failed $MAKE $JOBS || touch .failed