aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-10-08 22:30:44 +0200
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-10-08 22:30:44 +0200
commitca145f2e25e5aab86ff468cfcb409db7aa738be9 (patch)
tree893f6dc5dff417e17ec7d3da85c0bd3adeed86f7
parent4bc02cee690a3886229082a6595902e90b95a1ee (diff)
Fix build of json-c on newer hostsdab
Newer hosts with gcc >= 7.1 might fail to compile json-c. Fix by backporting patchset. Change-Id: Ic089a30d2ad1096ac3b1ef86f842eeab4460cfe1 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
-rw-r--r--meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch100
-rw-r--r--meta-agl-bsp/meta-core/recipes-devtools/json-c/json-c_0.12.bbappend4
2 files changed, 104 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch b/meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch
new file mode 100644
index 000000000..fb130f2f1
--- /dev/null
+++ b/meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch
@@ -0,0 +1,100 @@
+From 14edbe3c04101a2f967862ccf162f725235f627f 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.
+
+---
+ json_object.c | 30 +++++++++++++++++-------------
+ json_tokener.c | 1 +
+ linkhash.c | 22 +++++++++++-----------
+ 3 files changed, 29 insertions(+), 24 deletions(-)
+
+diff --git a/json_object.c b/json_object.c
+index 6cc73bc..e271083 100644
+--- a/json_object.c
++++ b/json_object.c
+@@ -542,19 +542,23 @@ int64_t json_object_get_int64(struct json_object *jso)
+ {
+ int64_t cint;
+
+- if(!jso) return 0;
+- switch(jso->o_type) {
+- case json_type_int:
+- return jso->o.c_int64;
+- case json_type_double:
+- return (int64_t)jso->o.c_double;
+- case json_type_boolean:
+- return jso->o.c_boolean;
+- case json_type_string:
+- if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
+- default:
+- return 0;
+- }
++ if (!jso)
++ return 0;
++ switch(jso->o_type)
++ {
++ case json_type_int:
++ return jso->o.c_int64;
++ case json_type_double:
++ return (int64_t)jso->o.c_double;
++ case json_type_boolean:
++ 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 19de8ef..fbb5d68 100644
+--- a/json_tokener.c
++++ b/json_tokener.c
+@@ -305,6 +305,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.16.4
+
diff --git a/meta-agl-bsp/meta-core/recipes-devtools/json-c/json-c_0.12.bbappend b/meta-agl-bsp/meta-core/recipes-devtools/json-c/json-c_0.12.bbappend
new file mode 100644
index 000000000..29bd0226f
--- /dev/null
+++ b/meta-agl-bsp/meta-core/recipes-devtools/json-c/json-c_0.12.bbappend
@@ -0,0 +1,4 @@
+
+FILESEXTRAPATHS_append := ":${THISDIR}/files"
+
+SRC_URI_append = " file://0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch" \ No newline at end of file