crossgcc: Improve compatibility of the toolchain across host systems

crossgcc builds gmp, whose build system normally optimises for the hardware
it's built on. That may give a minor performance boost but has the downside
that the compiler becomes non-portable and may break on other systems due to
illegal instructions.

Setting CFLAGS to some reasonable value prevents gmp's configure script from
choosing CPU specific -mtune flags (which may enable optimizations that only
run on CPUs with the same feature set).
Enabling "fat" builds make the build system add all optimized assembler
routines and makes the selection of the right one a runtime decision instead
of deciding at compile time.

Change-Id: I72d20627270baa082cd02ebb4c9a09cd23f30f8c
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/10412
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Patrick Georgi 2015-06-04 00:09:12 +02:00 committed by Stefan Reinauer
parent 580e7223bb
commit 31bf37eb32
1 changed files with 3 additions and 3 deletions

View File

@ -22,8 +22,8 @@
cd `dirname $0` cd `dirname $0`
CROSSGCC_DATE="March 8th, 2015" CROSSGCC_DATE="June 3th, 2015"
CROSSGCC_VERSION="1.27" CROSSGCC_VERSION="1.28"
# default settings # default settings
TARGETDIR=`pwd`/xgcc TARGETDIR=`pwd`/xgcc
@ -418,7 +418,7 @@ printf "Building GMP ${GMP_VERSION} ... "
( (
cd ${BUILDDIRPREFIX}-gmp cd ${BUILDDIRPREFIX}-gmp
rm -f .failed rm -f .failed
CC="$CC" ../${GMP_DIR}/configure --disable-shared --prefix=$TARGETDIR $OPTIONS \ CC="$CC" CFLAGS="-Os" ../${GMP_DIR}/configure --disable-shared --enable-fat --prefix=$TARGETDIR $OPTIONS \
|| touch .failed || touch .failed
$MAKE $JOBS || touch .failed $MAKE $JOBS || touch .failed
$MAKE install DESTDIR=$DESTDIR || touch .failed $MAKE install DESTDIR=$DESTDIR || touch .failed