67 lines
2.4 KiB
Plaintext
67 lines
2.4 KiB
Plaintext
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@redhat.com>
|