Prep 1.29
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fb7eb64..7ca17a6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,9 +45,9 @@
endif (NOT DEFINED BUILD_SHARED_LIBS)
# Just for grepping, DWARVES_VERSION isn't used anywhere anymore
-# add_definitions(-D_GNU_SOURCE -DDWARVES_VERSION="v1.28")
+# add_definitions(-D_GNU_SOURCE -DDWARVES_VERSION="v1.29")
add_definitions(-D_GNU_SOURCE -DDWARVES_MAJOR_VERSION=1)
-add_definitions(-D_GNU_SOURCE -DDWARVES_MINOR_VERSION=28)
+add_definitions(-D_GNU_SOURCE -DDWARVES_MINOR_VERSION=29)
find_package(DWARF REQUIRED)
find_package(ZLIB REQUIRED)
find_package(argp REQUIRED)
diff --git a/MANIFEST b/MANIFEST
index 039c48f..ece4253 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -57,6 +57,7 @@
changes-v1.26
changes-v1.27
changes-v1.28
+changes-v1.29
buildcmd.sh
COPYING
NEWS
diff --git a/NEWS b/NEWS
index 6944f5a..c3f916d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,21 @@
+v1.29
+
+7f9c031edfc6d2f6 btf_encoder: Always initialize func_state to 0
+24c655f17e875492 btf_encoder: Switch func_states from a list to an array
+e3545ca63e50c309 btf_encoder: Clean up global encoders list
+4c916259c3e7fd3e dwarf_loader: Multithreading with a job/worker model
+17c757110e5ff2f1 dwarf_loader: Introduce cu->id
+419e37941c470d1f btf_encoder: Remove skip_encoding_inconsistent_proto
+99e78ff34f8171f9 btf_encoder: Introduce elf_functions_list
+61f37edc7d860191 btf_encoder: Introduce elf_functions struct type
+184dcaa47cd40444 btf_encoder: Separate ELF function, saved function representations
+13ae534068b9f518 btf_encoder: Free encoder->secinfo in btf_encoder__delete()
+80e501122a180e45 btf_encoder: Simplify function encoding
+bc3e337e5b379935 pfunct: Don't print functions twice when using -f
+176864dfe42f9f85 tests: Verify that pfunct prints btf_decl_tags read from BTF
+e703e6ebe92c976a btf_loader: Support for multiple BTF_DECL_TAGs pointing to same tag
+8067a85bf88af925 dwarves: Increase cu->obstack chunk size to 128Kb
+
v1.28
3ddadc131586d6f3 btf_encoder: handle .BTF_ids section endianness
diff --git a/changes-v1.29 b/changes-v1.29
new file mode 100644
index 0000000..37d5c6b
--- /dev/null
+++ b/changes-v1.29
@@ -0,0 +1,31 @@
+DWARF loader:
+
+- Multithreading is now contained in the DWARF loader using a jobs queue and a
+ pool of worker threads.
+
+BTF encoder:
+
+- The parallel reproducible BTF generation done using the new DWARF loader
+ multithreading model is as fast as the old non-reproducible one and thus is
+ now always performed, making the "reproducible_build" flag moot.
+
+ The memory consumption is now greatly reduced as well.
+
+BTF loader:
+
+- Support for multiple BTF_DECL_TAGs pointing to same tag.
+
+ Example:
+
+ $ pfunct vmlinux -F btf -f bpf_rdonly_cast
+ bpf_kfunc bpf_fastcall void *bpf_rdonly_cast(const void *obj__ign, u32 btf_id__k);
+
+Regression tests:
+
+- Verify that pfunct prints btf_decl_tags read from BTF.
+
+pfunct:
+
+- Don't print functions twice when using -f.
+
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/rpm/SPECS/dwarves.spec b/rpm/SPECS/dwarves.spec
index 5120478..fdd5835 100644
--- a/rpm/SPECS/dwarves.spec
+++ b/rpm/SPECS/dwarves.spec
@@ -2,7 +2,7 @@
%define libver 1
Name: dwarves
-Version: 1.28
+Version: 1.29
Release: 1%{?dist}
License: GPL-2.0-only
Summary: Debugging Information Manipulation Tools (pahole & friends)
@@ -79,7 +79,7 @@
%files
%doc README.ctracer
%doc README.btf
-%doc changes-v1.28
+%doc changes-v1.29
%doc NEWS
%{_bindir}/btfdiff
%{_bindir}/codiff
@@ -131,6 +131,16 @@
%{_libdir}/%{libname}_reorganize.so
%changelog
+* Wed Jan 15 2025 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.29-1
+- Multithreading is now in the DWARF loader using a jobs queue and a pool of worker threads.
+- The BTF encoding now is always reproducible, and as fast/faster than before.
+- The memory consumption is reduced.
+- Support for multiple BTF_DECL_TAGs pointing to same tag.
+- Verify that pfunct prints btf_decl_tags read from BTF.
+- Don't print functions twice when using 'pfunct -f function_name'.
+
+Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+
* Fri Dec 6 2024 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.28-1
- New release: 1.28
- Various improvements to reduce the memory footprint of pahole, notably when doing BTF encoding.