pahole: Prep 1.23

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2021-12-08 09:19:32 -03:00
parent 54ae2f7f5e
commit c2b7b8c208
5 changed files with 114 additions and 5 deletions

View File

@ -54,9 +54,9 @@ if (NOT DEFINED BUILD_SHARED_LIBS)
endif (NOT DEFINED BUILD_SHARED_LIBS)
# Just for grepping, DWARVES_VERSION isn't used anywhere anymore
# add_definitions(-D_GNU_SOURCE -DDWARVES_VERSION="v1.22")
# add_definitions(-D_GNU_SOURCE -DDWARVES_VERSION="v1.23")
add_definitions(-D_GNU_SOURCE -DDWARVES_MAJOR_VERSION=1)
add_definitions(-D_GNU_SOURCE -DDWARVES_MINOR_VERSION=22)
add_definitions(-D_GNU_SOURCE -DDWARVES_MINOR_VERSION=23)
find_package(DWARF REQUIRED)
find_package(ZLIB REQUIRED)
find_package(argp REQUIRED)

View File

@ -51,6 +51,7 @@ changes-v1.19
changes-v1.20
changes-v1.21
changes-v1.22
changes-v1.23
buildcmd.sh
COPYING
NEWS

41
NEWS
View File

@ -1,3 +1,44 @@
v1.23
Wed Dec 8 2021
54ae2f7f5e4f6328 Revert "fprintf: Allow making struct/enum/union anonymous"
69fb1861de35120c Revert "pahole: Add --inner_anon option"
005236c3e40eeb64 pahole: Add --inner_anon option
7c5e35b63bd26f1d fprintf: Allow making struct/enum/union anonymous
d99d551930cf4b4b btf_encoder: Support btf_type_tag attribute
3da248c3284ef905 man pages: Add missing --skip_encoding_btf_decl_tag entry
a58ecca0a89b142b man pages: Add missing --skip_encoding_btf_type_tag entry
b488c8d328845bd8 dwarf_loader: Support btf_type_tag attribute
a0cc68687f1281cd dutil: Move DW_TAG_LLVM_annotation definition to dutil.h
76401e9e46f07753 libbpf: Sync with latest libbpf repo to pick support for BTF_KIND_TYPE_TAG
0135ccd632796ab3 dwarf_loader: Warn about DW_TAG_skeleton_unit and give a workaround
433dc780ca48944b fprintf: Add DWARF5 tags added in elfutils 0.170
7af9ed4aed182869 dwarf_loader: Print the hexadecimal value for unexpected tags in die__process()
ec62499774c4bcac btf_encoder: generate BTF_KIND_DECL_TAGs for typedef btf_decl_tag attributes
468b4196f65458e8 dwarf_loader: support typedef DW_TAG_LLVM_annotation
696c62180455fd29 btf_loader: Use cacheline size to infer alignment
48f4086b766d2214 btf_loader: Propagate struct conf_load
772725a77d3323c6 dwarves_fprintf: Move cacheline_size into struct conf_fprintf
cdd088c05cfed082 btfdiff: Suppress alignment tags with BTF as well as with DWARF
836c139fdf6f2b13 btf_loader: Infer alignment info
4db65fe0cd02b3cc core: Export tag__natural_alignment()
43e8216c25ee767f fprintf: Fix __attribute__((__aligned__(N)) handling for struct members
c52f6421f21146ad btf: Rename btf_tag to btf_decl_tag
3433c67bbd158e1d manpages: Minor fixes
e975d0fba833d02d btf_loader: Refactor class__fixup_btf_bitfields
5282feee6d4d3a88 pahole: Add --skip_missing option
6931e393f8f6d81f fprintf: Fix nested struct printing wrt attributes
16a7acaba4466121 btf_encoder: Fix handling of percpu symbols on s390
3cde0135ca51de73 dwarf_loader: Fix heap overflow when accessing variable specification
a9c99e98815f06bd dwarves: Introduce conf_load->thread_exit() callback
cc6c7d473d518324 Update libbpf to get API to combine BTF
e38e89e8539b144a btf_encoder: Generate BTF_KIND_TAG from llvm annotations
aa8c494e65a77fa5 dwarf_loader: Parse DWARF tag DW_TAG_LLVM_annotation
3d20210d84f61ee2 CMakeList.txt: Don't download libbpf source when system library is used
38fad22d669ab044 libbpf: Get latest libbpf
88431099950ab3e8 CMakeList.txt: Make python optional
v1.22:
Mon Aug 23 2021

56
changes-v1.23 Normal file
View File

@ -0,0 +1,56 @@
DWARF loader:
- Read DW_TAG_LLVM_annotation tags, associating it with variables, functions,
types. So far this is only being used by the BTF encoder, but the pretty
printer should use this as well in a future release, printing these
attributes when available.
- Initial support for DW_TAG_skeleton_unit, so far just suggest looking up a
matching .dwo file to be used instead. Automagically doing this is in the
plans for a future release.
- Fix heap overflow when accessing variable specification.
BTF encoder:
- Support the new BTF type tag attribute, encoding DW_TAG_LLVM_annotation DWARF
tags as BTF_KIND_TYPE_TAG and BTF_KIND_DECL_TAG.
This allows __attribute__((btf_type_tag("tag1"))) to be used for variables,
functions, typedefs, so that contextual information can be stored in BTF and
used by the kernel BPF verifier for more checks.
The --skip_encoding_btf_type_tag option can be used to suppress this.
- Fix handling of percpu symbols on s390.
BTF loader:
- Use cacheline size to infer alignment.
btfdiff:
- Now that the BTF loader infers struct member alingment, and as that is just
an heuristic, suppress printing the alignment when pretty printing from BTF
info like is done when printing from DWARF.
pahole:
- Add --skip_missing so that we don't stop when not finding one of the types passed
to -C.
Pretty printer:
- Fix __attribute__((__aligned__(N)) printing alignment for struct members.
- Fix nested __attribute__(__aligned__(N)) struct printing order, so that
rebuilding from the printed source circles back to the original source code
alignment semantics.
Build:
- No need to download libbpf source when using the system library (libbpf-devel).
- Make python optional
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

View File

@ -2,7 +2,7 @@
%define libver 1
Name: dwarves
Version: 1.22
Version: 1.23
Release: 1%{?dist}
License: GPLv2
Summary: Debugging Information Manipulation Tools (pahole & friends)
@ -79,7 +79,7 @@ rm -Rf %{buildroot}
%files
%doc README.ctracer
%doc README.btf
%doc changes-v1.22
%doc changes-v1.23
%doc NEWS
%{_bindir}/btfdiff
%{_bindir}/codiff
@ -131,7 +131,18 @@ rm -Rf %{buildroot}
%{_libdir}/%{libname}_reorganize.so
%changelog
* Mon Aug 23 2021 Aug 17 2021 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.22-1
* Wed Dec 8 2021 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.23-1
- 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.
* Mon Aug 23 2021 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.22-1
- New release: v1.22
- Introduce -j/--jobs option to specify the number of threads to use.
- Multithreaded DWARF loading, requires elfutils >= 0.178.