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>
Mon, 19 Feb 2018 18:00:49 +0000 (19:00 +0100)
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>
package/jq/jq.mk

index aecdba22802536988ef2a537b11d2cbafb29e69c..79629faa5e3abfd6a80355b0856f6c45989ba43d 100644 (file)
@@ -11,8 +11,10 @@ JQ_LICENSE_FILES = COPYING
 JQ_INSTALL_STAGING = YES
 
 # 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