diff mbox

package/libxslt: fix bfin compile

Message ID 20160921202107.32301-1-joerg.krause@embedded.rocks
State Accepted
Commit 3d0ade55428a47a52656eec965dd7b8a81894073
Headers show

Commit Message

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

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

Comments

Peter Korsgaard Sept. 21, 2016, 8:32 p.m. UTC | #1
>>>>> "Jörg" == Jörg Krause <joerg.krause@embedded.rocks> writes:

 > 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

 > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>

Committed after adding references to the autobuilder failures, thanks.
Jörg Krause Sept. 21, 2016, 8:35 p.m. UTC | #2
On Mi, 2016-09-21 at 22:32 +0200, Peter Korsgaard wrote:
> > 
> > > 
> > > > 
> > > > > 
> > > > > > 
> > > > > > "Jörg" == Jörg Krause <joerg.krause@embedded.rocks> writes:
> 
>  > 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
> 
>  > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
> 
> Committed after adding references to the autobuilder failures,
> thanks.

Oh, I did it in v2, too. Thanks!
Peter Korsgaard Sept. 21, 2016, 8:41 p.m. UTC | #3
>>>>> "Jörg" == Jörg Krause <joerg.krause@embedded.rocks> writes:

Hi,

 >> Committed after adding references to the autobuilder failures,
 >> thanks.

 > Oh, I did it in v2, too. Thanks!

Sorry, I hadn't noticed your v2 yet.
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