]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commitdiff
jq: compile as _GNU_SOURCE to fix segfault when compiled with gcc 6
authorThomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Mon, 19 Feb 2018 15:57:34 +0000 (16:57 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 10 Apr 2018 19:46:50 +0000 (21:46 +0200)
When compiling host-jq with gcc 6+, running it gives an immediate segfault.
Reported upstream: https://github.com/stedolan/jq/issues/1598

The issue can be solved by compiling with _GNU_SOURCE as extra preprocessor
define. Once the issue is solved upstream, this change can be reverted.

As the issue will normally be the same for target, apply the same fix there.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 21114013e83a67fd6b84e1d911ee503be3f0e35d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/jq/jq.mk

index 9a094ba9a0b87875b320ce262a6ca9f67a80d5f1..659b8dc84640e61d8fdac9887a2982b0ac9c0c93 100644 (file)
@@ -10,8 +10,10 @@ JQ_LICENSE = MIT (code), CC-BY-3.0 (documentation)
 JQ_LICENSE_FILES = COPYING
 
 # uses c99 specific features
-JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99"
-HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99"
+# _GNU_SOURCE added to fix gcc6+ host compilation
+# (https://github.com/stedolan/jq/issues/1598)
+JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99 -D_GNU_SOURCE"
+HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99 -D_GNU_SOURCE"
 
 # jq explicitly enables maintainer mode, which we don't need/want
 JQ_CONF_OPTS += --disable-maintainer-mode