On Fri, Jan 06, 2012 at 04:07:34PM -0700, Eric Blake wrote: > On rawhide, gcc is new enough to output new DWARF information that > pdwtags has not yet learned, but the resulting 'make check' output > was rather confusing: > > $ make -C src check > ... > GEN virkeepaliveprotocol-structs > die__process_function: DW_TAG_INVALID (0x4109) @ <0x58c> not handled! > WARNING: your pdwtags program is too old > WARNING: skipping the virkeepaliveprotocol-structs test > WARNING: install dwarves-1.3 or newer > ... > $ pdwtags --version > v1.9 > > I've filed the pdwtags deficiency as > https://bugzilla.redhat.com/show_bug.cgi?id=772358 > > * src/Makefile.am (PDWTAGS): Don't leave -t file behind on version > mismatch. Soften warning message, since 1.9 is newer than 1.3. > Don't leak stderr from broken version. > --- > > Although this feels pretty trivial, it's not quite a build-breaker > (everything still worked), so I'll await a review before pushing. > > src/Makefile.am | 17 +++++++++++------ > 1 files changed, 11 insertions(+), 6 deletions(-) > > diff --git a/src/Makefile.am b/src/Makefile.am > index 93bf54c..0a1221a 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -1,6 +1,6 @@ > ## Process this file with automake to produce Makefile.in > > -## Copyright (C) 2005-2011 Red Hat, Inc. > +## Copyright (C) 2005-2012 Red Hat, Inc. > ## See COPYING.LIB for the License of this software > > # No libraries with the exception of LIBXML should be listed > @@ -248,8 +248,12 @@ struct_prefix = (remote_|qemu_|virNet|keepalive_) > > PDWTAGS = \ > $(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then \ > - pdwtags --verbose $(<:.lo=.$(OBJEXT)) \ > - | perl -0777 -n \ > + pdwtags --verbose $(<:.lo=.$(OBJEXT)) > $(@F)-t1 2> $(@F)-t2; \ > + if test -s $(@F)-t2; then \ > + rm -rf $(@F)-t?; \ > + echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\ > + else \ > + perl -0777 -n \ > -e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {' \ > -e ' if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||' \ > -e ' $$p =~ /^enum {/) {' \ > @@ -272,9 +276,10 @@ PDWTAGS = \ > -e ' exit 8;' \ > -e ' }' \ > -e '}' \ > - > $(@F)-t; \ > - case $$? in 8) exit 0;; 0) ;; *) exit 1;; esac; \ > - diff -u $(@F)-t $@; st=$$?; rm -f $(@F)-t; exit $$st; \ > + < $(@F)-t1 > $(@F)-t3; \ > + case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\ > + diff -u $(@F)-t3 $@; st=$$?; rm -f $(@F)-t?; exit $$st; \ > + fi; \ > else \ > echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2; \ > echo 'WARNING: install the dwarves package to get pdwtags' >&2; \ ACK, That's fairly cryptic, but looks fine here, so I'm pushing to get it in 0.9.9, thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list