From: Jörg Krause Date: Wed, 21 Sep 2016 20:21:07 +0000 (+0200) Subject: package/libxslt: fix bfin compile X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3d0ade55428a47a52656eec965dd7b8a81894073;p=buildroot.git package/libxslt: fix bfin compile Fixes: http://autobuild.buildroot.org/results/df4/df4bf247c92847024dff88ce58a5f47343f06258/ http://autobuild.buildroot.org/results/b33/b33f34dc23f7429928d7d0b1478e71d8e7fffed2/ http://autobuild.buildroot.org/results/cad/cad02570ec039511b9495e82d98439e9f0724b37/ And many more. A GCC bug is triggered when the compiler is run with an optimization level '-Os/-O2/-O3' for the Blackfin architecture: ``` error: unable to find a register to spill in class 'CCREGS' ``` Workaround this bug by forcing an optimization level of '-O1' when building libxslt for the Blackfin architecture. See GCC bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77311 [Peter: add reference to autobuilders failures] Signed-off-by: Jörg Krause Signed-off-by: Peter Korsgaard --- diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index 868ba6a10f..d89dde8d00 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -19,6 +19,12 @@ LIBXSLT_CONF_OPTS = \ LIBXSLT_CONFIG_SCRIPTS = xslt-config LIBXSLT_DEPENDENCIES = libxml2 +# GCC bug with Os/O2/O3, PR77311 +# error: unable to find a register to spill in class 'CCREGS' +ifeq ($(BR2_bfin),y) +LIBXSLT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O1" +endif + # If we have enabled libgcrypt then use it, else disable crypto support. ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) LIBXSLT_DEPENDENCIES += libgcrypt