[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210204220741.GA920417@kernel.org>
Date: Thu, 4 Feb 2021 19:07:41 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: dwarves@...r.kernel.org
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
bpf@...r.kernel.org, Jiri Olsa <jolsa@...nel.org>,
Jan Engelhardt <jengelh@...i.de>,
Domenico Andreoli <cavok@...ian.org>,
Matthias Schwarzott <zzam@...too.org>,
Andrii Nakryiko <andriin@...com>, Yonghong Song <yhs@...com>,
Mark Wieelard <mjw@...hat.com>,
Paul Moore <paul@...l-moore.com>,
Ondrej Mosnacek <omosnace@...hat.com>,
Daniel P. Berrangé <berrange@...hat.com>,
Sedat Dilek <sedat.dilek@...il.com>,
Tom Stellard <tstellar@...hat.com>
Subject: ANNOUNCE: pahole v1.20 (gcc11 DWARF5's default, lots of ELF
sections, BTF)
Hi,
The v1.20 release of pahole and its friends is out, mostly
addressing problems related to gcc 11 defaulting to DWARF5 for -g,
available at the usual places:
Main git repo:
git://git.kernel.org/pub/scm/devel/pahole/pahole.git
Mirror git repo:
https://github.com/acmel/dwarves.git
tarball + gpg signature:
https://fedorapeople.org/~acme/dwarves/dwarves-1.20.tar.xz
https://fedorapeople.org/~acme/dwarves/dwarves-1.20.tar.bz2
https://fedorapeople.org/~acme/dwarves/dwarves-1.20.tar.sign
Best Regards,
- Arnaldo
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, to handle ELF objects with
more than 65534 sections, for instance, which happens with kernels built
with 'KCFLAGS="-ffunction-sections -fdata-sections", Other cases may
include when using FG-ASLR, LTO.
- Cope with functions without a name, as seen sometimes when building kernel
images with some versions of clang, when a SEGFAULT was taking place.
- Fix BTF variable generation for kernel modules, not skipping variables at
offset zero.
- Fix address size to match what is in the ELF file being processed, to fix using
a 64-bit pahole binary to generate BTF for a 32-bit vmlinux image.
- Use kernel module ftrace addresses when finding which functions to encode,
which increases the number of functions encoded.
libbpf:
- Allow use of packaged version, for distros wanting to dynamically link with
the system's libbpf package instead of using the libbpf git submodule shipped
in pahole's source code.
DWARF loader:
- Support DW_AT_data_bit_offset
This appeared in DWARF4 but is supported only in gcc's -gdwarf-5,
support it in a way that makes the output be the same for both cases.
$ gcc -gdwarf-5 -c examples/dwarf5/bf.c
$ pahole bf.o
struct pea {
long int a:1; /* 0: 0 8 */
long int b:1; /* 0: 1 8 */
long int c:1; /* 0: 2 8 */
/* XXX 29 bits hole, try to pack */
/* Bitfield combined with next fields */
int after_bitfield; /* 4 4 */
/* size: 8, cachelines: 1, members: 4 */
/* sum members: 4 */
/* sum bitfield members: 3 bits, bit holes: 1, sum bit holes: 29 bits */
/* last cacheline: 8 bytes */
};
- DW_FORM_implicit_const in attr_numeric() and attr_offset()
- Support DW_TAG_GNU_call_site, its the standardized rename of the previously supported
DW_TAG_GNU_call_site.
build:
- Fix compilation on 32-bit architectures.
Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
Powered by blists - more mailing lists