|
|
|
@ -2,15 +2,16 @@
|
|
|
|
|
%define libver 1
|
|
|
|
|
|
|
|
|
|
Name: dwarves
|
|
|
|
|
Version: 1.17
|
|
|
|
|
Release: 4%{?dist}
|
|
|
|
|
Version: 1.24
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
License: GPLv2
|
|
|
|
|
Summary: Debugging Information Manipulation Tools (pahole & friends)
|
|
|
|
|
URL: http://acmel.wordpress.com
|
|
|
|
|
Source: http://fedorapeople.org/~acme/dwarves/%{name}-%{version}.tar.xz
|
|
|
|
|
Requires: %{libname}%{libver} = %{version}-%{release}
|
|
|
|
|
Patch1: 0001-dwarves-Zero-initialize-struct-cu-in-cu__new-to-prev.patch
|
|
|
|
|
BuildRequires: gcc
|
|
|
|
|
BuildRequires: cmake
|
|
|
|
|
BuildRequires: cmake >= 2.8.12
|
|
|
|
|
BuildRequires: zlib-devel
|
|
|
|
|
BuildRequires: elfutils-devel >= 0.130
|
|
|
|
|
|
|
|
|
@ -41,6 +42,12 @@ gcc, with the same compiler flags, and then use codiff to make sure the
|
|
|
|
|
original .o file and the new one generated from debug info produces the same
|
|
|
|
|
debug info.
|
|
|
|
|
|
|
|
|
|
Pahole also can be used to use all this type information to pretty print raw data
|
|
|
|
|
according to command line directions.
|
|
|
|
|
|
|
|
|
|
Headers can have its data format described from debugging info and offsets from
|
|
|
|
|
it can be used to further format a number of records.
|
|
|
|
|
|
|
|
|
|
The btfdiff utility compares the output of pahole from BTF and DWARF to make
|
|
|
|
|
sure they produce the same results.
|
|
|
|
|
|
|
|
|
@ -59,9 +66,10 @@ Debugging information processing library development files.
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%setup -q
|
|
|
|
|
%patch1 -p1
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%cmake .
|
|
|
|
|
%cmake -DCMAKE_BUILD_TYPE=Release .
|
|
|
|
|
%cmake_build
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
@ -73,7 +81,8 @@ rm -Rf %{buildroot}
|
|
|
|
|
%files
|
|
|
|
|
%doc README.ctracer
|
|
|
|
|
%doc README.btf
|
|
|
|
|
%doc changes-v1.17
|
|
|
|
|
%doc changes-v1.23
|
|
|
|
|
%doc changes-v1.24
|
|
|
|
|
%doc NEWS
|
|
|
|
|
%{_bindir}/btfdiff
|
|
|
|
|
%{_bindir}/codiff
|
|
|
|
@ -108,7 +117,6 @@ rm -Rf %{buildroot}
|
|
|
|
|
%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
|
|
|
|
@ -118,16 +126,121 @@ rm -Rf %{buildroot}
|
|
|
|
|
%{_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
|
|
|
|
|
%{_libdir}/%{libname}.so
|
|
|
|
|
%{_libdir}/%{libname}_emit.so
|
|
|
|
|
%{_libdir}/%{libname}_reorganize.so
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Wed Nov 16 2022 Viktor Malik <vmalik@redhat.com> - 1.24-2
|
|
|
|
|
- Backport BTF fix needed for kernel kfuncs
|
|
|
|
|
- Related: rhbz#2140020
|
|
|
|
|
|
|
|
|
|
* Fri Nov 04 2022 Viktor Malik <vmalik@redhat.com> - 1.24-1
|
|
|
|
|
- Resolves: rhbz#2140020
|
|
|
|
|
- New release: v1.23
|
|
|
|
|
- Process DW_TAG_LLVM_annotation tags.
|
|
|
|
|
- Initial support for DW_TAG_skeleton_unit.
|
|
|
|
|
- Encode BTF_KIND_TYPE_TAG and BTF_KIND_DECL_TAG
|
|
|
|
|
- Fix handling of percpu symbols on s390.
|
|
|
|
|
- Use cacheline size to infer struct member alignment from BTF.
|
|
|
|
|
- Add --skip_missing to not stop when not finding one of -C arguments.
|
|
|
|
|
- Fix __attribute__((__aligned__(N)) printing alignment for struct members.
|
|
|
|
|
- Fix nested __attribute__(__aligned__(N)) struct printing order.
|
|
|
|
|
- New release: v1.24
|
|
|
|
|
- Add support to BTF_KIND_ENUM64.
|
|
|
|
|
- Support multithreaded BTF encoding.
|
|
|
|
|
- Encode char type as signed in BTF.
|
|
|
|
|
- Introduce --lang and --lang_exclude to pahole.
|
|
|
|
|
- Introduce --compile to pahole.
|
|
|
|
|
- Don't segfault when processing bogus files.
|
|
|
|
|
|
|
|
|
|
* Wed Oct 6 2021 Jiri Olsa <jolsa@redhat.com> - 1.22-1
|
|
|
|
|
- New release: v1.22
|
|
|
|
|
- Resolves: rhbz#2010414
|
|
|
|
|
- Introduce -j/--jobs option to specify the number of threads to use.
|
|
|
|
|
- Multithreaded DWARF loading, requires elfutils >= 0.178.
|
|
|
|
|
- Preparatory work for multithreaded BTF encoding, the focus for 1.23.
|
|
|
|
|
- Allow encoding BTF to a separate file.
|
|
|
|
|
- Show all different types with the same name, not just the first one found.
|
|
|
|
|
- Stop assuming that reading from stdin means pretty, add --prettify.
|
|
|
|
|
- Improve type resolution for the --header command line option.
|
|
|
|
|
- Do not consider the ftrace filter when encoding BTF for kernel functions.
|
|
|
|
|
- Lock calls to non-thread safe elfutils' dwarf_decl_file() and dwarf_decl_line().
|
|
|
|
|
- Change hash table size to one that performs better with current typical vmlinux files.
|
|
|
|
|
- Allow tweaking the hash table size from the command line.
|
|
|
|
|
- Add --kabi_prefix to avoid deduplication woes when using _RH_KABI_REPLACE().
|
|
|
|
|
- Add --with_flexible_array to show just types with flexible arrays.
|
|
|
|
|
- Support btfdiff with a detached BTF file.
|
|
|
|
|
- Introduce sorted type output (--sort).
|
|
|
|
|
- Disable incomplete CTF encoder.
|
|
|
|
|
|
|
|
|
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.21-2
|
|
|
|
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
|
|
|
Related: rhbz#1991688
|
|
|
|
|
|
|
|
|
|
* Fri May 14 2021 Jiri Olsa <jolsa@redhat.com> - 1.21-1
|
|
|
|
|
- remove ftrace filter
|
|
|
|
|
- New release: v1.21
|
|
|
|
|
- DWARF loader:
|
|
|
|
|
- Handle DWARF5 DW_OP_addrx properly
|
|
|
|
|
- Handle subprogram ret type with abstract_origin properly
|
|
|
|
|
- Check .notes section for LTO build info
|
|
|
|
|
- Check .debug_abbrev for cross-CU references
|
|
|
|
|
- Permit merging all DWARF CU's for clang LTO built binary
|
|
|
|
|
- Factor out common code to initialize a cu
|
|
|
|
|
- Permit a flexible HASHTAGS__BITS
|
|
|
|
|
- Use a better hashing function, from libbpf
|
|
|
|
|
- btf_encoder:
|
|
|
|
|
- Add --btf_gen_all flag
|
|
|
|
|
- Match ftrace addresses within ELF functions
|
|
|
|
|
- Funnel ELF error reporting through a macro
|
|
|
|
|
- Sanitize non-regular int base type
|
|
|
|
|
- Add support for the floating-point types
|
|
|
|
|
- Pretty printer:
|
|
|
|
|
- Honour conf_fprintf.hex when printing enumerations
|
|
|
|
|
|
|
|
|
|
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.20-2
|
|
|
|
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
|
|
|
|
|
|
|
|
* Tue Feb 2 2021 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.20-1
|
|
|
|
|
- New release: v1.20
|
|
|
|
|
- btf_encoder:
|
|
|
|
|
- Improve ELF error reporting using elf_errmsg(elf_errno())
|
|
|
|
|
- Improve objcopy error handling.
|
|
|
|
|
- Fix handling of 'restrict' qualifier, that was being treated as a 'const'.
|
|
|
|
|
- Support SHN_XINDEX in st_shndx symbol indexes
|
|
|
|
|
- Cope with functions without a name
|
|
|
|
|
- Fix BTF variable generation for kernel modules
|
|
|
|
|
- Fix address size to match what is in the ELF file being processed.
|
|
|
|
|
- Use kernel module ftrace addresses when finding which functions to encode.
|
|
|
|
|
- libbpf:
|
|
|
|
|
- Allow use of packaged version.
|
|
|
|
|
- dwarf_loader:
|
|
|
|
|
- Support DW_AT_data_bit_offset
|
|
|
|
|
- DW_FORM_implicit_const in attr_numeric() and attr_offset()
|
|
|
|
|
- Support DW_TAG_GNU_call_site, standardized rename of DW_TAG_GNU_call_site.
|
|
|
|
|
- build:
|
|
|
|
|
- Fix compilation on 32-bit architectures.
|
|
|
|
|
|
|
|
|
|
* Fri Nov 20 2020 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.19-1
|
|
|
|
|
- New release: 1.19
|
|
|
|
|
- Split BTF
|
|
|
|
|
- DWARF workarounds for DW_AT_declaration
|
|
|
|
|
- Support cross-compiled ELF binaries with different endianness
|
|
|
|
|
- Support showing typedefs for anonymous types
|
|
|
|
|
- Speedups using libbpf algorithms
|
|
|
|
|
- See changes-v1.19 for a complete and more detailed list of changes
|
|
|
|
|
|
|
|
|
|
* Fri Oct 02 2020 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.18-1
|
|
|
|
|
- New release: 1.18
|
|
|
|
|
- Use debugging info to pretty print raw data
|
|
|
|
|
- Store percpu variables in vmlinux BTF.
|
|
|
|
|
- Fixes to address segfaults on the gdb testsuite binaries
|
|
|
|
|
- Bail out on partial units for now, avoiding segfaults and providing warning to user.
|
|
|
|
|
|
|
|
|
|
* Mon Aug 31 2020 - Zamir SUN <sztsian@gmail.com> - 1.17-4
|
|
|
|
|
- Fix FTBFS
|
|
|
|
|
- Resolves: bug 1863459
|
|
|
|
@ -139,8 +252,33 @@ rm -Rf %{buildroot}
|
|
|
|
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.17-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Fri Mar 13 2020 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.17-1
|
|
|
|
|
- New release: 1.17
|
|
|
|
|
- Support raw BTF as available in /sys/kernel/btf/vmlinux.
|
|
|
|
|
- When the sole argument passed isn't a file, take it as a class name:
|
|
|
|
|
- Do not require a class name to operate without a file name.
|
|
|
|
|
- Make --find_pointers_to consider unions:
|
|
|
|
|
- Make --contains and --find_pointers_to honour --unions
|
|
|
|
|
- Add support for finding pointers to void:
|
|
|
|
|
- Make --contains and --find_pointers_to to work with base types:
|
|
|
|
|
- Make --contains look for more than just unions, structs:
|
|
|
|
|
- Consider unions when looking for classes containing some class:
|
|
|
|
|
- Introduce --unions to consider just unions:
|
|
|
|
|
- Fix -m/--nr_methods - Number of functions operating on a type pointer
|
|
|
|
|
|
|
|
|
|
* Wed Feb 12 2020 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.16-1
|
|
|
|
|
- New release: 1.16
|
|
|
|
|
- BTF encoder: Preserve and encode exported functions as BTF_KIND_FUNC.
|
|
|
|
|
- BTF loader: Add support for BTF_KIND_FUNC
|
|
|
|
|
- Pretty printer: Account inline type __aligned__ member types for spacing
|
|
|
|
|
- Pretty printer: Fix alignment of class members that are structs/enums/unions
|
|
|
|
|
- Pretty printer: Avoid infinite loop trying to determine type with static data member of its own type.
|
|
|
|
|
- RPM spec file: Add dwarves dependency on libdwarves1.
|
|
|
|
|
- pfunct: type->type == 0 is void, fix --compile for that
|
|
|
|
|
- pdwtags: Print DW_TAG_subroutine_type as well
|
|
|
|
|
- core: Fix ptr_table__add_with_id() handling of pt->nr_entries
|
|
|
|
|
- pglobal: Allow passing the format path specifier, to use with BTF
|
|
|
|
|
- Tree wide: Fixup issues pointed out by various coverity reports.
|
|
|
|
|
|
|
|
|
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.15-4
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
@ -225,13 +363,13 @@ rm -Rf %{buildroot}
|
|
|
|
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Feb 28 2011 * Arnaldo Carvalho de Melo <acme@redhat.com> - 1.9-1
|
|
|
|
|
* Sat Nov 20 2010 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.9-1
|
|
|
|
|
- New release
|
|
|
|
|
|
|
|
|
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8-2
|
|
|
|
|
* Tue Feb 08 2010 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Fri Dec 4 2009 Apr 23 2009 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.8-1
|
|
|
|
|
* Fri Dec 4 2009 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.8-1
|
|
|
|
|
- New release
|
|
|
|
|
|
|
|
|
|
* Fri Feb 13 2009 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.7-2
|
|
|
|
|