diff mbox

[v2] package/libxslt: fix bfin compile

Message ID 20160921202533.382-1-joerg.krause@embedded.rocks
State Superseded
Headers show

Commit Message

Jörg Krause Sept. 21, 2016, 8:25 p.m. UTC
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

Fixes:
http://autobuild.buildroot.net/results/907/907f906fd24d6a70a2a704cefb70219b3d0c06d8/
http://autobuild.buildroot.net/results/e4c/e4cccff0f46900008c84fa7610482486e1df5aff/
http://autobuild.buildroot.net/results/16a/16ac477d06bdf032afd8a7e151f7b31b31bfbf97/
http://autobuild.buildroot.net/results/fbd/fbd294a4dadf2d3b11fb44967cd90903b32d1811/

.. and more.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
v2:
 - add autobuild fixes
---
 package/libxslt/libxslt.mk | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox

Patch

diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk
index 868ba6a..4253a60 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