aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2021-12-08 09:19:32 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2021-12-08 09:19:32 -0300
commitc2b7b8c20877d267159ace36119f6340b9d12823 (patch)
treeafa5f56f50cf2321106979f7ef25b3e03ed834f7
parent54ae2f7f5e4f63289ceb71dbbb406ecebb0aab1e (diff)
downloadpahole-c2b7b8c20877d267159ace36119f6340b9d12823.tar.gz
pahole: Prep 1.23v1.23
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--CMakeLists.txt4
-rw-r--r--MANIFEST1
-rw-r--r--NEWS41
-rw-r--r--changes-v1.2356
-rw-r--r--rpm/SPECS/dwarves.spec17
5 files changed, 114 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ab66e43..c0363b8e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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)
diff --git a/MANIFEST b/MANIFEST
index d0e48d78..0e1eefae 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -51,6 +51,7 @@ changes-v1.19
changes-v1.20
changes-v1.21
changes-v1.22
+changes-v1.23
buildcmd.sh
COPYING
NEWS
diff --git a/NEWS b/NEWS
index b87d3b7c..efd07455 100644
--- a/NEWS
+++ b/NEWS
@@ -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
diff --git a/changes-v1.23 b/changes-v1.23
new file mode 100644
index 00000000..426f6f3c
--- /dev/null
+++ b/changes-v1.23
@@ -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>
diff --git a/rpm/SPECS/dwarves.spec b/rpm/SPECS/dwarves.spec
index 021dd10c..0b4846ee 100644
--- a/rpm/SPECS/dwarves.spec
+++ b/rpm/SPECS/dwarves.spec
@@ -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.