Re: ANNOUNCE: pahole v1.20 (gcc11 DWARF5's default, lots of ELF sections, BTF)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 4, 2021 at 11:07 PM Arnaldo Carvalho de Melo
<arnaldo.melo@xxxxxxxxx> wrote:
>
> 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:
>

Congrats and thanks for v1.20 and to all involved folks.

- Sedat -

> 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@xxxxxxxxxx>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux