aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking
diff options
context:
space:
mode:
authorArmin Kuster <akuster@mvista.com>2014-07-21 15:20:28 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2014-08-01 14:23:45 +0200
commit6d92fd5d6864c98270313e8cf06caa48b7c9ef62 (patch)
tree8092f4097c7539c92878ec8e49e2c6abd85ea3ce /meta-networking
parent9bfdcec4087ab5fd19dc054f2084c83c5883d010 (diff)
downloadmeta-openembedded-contrib-6d92fd5d6864c98270313e8cf06caa48b7c9ef62.tar.gz
wireshark: fix build for arm
* Backported Arm build fix Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-networking')
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark/va_list-can-t-be-NULL-on-ARM.patch99
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_1.12.0-rc2.bb4
2 files changed, 102 insertions, 1 deletions
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 0000000000..26a004cc3b
--- /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 <threeway@gmail.com>
+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 <threeway@gmail.com>
+Signed-off-by: Balint Reczey <balint@balintreczey.hu>
+Reviewed-on: https://code.wireshark.org/review/2464
+Reviewed-by: Evan Huus <eapache@gmail.com>
+Reviewed-by: Michael Mann <mmann78@netscape.net>
+
+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 <akuster@mvista.com>
+
+---
+ 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 554223124b..3b9122f80f 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"