Skip to contentSkip to conversation

qt: fix build on powerpc_e500mc

PATCH New Fabrice Fontaine 3 participants 5 messages Aug 30, 2018 – Sep 27, 2018

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 qt: fix build on powerpc_e500mc

gcc bug internal compiler error: in validate_condition_mode, at config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. Workaround is to set -mno-isel, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html

This bug is also raised on BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500.

Fixes:
- http://autobuild.buildroot.net/results/9b9d11b3281a72c8f54fc675408acb96d24d8e7e

---
Changes v1 -> v2 (after review of Thomas Petazzoni):
- apply workaround for BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500
- There is no build failure with gcc 7.x toolchain so replace BR2_TOOLCHAIN_GCC_AT_LEAST_8 by BR2_TOOLCHAIN_GCC_AT_LEAST_7

 package/qt/qt.mk | 9 +++++++++
 1 file changed, 9 insertions(+)
package/qt/qt.mk +9 -0
index 1dcb05d6af..921ff13d29 100644
@@ -32,6 +32,15 @@ QT_LDFLAGS = $(TARGET_LDFLAGS)
 # use an older c++ standard to prevent build failure
 QT_CXXFLAGS += -std=gnu++98
 
+# gcc bug internal compiler error: in validate_condition_mode, at
+# config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7.
+# Workaround is to set -mno-isel, see
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and
+# https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html
+ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc)$(BR2_powerpc_e5500):$(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y:)
+QT_CXXFLAGS += -mno-isel
+endif
+
 # Qt has some assembly function that are not present in thumb1 mode:
 # Error: selected processor does not support Thumb mode `swp r3,r7,[r4]'
 # so, we desactivate thumb mode
Signature · 1 line
2.14.1
#1 lore raw

PATCH v2 1/1 qt: fix build on powerpc_e500mc

Hello Fabrice,

Thanks for this new iteration!

Quoted 8 lines · Fabrice Fontaine

gcc bug internal compiler error: in validate_condition_mode, at config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. Workaround is to set -mno-isel, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html

This bug is also raised on BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500.

Just curious, how did you figure out that list of affected platforms ?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH v2 1/1 qt: fix build on powerpc_e500mc

Dear Thomas,

Le ven. 31 ao?t 2018 ? 10:10, Thomas Petazzoni <[email protected]> a ?crit :

Quoted 11 lines

Hello Fabrice,

Thanks for this new iteration!

Quoted 6 lines · Fabrice Fontaine

gcc bug internal compiler error: in validate_condition_mode, at config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. Workaround is to set -mno-isel, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html

Quoted 5 lines
Quoted 2 lines

This bug is also raised on BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500.

Just curious, how did you figure out that list of affected platforms ?

As mentioned in your last email, the link was giving this list:
Target: e500v2 (I was able to reproduce with e500mc, e5500 targets as well).

So I tested these additional architectures and I confirm that they're affected by this bug.
I also checked e500v1 (8540) and it failed.
There was no issue with e6500 so I think the bug is only affecting e5xxx but I haven't tested all the powerpc architectures.

Quoted 5 lines

Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Best Regards,

Fabrice
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180831/ae3ed4bc/attachment.html>

#3 lore raw

PATCH v2 1/1 qt: fix build on powerpc_e500mc

In reply to Fabrice Fontaine

Hello,

Quoted 12 lines · Fabrice Fontaine

gcc bug internal compiler error: in validate_condition_mode, at config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. Workaround is to set -mno-isel, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html

This bug is also raised on BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500.

Fixes:
- http://autobuild.buildroot.net/results/9b9d11b3281a72c8f54fc675408acb96d24d8e7e

Quoted 7 lines

---
Changes v1 -> v2 (after review of Thomas Petazzoni):
- apply workaround for BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500
- There is no build failure with gcc 7.x toolchain so replace BR2_TOOLCHAIN_GCC_AT_LEAST_8 by BR2_TOOLCHAIN_GCC_AT_LEAST_7

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#4 lore raw

PATCH v2 1/1 qt: fix build on powerpc_e500mc

In reply to Fabrice Fontaine
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Fabrice" == Fabrice Fontaine <[email protected]> writes:

gcc bug internal compiler error: in validate_condition_mode, at config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. Workaround is to set -mno-isel, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html

This bug is also raised on BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500.

Fixes:
- http://autobuild.buildroot.net/results/9b9d11b3281a72c8f54fc675408acb96d24d8e7e

Quoted 7 lines

---
Changes v1 -> v2 (after review of Thomas Petazzoni):
- apply workaround for BR2_powerpc_8540, BR2_powerpc_8548 and BR2_powerpc_e5500
- There is no build failure with gcc 7.x toolchain so replace BR2_TOOLCHAIN_GCC_AT_LEAST_8 by BR2_TOOLCHAIN_GCC_AT_LEAST_7

Committed to 2018.02.x and 2018.05.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard