From 6d92fd5d6864c98270313e8cf06caa48b7c9ef62 Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Mon, 21 Jul 2014 15:20:28 -0700 Subject: wireshark: fix build for arm * Backported Arm build fix Signed-off-by: Armin Kuster Signed-off-by: Martin Jansa --- .../wireshark/va_list-can-t-be-NULL-on-ARM.patch | 99 ++++++++++++++++++++++ .../wireshark/wireshark_1.12.0-rc2.bb | 4 +- 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 meta-networking/recipes-support/wireshark/wireshark/va_list-can-t-be-NULL-on-ARM.patch (limited to 'meta-networking/recipes-support/wireshark') diff --git a/meta-networking/recipes-support/wireshark/wireshark/va_list-can-t-be-NULL-on-ARM.patch b/meta-networking/recipes-support/wireshark/wireshark/va_list-can-t-be-NULL-on-ARM.patch new file mode 100644 index 000000000..26a004cc3 --- /dev/null +++ b/meta-networking/recipes-support/wireshark/wireshark/va_list-can-t-be-NULL-on-ARM.patch @@ -0,0 +1,99 @@ +From 320c4f0d705a3ed94f710fb4b7b3eef897ff7bc4 Mon Sep 17 00:00:00 2001 +From: Steev Klimaszewski +Date: Thu, 19 Jun 2014 16:54:57 -0500 +Subject: [PATCH] va_list can't be NULL on ARM. + +Bug: 10209 +Change-Id: Ibd63a530450b7d2d4ec244e91c77caa731ba63aa +Signed-off-by: Steev Klimaszewski +Signed-off-by: Balint Reczey +Reviewed-on: https://code.wireshark.org/review/2464 +Reviewed-by: Evan Huus +Reviewed-by: Michael Mann + +Upstream-Status: Backport +The patch was imported from the wireshark git server + (https://code.wireshark.org/review/p/wireshark.git) as of commit id + 320c4f0d705a3ed94f710fb4b7b3eef897ff7bc4. + +Signed-off-by: Armin Kuster + +--- + epan/expert.c | 36 +++++++++++++++++++++++++++++------- + 1 file changed, 29 insertions(+), 7 deletions(-) + +diff --git a/epan/expert.c b/epan/expert.c +index 46be838..a69566d 100644 +--- a/epan/expert.c ++++ b/epan/expert.c +@@ -381,15 +381,26 @@ expert_set_info_vformat(packet_info *pinfo, proto_item *pi, int group, int sever + tap_queue_packet(expert_tap, pinfo, ei); + } + +-void +-expert_add_info(packet_info *pinfo, proto_item *pi, expert_field *expindex) ++/* Helper function for expert_add_info() to work around compiler's special needs on ARM*/ ++static inline void ++expert_add_info_internal(packet_info *pinfo, proto_item *pi, expert_field *expindex, ...) + { ++ /* the va_list is ignored */ ++ va_list unused; + expert_field_info* eiinfo; + + /* Look up the item */ + EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); + +- expert_set_info_vformat(pinfo, pi, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, NULL); ++ va_start(unused, expindex); ++ expert_set_info_vformat(pinfo, pi, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, unused); ++ va_end(unused); ++} ++ ++void ++expert_add_info(packet_info *pinfo, proto_item *pi, expert_field *expindex) ++{ ++ expert_add_info_internal(pinfo, pi, expindex); + } + + void +@@ -406,22 +417,33 @@ expert_add_info_format(packet_info *pinfo, proto_item *pi, expert_field *expinde + va_end(ap); + } + +-proto_item * +-proto_tree_add_expert(proto_tree *tree, packet_info *pinfo, expert_field* expindex, +- tvbuff_t *tvb, gint start, gint length) ++/* Helper function for expert_add_expert() to work around compiler's special needs on ARM*/ ++static inline proto_item * ++proto_tree_add_expert_internal(proto_tree *tree, packet_info *pinfo, expert_field* expindex, ++ tvbuff_t *tvb, gint start, gint length, ...) + { + expert_field_info* eiinfo; + proto_item *ti; ++ va_list unused; + + /* Look up the item */ + EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); + + ti = proto_tree_add_text(tree, tvb, start, length, "%s", eiinfo->summary); +- expert_set_info_vformat(pinfo, ti, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, NULL); ++ va_start(unused, length); ++ expert_set_info_vformat(pinfo, ti, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, unused); ++ va_end(unused); + return ti; + } + + proto_item * ++proto_tree_add_expert(proto_tree *tree, packet_info *pinfo, expert_field* expindex, ++ tvbuff_t *tvb, gint start, gint length) ++{ ++ return proto_tree_add_expert_internal(tree, pinfo, expindex, tvb, start, length); ++} ++ ++proto_item * + proto_tree_add_expert_format(proto_tree *tree, packet_info *pinfo, expert_field* expindex, + tvbuff_t *tvb, gint start, gint length, const char *format, ...) + { +-- +1.9.1 + diff --git a/meta-networking/recipes-support/wireshark/wireshark_1.12.0-rc2.bb b/meta-networking/recipes-support/wireshark/wireshark_1.12.0-rc2.bb index 554223124..3b9122f80 100644 --- a/meta-networking/recipes-support/wireshark/wireshark_1.12.0-rc2.bb +++ b/meta-networking/recipes-support/wireshark/wireshark_1.12.0-rc2.bb @@ -26,7 +26,9 @@ PACKAGECONFIG[gcrypt] = "--with-gcrypt=yes, --with-gcrypt=no, libgcrypt" EXTRA_OECONF = "--with-qt=no --enable-usr-local=no -enable-tshark" LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0" -SRC_URI = "http://wiresharkdownloads.riverbed.com/wireshark/src/wireshark-1.12.0-rc2.tar.bz2 " +SRC_URI = "http://wiresharkdownloads.riverbed.com/wireshark/src/wireshark-1.12.0-rc2.tar.bz2 \ + file://va_list-can-t-be-NULL-on-ARM.patch \ +" SRC_URI[md5sum] = "dc1149073066a29f91116c168558262e" SRC_URI[sha256sum]= "31009bb450126e9b12808267419f31016d14e6fde7b5e39c85ad37459908cffb" -- cgit v1.2.3-54-g00ecf