package/guile: disable jit on ARM with gcc < 5
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 7 Nov 2020 16:01:22 +0000 (17:01 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 9 Nov 2020 16:02:48 +0000 (17:02 +0100)
jit is enabled by default since version 3.0.0 on x86-64, i686, ARMv7 and
AArch64 targets however it raises the following build failure on ARM
with gcc 4.8:

jit.c:232:1: error: initializer element is not constant
 static const jit_gpr_t THREAD = JIT_V0;
 ^

This build failure was also reported with ARM on gcc 4.9:
https://www.mail-archive.com/guile-user@gnu.org/msg11497.html

So just disable jit with ARM and gcc < 5

Fixes:
 - http://autobuild.buildroot.org/results/ba051bb00a6cad3cfd5ffeb197de20ea0eaef33e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/guile/guile.mk

index 5750b85f49c6f4ffdba54a99a51e67ba8ee347c4..f1623008c8e52397088d8052d004de68208ff472 100644 (file)
@@ -38,6 +38,11 @@ ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy)
 GUILE_CFLAGS += -O2
 endif
 
+# jit triggers build failures on ARM and gcc < 5
+ifeq ($(BR2_arm):$(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y:)
+GUILE_CONF_OPTS += --disable-jit
+endif
+
 # It can use readline, but on the condition that it was build against
 # ncurses. If both aren't present disable readline support since the
 # host readline/ncurses support can poison the build.