Hello community, here is the log from the commit of package dwarves for openSUSE:Factory checked in at 2019-06-27 15:26:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dwarves (Old) and /work/SRC/openSUSE:Factory/.dwarves.new.4615 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dwarves" Thu Jun 27 15:26:52 2019 rev:17 rq:712252 version:1.15 Changes: -------- --- /work/SRC/openSUSE:Factory/dwarves/dwarves.changes 2019-06-19 21:01:40.666152464 +0200 +++ /work/SRC/openSUSE:Factory/.dwarves.new.4615/dwarves.changes 2019-06-27 15:26:53.669652397 +0200 @@ -1,0 +2,8 @@ +Thu Jun 27 11:22:47 UTC 2019 - Jan Engelhardt <jeng...@inai.de> + +- Update to new upstream release 1.15 + * Avoid null dereference with NULL configs + * Fixup printing "const" early with "const void" + * Fix recursively printing named structs in --expand_types + +------------------------------------------------------------------- Old: ---- libbpf-0.tar.xz pahole-1.13.tar.gz New: ---- libbpf-0.0.3+git30.tar.xz pahole-1.15.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dwarves.spec ++++++ --- /var/tmp/diff_new_pack.RmwZxk/_old 2019-06-27 15:26:54.105653050 +0200 +++ /var/tmp/diff_new_pack.RmwZxk/_new 2019-06-27 15:26:54.105653050 +0200 @@ -17,7 +17,7 @@ Name: dwarves -Version: 1.13 +Version: 1.15 Release: 0 Summary: DWARF utilities License: GPL-2.0-only @@ -26,7 +26,7 @@ #Git-Clone: git://git.kernel.org/pub/scm/devel/pahole/pahole #Git-Web: http://git.kernel.org/cgit/devel/pahole/pahole.git Source: https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot/pahole-%version.tar.gz -Source2: libbpf-0.tar.xz +Source2: libbpf-0.0.3+git30.tar.xz Source9: baselibs.conf BuildRequires: cmake BuildRequires: libdw-devel >= 0.142 @@ -81,7 +81,7 @@ %prep %setup -qn pahole-%version -a2 -mv libbpf-0/* lib/bpf/ +mv libbpf-0*/* lib/bpf/ %build %cmake ++++++ _service ++++++ --- /var/tmp/diff_new_pack.RmwZxk/_old 2019-06-27 15:26:54.129653086 +0200 +++ /var/tmp/diff_new_pack.RmwZxk/_new 2019-06-27 15:26:54.133653092 +0200 @@ -2,8 +2,9 @@ <service name="tar_scm" mode="disabled"> <param name="scm">git</param> <param name="url">https://github.com/libbpf/libbpf</param> - <param name="revision">816253000e918f22e3b395d1bf743503d3508b41</param> - <param name="versionformat">0</param> + <param name="revision">52ec16bce80451130db50d0ad3a1c7135c12195c</param> + <param name="versionrewrite-pattern">v(.*)</param> + <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@</param> </service> <service name="recompress" mode="disabled"> <param name="file">*.tar</param> ++++++ pahole-1.13.tar.gz -> pahole-1.15.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pahole-1.13/CMakeLists.txt new/pahole-1.15/CMakeLists.txt --- old/pahole-1.13/CMakeLists.txt 2019-04-17 01:55:59.000000000 +0200 +++ new/pahole-1.15/CMakeLists.txt 2019-06-27 12:20:37.000000000 +0200 @@ -27,7 +27,7 @@ FORCE) endif (NOT CMAKE_BUILD_TYPE) -add_definitions(-D_GNU_SOURCE -DDWARVES_VERSION="v1.13") +add_definitions(-D_GNU_SOURCE -DDWARVES_VERSION="v1.15") find_package(DWARF REQUIRED) find_package(ZLIB REQUIRED) @@ -143,6 +143,8 @@ install(TARGETS dwarves dwarves_emit dwarves_reorganize LIBRARY DESTINATION ${LIB_INSTALL_DIR}) install(FILES dwarves.h dwarves_emit.h dwarves_reorganize.h dutil.h gobuffer.h list.h rbtree.h strings.h + btf_encoder.h config.h ctf_encoder.h ctf.h + elfcreator.h elf_symtab.h hash.h libbtf.h libctf.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/dwarves/) install(FILES man-pages/pahole.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1/) install(PROGRAMS ostra/ostra-cg DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pahole-1.13/NEWS new/pahole-1.15/NEWS --- old/pahole-1.13/NEWS 2019-04-17 01:55:59.000000000 +0200 +++ new/pahole-1.15/NEWS 2019-06-27 12:20:37.000000000 +0200 @@ -1,3 +1,15 @@ +v1.15 + +Thu Jun 27 2019 + +3ed9a67967cf fprintf: Avoid null dereference with NULL configs +568dae4bd498 printf: Fixup printing "const" early with "const void" +68f261d8dfff fprintf: Fix recursively printing named structs in --expand_types +139a3b337381 ostra: Initial python3 conversion +01276a7e8966 spec: Sync spec with fedora's +9f1f0628b9ad rpm: Add missing devel headers +989dc3f1ba0d cmake: Install missing devel headers + v1.13 Tue Apr 16 2019 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pahole-1.13/dwarves_fprintf.c new/pahole-1.15/dwarves_fprintf.c --- old/pahole-1.13/dwarves_fprintf.c 2019-04-17 01:55:59.000000000 +0200 +++ new/pahole-1.15/dwarves_fprintf.c 2019-06-27 12:20:37.000000000 +0200 @@ -700,8 +700,8 @@ &tconf, fp); break; } - if (tag__is_struct(ptype) || tag__is_union(ptype) || - tag__is_enumeration(ptype)) { + if ((tag__is_struct(ptype) || tag__is_union(ptype) || + tag__is_enumeration(ptype)) && type__name(tag__type(ptype), cu) == NULL) { snprintf(namebfptr, sizeof(namebfptr), "* %s", name); tconf.rel_offset = 1; name = namebfptr; @@ -711,6 +711,7 @@ } /* Fall Thru */ default: +print_default: printed += fprintf(fp, "%-*s %s", tconf.type_spacing, tag__name(type, cu, tbf, sizeof(tbf), &tconf), name); @@ -725,7 +726,9 @@ printed += const_printed; } type = cu__type(cu, type->type); - goto next_type; + if (type) + goto next_type; + goto print_default; case DW_TAG_array_type: printed += array_type__fprintf(type, cu, name, &tconf, fp); @@ -1616,8 +1619,8 @@ * BTF doesn't have alignment info, for now use this infor from the loader * to avoid adding the forced bitfield paddings and have btfdiff happy. */ - if (class->padding != 0 && type->alignment == 0 && conf->has_alignment_info && - !conf->suppress_force_paddings) { + if (class->padding != 0 && type->alignment == 0 && cconf.has_alignment_info && + !cconf.suppress_force_paddings) { tag_pos = cu__type(cu, last->tag.type); size = tag__size(tag_pos, cu); @@ -1713,7 +1716,7 @@ out: printed += fprintf(fp, "%.*s}", indent, tabs); - if (class->is_packed && !conf->suppress_packed) + if (class->is_packed && !cconf.suppress_packed) printed += fprintf(fp, " __attribute__((__packed__))"); if (cconf.suffix) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pahole-1.13/ostra/ostra-cg new/pahole-1.15/ostra/ostra-cg --- old/pahole-1.13/ostra/ostra-cg 2019-04-17 01:55:59.000000000 +0200 +++ new/pahole-1.15/ostra/ostra-cg 2019-06-27 12:20:37.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # ostra-cg - generate callgraphs from encoded trace # # Arnaldo Carvalho de Melo <a...@redhat.com> @@ -386,7 +386,7 @@ if __name__ == '__main__': if len(sys.argv) not in [ 3, 4 ]: - print "usage: ostra-cg <traced_class> <encoded_trace> [object]" + print("usage: ostra-cg <traced_class> <encoded_trace> [object]") sys.exit(1) gen_html = True @@ -402,9 +402,9 @@ class_def = ostra.class_definition(class_def_file = "%s.fields" % traced_class, class_methods_file = "%s.functions" % traced_class) new_callgraph_file(traced_class) - class_def.parse_file(encoded_trace, verbose = verbose, - process_record = process_record, - my_object = my_object) + class_def.parse_file(encoded_trace, verbose = verbose, + process_record = process_record, + my_object = my_object) if gen_html: print_where_fields_changed() close_callgraph_file() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pahole-1.13/ostra/python/ostra.py new/pahole-1.15/ostra/python/ostra.py --- old/pahole-1.13/ostra/python/ostra.py 2019-04-17 01:55:59.000000000 +0200 +++ new/pahole-1.15/ostra/python/ostra.py 2019-06-27 12:20:37.000000000 +0200 @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # # Copyright (C) 2005, 2006, 2007 Arnaldo Carvalho de Melo # @@ -206,7 +206,7 @@ break if verbose: nr_lines += 1 - print "\r%d" % nr_lines, + print("\r%d" % nr_lines,) self.parse_record(line) @@ -245,8 +245,8 @@ continue if verbose: - print "plot_methods: plotting %s method (%d samples)" % \ - (current_method.name, nr_samples) + print("plot_methods: plotting %s method (%d samples)" % \ + (current_method.name, nr_samples)) entries = [float("%d.0" % entry) for entry in range(nr_samples)] samples = current_method.times @@ -323,11 +323,11 @@ if current_plot_fmt == "filter_dev": std = std_deviation(samples) * 2 if verbose: - print "filter_dev(%s) std=%d" % (name, std) + print("filter_dev(%s) std=%d" % (name, std)) for i in range(nr_samples): if samples[i] > std: if verbose: - print "%s: filtering out %d" % (name, samples[i]) + print("%s: filtering out %d" % (name, samples[i])) samples[i] = 0 field_mean = mean(samples) yaxis_plot_fmt = FuncFormatter(pylab_formatter) @@ -376,7 +376,7 @@ continue if verbose: - print "ostra-plot: plotting %s field (%d samples)" % (current_field.name, nr_samples) + print("ostra-plot: plotting %s field (%d samples)" % (current_field.name, nr_samples)) tstamps = [float("%d.%06d" % (entry.tstamp.seconds, entry.tstamp.microseconds)) \ for entry in current_field.changes] @@ -392,6 +392,6 @@ import sys c = class_definition(sys.argv[1], sys.argv[2]) for field in c.fields.values(): - print "%s: %s" % (field, field.table) + print("%s: %s" % (field, field.table)) for method in c.methods.values(): - print "%d: %s" % (method.function_id, method.name) + print("%d: %s" % (method.function_id, method.name)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pahole-1.13/rpm/SPECS/dwarves.spec new/pahole-1.15/rpm/SPECS/dwarves.spec --- old/pahole-1.13/rpm/SPECS/dwarves.spec 2019-04-17 01:55:59.000000000 +0200 +++ new/pahole-1.15/rpm/SPECS/dwarves.spec 2019-06-27 12:20:37.000000000 +0200 @@ -2,17 +2,16 @@ %define libver 1 Name: dwarves -Version: 1.13 +Version: 1.15 Release: 1%{?dist} License: GPLv2 -Summary: Debugging Information Manipulation Tools -Group: Development/Tools +Summary: Debugging Information Manipulation Tools (pahole & friends) URL: http://acmel.wordpress.com -Source: http://fedorapeople.org/~acme/dwarves/%{name}-%{version}.tar.bz2 +Source: http://fedorapeople.org/~acme/dwarves/%{name}-%{version}.tar.xz +BuildRequires: gcc BuildRequires: cmake BuildRequires: zlib-devel BuildRequires: elfutils-devel >= 0.130 -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %description dwarves is a set of tools that use the debugging information inserted in @@ -37,14 +36,12 @@ %package -n %{libname}%{libver} Summary: Debugging information processing library -Group: Development/Libraries %description -n %{libname}%{libver} Debugging information processing library. %package -n %{libname}%{libver}-devel Summary: Debugging information library development files -Group: Development/Libraries Requires: %{libname}%{libver} = %{version}-%{release} %description -n %{libname}%{libver}-devel @@ -61,19 +58,12 @@ rm -Rf %{buildroot} make install DESTDIR=%{buildroot} -%post -n %{libname}%{libver} -p /sbin/ldconfig - -%postun -n %{libname}%{libver} -p /sbin/ldconfig - -%clean -rm -rf %{buildroot} +%ldconfig_scriptlets -n %{libname}%{libver} %files -%defattr(0644,root,root,0755) %doc README.ctracer %doc README.btf %doc NEWS -%defattr(0755,root,root,0755) %{_bindir}/btfdiff %{_bindir}/codiff %{_bindir}/ctracer @@ -99,19 +89,26 @@ %attr(0755,root,root) %{_datadir}/dwarves/runtime/python/ostra.py* %files -n %{libname}%{libver} -%defattr(0644,root,root,0755) %{_libdir}/%{libname}.so.* %{_libdir}/%{libname}_emit.so.* %{_libdir}/%{libname}_reorganize.so.* %files -n %{libname}%{libver}-devel -%defattr(0644,root,root,0755) %doc MANIFEST README +%{_includedir}/dwarves/btf_encoder.h +%{_includedir}/dwarves/config.h +%{_includedir}/dwarves/ctf_encoder.h +%{_includedir}/dwarves/ctf.h +%{_includedir}/dwarves/dutil.h %{_includedir}/dwarves/dwarves.h %{_includedir}/dwarves/dwarves_emit.h %{_includedir}/dwarves/dwarves_reorganize.h -%{_includedir}/dwarves/dutil.h +%{_includedir}/dwarves/elfcreator.h +%{_includedir}/dwarves/elf_symtab.h %{_includedir}/dwarves/gobuffer.h +%{_includedir}/dwarves/hash.h +%{_includedir}/dwarves/libbtf.h +%{_includedir}/dwarves/libctf.h %{_includedir}/dwarves/list.h %{_includedir}/dwarves/rbtree.h %{_includedir}/dwarves/strings.h @@ -120,6 +117,22 @@ %{_libdir}/%{libname}_reorganize.so %changelog +* Fri May 27 2019 Arnaldo Carvalho de Melo <a...@redhat.com> - 1.15-1 +- New release: 1.15 +- Fix --expand_types/-E segfault +- Fixup endless printing named structs inside structs in --expand_types +- Avoid NULL deref with num config in __class__fprintf() + +* Tue Apr 23 2019 Arnaldo Carvalho de Melo <a...@redhat.com> - 1.13-1 +- New release: 1.13 +- Infer __packed__ attributes, i.e. __attribute__((__packed__)) +- Support DW_AT_alignment, i.e. __attribute__((__aligned__(N))) +- Decode BTF type format and pretty print it +- BTF encoding fixes +- Use libbpf's BTF deduplication +- Support unions as arguments to -C/--class +- New 'pfunct --compile' generates compilable output with type definitions + * Thu Aug 16 2018 Arnaldo Carvalho de Melo <a...@kernel.org> - 1.12-1 - New release: - union member cacheline boundaries for all inner structs