[oe-commits] Armin Kuster : wireshark: fix build for arm

git at git.openembedded.org git at git.openembedded.org
Tue Jul 22 09:06:20 UTC 2014


Module: meta-openembedded.git
Branch: master-next
Commit: d5c5930fb97739859b1c89da57fb83e0225e7950
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=d5c5930fb97739859b1c89da57fb83e0225e7950

Author: Armin Kuster <akuster at mvista.com>
Date:   Mon Jul 21 15:20:28 2014 -0700

wireshark: fix build for arm

* Backported Arm build fix

Signed-off-by: Armin Kuster <akuster at mvista.com>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 .../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(-)

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 0000000..26a004c
--- /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 at 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 at gmail.com>
+Signed-off-by: Balint Reczey <balint at balintreczey.hu>
+Reviewed-on: https://code.wireshark.org/review/2464
+Reviewed-by: Evan Huus <eapache at gmail.com>
+Reviewed-by: Michael Mann <mmann78 at 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 at 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 5542231..3b9122f 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"



More information about the Openembedded-commits mailing list