On Thu, Jul 09, 2020 at 04:41:29PM +0100, Daniel P. Berrangé wrote:
On Thu, Jul 09, 2020 at 05:33:14PM +0200, Pavel Hrdina wrote:
> On Thu, Jul 09, 2020 at 04:22:41PM +0100, Daniel P. Berrangé wrote:
> > On Thu, Jul 02, 2020 at 02:25:29PM +0200, Pavel Hrdina wrote:
> > > With meson introduction which is using the same CFLAGS for the whole
> > > project some compilation errors were discovered.
> > >
> > > Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
> > > ---
> > > tools/wireshark/src/packet-libvirt.c | 19 +++++++++++++------
> > > 1 file changed, 13 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/tools/wireshark/src/packet-libvirt.c
b/tools/wireshark/src/packet-libvirt.c
> > > index 20b7a3ec812..db8efe45a39 100644
> > > --- a/tools/wireshark/src/packet-libvirt.c
> > > +++ b/tools/wireshark/src/packet-libvirt.c
> > > @@ -77,15 +77,15 @@ static gint ett_libvirt_stream_hole = -1;
> > >
> > > XDR_PRIMITIVE_DISSECTOR(int, gint32, int)
> > > XDR_PRIMITIVE_DISSECTOR(u_int, guint32, uint)
> > > -XDR_PRIMITIVE_DISSECTOR(short, gint16, int)
> > > +//XDR_PRIMITIVE_DISSECTOR(short, gint16, int)
> > > XDR_PRIMITIVE_DISSECTOR(u_short, guint16, uint)
> > > XDR_PRIMITIVE_DISSECTOR(char, gchar, int)
> > > XDR_PRIMITIVE_DISSECTOR(u_char, guchar, uint)
> > > XDR_PRIMITIVE_DISSECTOR(hyper, gint64, int64)
> > > XDR_PRIMITIVE_DISSECTOR(u_hyper, guint64, uint64)
> > > -XDR_PRIMITIVE_DISSECTOR(float, gfloat, float)
> > > +//XDR_PRIMITIVE_DISSECTOR(float, gfloat, float)
> > > XDR_PRIMITIVE_DISSECTOR(double, gdouble, double)
> > > -XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
> > > +//XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
> >
> >
> > This looks a bit iffy - what's the rationale for this ?
>
> To keep it here if we ever need to use these types and to illustrate
> that they are not used on purpose. But it can be completely removed
> as well. I have no preference here.
Oh, so are you saying it was complaining about unused functions ?
We could just use a pragma to squelch the warning flag in this
source file.
Correct, I'll include a patch with this change to trigger the errors
with autotools:
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 53df930e0ac..eb8f269b486 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -378,7 +378,7 @@ if WITH_WIRESHARK_DISSECTOR
ws_plugin_LTLIBRARIES = wireshark/src/libvirt.la
wireshark_src_libvirt_la_CFLAGS = \
- -I wireshark/src $(WIRESHARK_DISSECTOR_CFLAGS) $(XDR_CFLAGS)
+ -I wireshark/src $(WIRESHARK_DISSECTOR_CFLAGS) $(XDR_CFLAGS) $(AM_CFLAGS)
wireshark_src_libvirt_la_LDFLAGS = -avoid-version -module
wireshark_src_libvirt_la_SOURCES = \
wireshark/src/packet-libvirt.h \
It will result in these errors:
../../tools/wireshark/src/packet-libvirt.c: In function 'dissect_libvirt_fds':
../../tools/wireshark/src/packet-libvirt.c:348:31: error: unused parameter 'tvb'
[-Werror=unused-parameter]
348 | dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds)
| ~~~~~~~~~~^~~
../../tools/wireshark/src/packet-libvirt.c:348:41: error: unused parameter 'start'
[-Werror=unused-parameter]
348 | dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds)
| ~~~~~^~~~~
../../tools/wireshark/src/packet-libvirt.c:348:55: error: unused parameter 'nfds'
[-Werror=unused-parameter]
348 | dissect_libvirt_fds(tvbuff_t *tvb, gint start, gint32 nfds)
| ~~~~~~~^~~~
At top level:
../../tools/wireshark/src/packet-libvirt.c:64:5: error: 'dissect_xdr_bool' defined
but not used [-Werror=unused-function]
64 | dissect_xdr_##xtype(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf) \
| ^~~~~~~~~~~~
../../tools/wireshark/src/packet-libvirt.c:88:1: note: in expansion of macro
'XDR_PRIMITIVE_DISSECTOR'
88 | XDR_PRIMITIVE_DISSECTOR(bool, bool_t, boolean)
| ^~~~~~~~~~~~~~~~~~~~~~~
../../tools/wireshark/src/packet-libvirt.c:64:5: error: 'dissect_xdr_float'
defined but not used [-Werror=unused-function]
64 | dissect_xdr_##xtype(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf) \
| ^~~~~~~~~~~~
../../tools/wireshark/src/packet-libvirt.c:86:1: note: in expansion of macro
'XDR_PRIMITIVE_DISSECTOR'
86 | XDR_PRIMITIVE_DISSECTOR(float, gfloat, float)
| ^~~~~~~~~~~~~~~~~~~~~~~
../../tools/wireshark/src/packet-libvirt.c:64:5: error: 'dissect_xdr_short'
defined but not used [-Werror=unused-function]
64 | dissect_xdr_##xtype(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf) \
| ^~~~~~~~~~~~
../../tools/wireshark/src/packet-libvirt.c:80:1: note: in expansion of macro
'XDR_PRIMITIVE_DISSECTOR'
80 | XDR_PRIMITIVE_DISSECTOR(short, gint16, int)
| ^~~~~~~~~~~~~~~~~~~~~~~
../../tools/wireshark/src/packet-libvirt.c: In function
'dissect_libvirt_message':
../../tools/wireshark/src/packet-libvirt.c:423:34: error: null pointer dereference
[-Werror=null-dereference]
423 | vir_xdr_dissector_t xd = find_payload_dissector(proc, type,
get_program_data(prog, VIR_PROGRAM_DISSECTORS),
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
424 | *(gsize
*)get_program_data(prog, VIR_PROGRAM_DISSECTORS_LEN));
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If using the pragma solution is OK I can change it in V2.
Pavel