Skip to content

Commit

Permalink
pahole: Prep 1.24
Browse files Browse the repository at this point in the history
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
  • Loading branch information
acmel committed Aug 22, 2022
1 parent d6c9528 commit de24234
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 4 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.23")
# add_definitions(-D_GNU_SOURCE -DDWARVES_VERSION="v1.24")
add_definitions(-D_GNU_SOURCE -DDWARVES_MAJOR_VERSION=1)
add_definitions(-D_GNU_SOURCE -DDWARVES_MINOR_VERSION=23)
add_definitions(-D_GNU_SOURCE -DDWARVES_MINOR_VERSION=24)
find_package(DWARF REQUIRED)
find_package(ZLIB REQUIRED)
find_package(argp REQUIRED)
Expand Down
1 change: 1 addition & 0 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ changes-v1.20
changes-v1.21
changes-v1.22
changes-v1.23
changes-v1.24
buildcmd.sh
COPYING
NEWS
Expand Down
36 changes: 36 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
v1.24

Wed Aug 17 2022

d6c952893b1bbea9 dwarf_loader: Encode char type as signed
23342fef5e5f6070 dwarf_loader: Fix elfutils dwfl_getmodules() error checking
9712d9ec929fb6b3 btf_loader: Add support to BTF_KIND_ENUM64
35a11221b305a520 btf: Support BTF_KIND_ENUM64
3aa68ba050d4ddc4 libbpf: Sync with latest libbpf repo
c3d6522e0499c5b0 fprintf: Fix plural/singular when printing cacheline boundary
384a16a011226163 btf_encoder: Normalize array index type for parallel dwarf loading case
d9e36dd9dd2a526a libbpf: Sync with latest libbpf repo
49358dfe2aaae4e9 pahole: Add --lang_exclude to allow skipping compilation units written in some languages
8ee363790b743728 pahole: Introduce --lang to ask for only compilation units written in some languages
c3f2fe2f6a81f13c core: Add string to id language lookup method
3d0dfe0610517ff6 pahole: Don't try encode BTF when all CUs were filtered
2730ef6965efd8e6 fprintf: preserve conf_fprintf pointer in tag__ptr_name
1bc98ed290d2c833 btf_encoder: Collect info of per-cpu variables from threads
31df013b70540072 dwarves: Set errno if load fails in cus__load_files()
f952a6f69f9508c8 pahole: Avoid segfault when parsing bogus file
65d7273668ded59b pahole: Introduce --compile to produce a compilable output
4d004e2314f3252e core: Ditch 'dwarves__active_loader' extern declaration, it was nuked
4f332dbfd02072e4 emit: Notice type shadowing, i.e. multiple types with the same name (enum, struct, union, etc)
0a82f74ce25a5904 core: Make type->packed_attributes_inferred a one bit member
fac821246c582299 core: type->declaration is just one bit, make it a bitfield member
742f04f89da03665 emit: Search for data structures using its type in addition to its name
32cc1481721c4b11 fprintf: Consider enumerations without members as forward declarations
6afc296eeb180e25 emit: Fix printing typedef of nameless struct/union
49a2dd657728675b fprintf: Check if conf->conf_fprintf is not NULL in when resolving cacheline_size
46cec35ff0411e0f fprintf: Fix division by zero for uninitialized conf_fprintf->cacheline_size field
73383b3a39afe86b libbpf: Update libbpf to the latest git HEAD
21352753186ec582 pahole: Use per-thread btf instances to avoid mutex locking
96d2c5c323255134 dwarf_loader: Prepare and pass per-thread data to worker threads
724c8fddd71be1fe dwarf_loader: Receive per-thread data on worker threads
2f7d61b2bfb59427 core: Define DW_TAG_skeleton_unit if not available on current dwarf.h

v1.23

Wed Dec 8 2021
Expand Down
36 changes: 36 additions & 0 deletions changes-v1.24
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
BTF encoder:

- Add support to BTF_KIND_ENUM64 to represent enumeration entries
with more than 32 bits.

- Support multithreaded encoding, in addition to DWARF
multithreaded loading, speeding up the process.

Selected just like DWARF multithreaded loading, using the
'pahole -j' option.

- Encode 'char' type as signed.

BTF Loader:

- Add support to BTF_KIND_ENUM64.

pahole:

- Introduce --lang and --lang_exclude to specify the language the
DWARF compile units were originated from to use or filter.

Use case is to exclude Rust compile units while aspects of the
DWARF generated for it get sorted out in a way that the kernel
BPF verifier don't refuse loading the BTF generated from them.

- Introduce --compile to generate compilable code in a similar fashion to:

bpftool btf dump file vmlinux format c > vmlinux.h

As with 'bpftool', this will notice type shadowing, i.e. multiple types
with the same name and will disambiguate by adding a suffix.

- Don't segfault when processing bogus files.

Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
25 changes: 23 additions & 2 deletions rpm/SPECS/dwarves.spec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
%define libver 1

Name: dwarves
Version: 1.23
Version: 1.24
Release: 1%{?dist}
License: GPLv2
Summary: Debugging Information Manipulation Tools (pahole & friends)
Expand Down Expand Up @@ -79,7 +79,7 @@ rm -Rf %{buildroot}
%files
%doc README.ctracer
%doc README.btf
%doc changes-v1.23
%doc changes-v1.24
%doc NEWS
%{_bindir}/btfdiff
%{_bindir}/codiff
Expand Down Expand Up @@ -131,6 +131,21 @@ rm -Rf %{buildroot}
%{_libdir}/%{libname}_reorganize.so

%changelog
* Wed Aug 17 2022 Arnaldo Carvalho de Melo <[email protected]> - 1.24-1
- 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.

* Thu Jul 21 2022 Fedora Release Engineering <[email protected]> - 1.23-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Thu Jan 20 2022 Fedora Release Engineering <[email protected]> - 1.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Dec 8 2021 Arnaldo Carvalho de Melo <[email protected]> - 1.23-1
- New release: v1.23
- Process DW_TAG_LLVM_annotation tags.
Expand Down Expand Up @@ -161,6 +176,12 @@ rm -Rf %{buildroot}
- Introduce sorted type output (--sort).
- Disable incomplete CTF encoder.

* Wed Jul 21 2021 Fedora Release Engineering <[email protected]> - 1.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Mon May 10 2021 Arnaldo Carvalho de Melo <[email protected]> - 1.21-2
- Backport 0001-btf-Remove-ftrace-filter.patch from upstream

* Fri Apr 9 2021 Arnaldo Carvalho de Melo <[email protected]> - 1.21-1
- New release: v1.21
- DWARF loader:
Expand Down

0 comments on commit de24234

Please sign in to comment.