Skip to contentSkip to conversation

zmqpp: fix build with or1k and gcc < 6

PATCH New Fabrice Fontaine 2 participants 2 messages May 5, 2018 – May 20, 2018

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 zmqpp: fix build with or1k and gcc < 6

Use CONFIG variable to disable optimizations when or1k and gcc < 6 are detected otherwise set CONFIG to release or debug depending on BR2_ENABLE_DEBUG

Fixes:
- http://autobuild.buildroot.net/results/523e58eefba7ef23a09ef53160da22190ccbb098

---
Changes v1 -> v2:
- Enhance patch by setting CONFIG to debug if BR2_ENABLE_DEBUG is set

 package/zmqpp/zmqpp.mk | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
package/zmqpp/zmqpp.mk +10 -1
index f576527463..e57f7de4ea 100644
@@ -12,6 +12,15 @@ ZMQPP_LICENSE = MPL-2.0
 ZMQPP_LICENSE_FILES = LICENSE
 ZMQPP_MAKE_OPTS = LD="$(TARGET_CXX)" BUILD_PATH=./build PREFIX=/usr
 ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread
+ZMQPP_CONFIG = $(if $(BR2_ENABLE_DEBUG),debug,release)
+
+# gcc bug internal compiler error: in merge_overlapping_regs, at
+# regrename.c:304. This bug is fixed since gcc 6.
+# By setting CONFIG to empty, all optimizations such as -funroll-loops
+# -ffast-math -finline-functions -fomit-frame-pointer are disabled
+ifeq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:)
+ZMQPP_CONFIG =
+endif
 
 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
 ZMQPP_LDFLAGS += -latomic
@@ -31,7 +40,7 @@ endif
 
 define ZMQPP_BUILD_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
-		LDFLAGS="$(ZMQPP_LDFLAGS)" \
+		CONFIG=$(ZMQPP_CONFIG) LDFLAGS="$(ZMQPP_LDFLAGS)" \
 		$(ZMQPP_MAKE_OPTS) $(if $(BR2_PACKAGE_ZMQPP_CLIENT),client,library) -C $(@D)
 endef
 
Signature · 1 line
2.14.1
#1 lore raw

PATCH v2 1/1 zmqpp: fix build with or1k and gcc < 6

Hello,

Quoted 11 lines · Fabrice Fontaine

Use CONFIG variable to disable optimizations when or1k and gcc < 6 are detected otherwise set CONFIG to release or debug depending on BR2_ENABLE_DEBUG

Fixes:
- http://autobuild.buildroot.net/results/523e58eefba7ef23a09ef53160da22190ccbb098

---
Changes v1 -> v2:
- Enhance patch by setting CONFIG to debug if BR2_ENABLE_DEBUG is set

Applied to master, thanks.

Thomas

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