aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Draszik <adraszik@tycoint.com>2017-10-06 13:24:08 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-11-05 22:39:23 +0000
commit9b0cb8149ce82c0e6fa3054b54d35e9bf1353bf0 (patch)
tree32e5606415a9a193e5865e6d50236e705e7c6731
parentb1843e60ebe534243b49f3685540fa5ea49d5f35 (diff)
downloadopenembedded-core-9b0cb8149ce82c0e6fa3054b54d35e9bf1353bf0.zip
openembedded-core-9b0cb8149ce82c0e6fa3054b54d35e9bf1353bf0.tar.gz
openembedded-core-9b0cb8149ce82c0e6fa3054b54d35e9bf1353bf0.tar.bz2
json-c: backport patch to fix gcc7 compilation
(The native version might be being built using gcc-7) We can't cherry-pick a commit from master, as master has upgraded json-c at the same time as applying this patch, see commit ccf630e78aad ("json-c: Upgrade to 0.12.1 release") Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch77
-rw-r--r--meta/recipes-devtools/json-c/json-c_0.12.bb1
2 files changed, 78 insertions, 0 deletions
diff --git a/meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch b/meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch
new file mode 100644
index 0000000..df3b600
--- /dev/null
+++ b/meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch
@@ -0,0 +1,77 @@
+From 9522ac8e5d5b20a472f3ffc356d388d36f7f582c Mon Sep 17 00:00:00 2001
+From: marxin <mliska@suse.cz>
+Date: Tue, 21 Mar 2017 08:42:11 +0100
+Subject: [PATCH] Add FALLTHRU comment to handle GCC7 warnings.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+Upstream-Status: Backport [https://github.com/json-c/json-c/commit/014924ba899f659917bb64392bbff7d3c803afc2]
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+
+ json_object.c | 1 +
+ json_tokener.c | 1 +
+ linkhash.c | 22 +++++++++++-----------
+ 3 files changed, 13 insertions(+), 11 deletions(-)
+
+diff --git a/json_object.c b/json_object.c
+index 6cc73bc..77e8b21 100644
+--- a/json_object.c
++++ b/json_object.c
+@@ -552,6 +552,7 @@ int64_t json_object_get_int64(struct json_object *jso)
+ return jso->o.c_boolean;
+ case json_type_string:
+ if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
++ /* FALLTHRU */
+ default:
+ return 0;
+ }
+diff --git a/json_tokener.c b/json_tokener.c
+index 7fa32ae..b32d657 100644
+--- a/json_tokener.c
++++ b/json_tokener.c
+@@ -306,6 +306,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
+ tok->err = json_tokener_error_parse_unexpected;
+ goto out;
+ }
++ /* FALLTHRU */
+ case '"':
+ state = json_tokener_state_string;
+ printbuf_reset(tok->pb);
+diff --git a/linkhash.c b/linkhash.c
+index 712c387..74e3b0f 100644
+--- a/linkhash.c
++++ b/linkhash.c
+@@ -376,17 +376,17 @@ static uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
+ /*-------------------------------- last block: affect all 32 bits of (c) */
+ switch(length) /* all the case statements fall through */
+ {
+- case 12: c+=((uint32_t)k[11])<<24;
+- case 11: c+=((uint32_t)k[10])<<16;
+- case 10: c+=((uint32_t)k[9])<<8;
+- case 9 : c+=k[8];
+- case 8 : b+=((uint32_t)k[7])<<24;
+- case 7 : b+=((uint32_t)k[6])<<16;
+- case 6 : b+=((uint32_t)k[5])<<8;
+- case 5 : b+=k[4];
+- case 4 : a+=((uint32_t)k[3])<<24;
+- case 3 : a+=((uint32_t)k[2])<<16;
+- case 2 : a+=((uint32_t)k[1])<<8;
++ case 12: c+=((uint32_t)k[11])<<24; /* FALLTHRU */
++ case 11: c+=((uint32_t)k[10])<<16; /* FALLTHRU */
++ case 10: c+=((uint32_t)k[9])<<8; /* FALLTHRU */
++ case 9 : c+=k[8]; /* FALLTHRU */
++ case 8 : b+=((uint32_t)k[7])<<24; /* FALLTHRU */
++ case 7 : b+=((uint32_t)k[6])<<16; /* FALLTHRU */
++ case 6 : b+=((uint32_t)k[5])<<8; /* FALLTHRU */
++ case 5 : b+=k[4]; /* FALLTHRU */
++ case 4 : a+=((uint32_t)k[3])<<24; /* FALLTHRU */
++ case 3 : a+=((uint32_t)k[2])<<16; /* FALLTHRU */
++ case 2 : a+=((uint32_t)k[1])<<8; /* FALLTHRU */
+ case 1 : a+=k[0];
+ break;
+ case 0 : return c;
+--
+2.14.1
+
diff --git a/meta/recipes-devtools/json-c/json-c_0.12.bb b/meta/recipes-devtools/json-c/json-c_0.12.bb
index a15455c..072c092 100644
--- a/meta/recipes-devtools/json-c/json-c_0.12.bb
+++ b/meta/recipes-devtools/json-c/json-c_0.12.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
file://0001-json_tokener-requires-INF-and-NAN.patch \
file://0001-Link-against-libm-when-needed.patch \
+ file://0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch \
"
SRC_URI[md5sum] = "3ca4bbb881dfc4017e8021b5e0a8c491"