25ad41e7b5
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
71 lines
2.4 KiB
Plaintext
71 lines
2.4 KiB
Plaintext
DWARF loader:
|
|
|
|
- Handle DWARF5 DW_OP_addrx properly
|
|
|
|
Part of the effort to support the subset of DWARF5 that is generated when building the kernel.
|
|
|
|
- Handle subprogram ret type with abstract_origin properly
|
|
|
|
Adds a second pass to resolve abstract origin DWARF description of functions to aid
|
|
the BTF encoder in getting the right return type.
|
|
|
|
- Check .notes section for LTO build info
|
|
|
|
When LTO is used, currently only with clang, we need to do extra steps to handle references
|
|
from one object (compile unit, aka CU) to another, a way for DWARF to avoid duplicating
|
|
information.
|
|
|
|
- Check .debug_abbrev for cross-CU references
|
|
|
|
When the kernel build process doesn't add an ELF note in vmlinux indicating that LTO was
|
|
used and thus intra-CU references are present and thus we need to use a more expensive
|
|
way to resolve types and (again) thus to encode BTF, we need to look at DWARF's .debug_abbrev
|
|
ELF section to figure out if such intra-CU references are present.
|
|
|
|
- Permit merging all DWARF CU's for clang LTO built binary
|
|
|
|
Allow not trowing away previously supposedly self contained compile units
|
|
(objects, aka CU, aka Compile Units) as they have type descriptions that will
|
|
be used in later CUs.
|
|
|
|
- Permit a flexible HASHTAGS__BITS
|
|
|
|
So that we can use a more expensive algorithm when we need to keep previously processed
|
|
compile units that will then be referenced by later ones to resolve types.
|
|
|
|
- Use a better hashing function, from libbpf
|
|
|
|
Enabling patch to combine compile units when using LTO.
|
|
|
|
BTF encoder:
|
|
|
|
- Add --btf_gen_all flag
|
|
|
|
A new command line to allow asking for the generation of all BTF encodings, so that we
|
|
can stop adding new command line options to enable new encodings in the kernel Makefile.
|
|
|
|
- Match ftrace addresses within ELF functions
|
|
|
|
To cope with differences in how DWARF and ftrace describes function boundaries.
|
|
|
|
- Funnel ELF error reporting through a macro
|
|
|
|
To use libelf's elf_error() function, improving error messages.
|
|
|
|
- Sanitize non-regular int base type
|
|
|
|
Cope with clang with dwarf5 non-regular int base types, tricky stuff, see yhs
|
|
full explanation in the relevant cset.
|
|
|
|
- Add support for the floating-point types
|
|
|
|
S/390 has floats'n'doubles in its arch specific linux headers, cope with that.
|
|
|
|
Pretty printer:
|
|
|
|
- Honour conf_fprintf.hex when printing enumerations
|
|
|
|
If the user specifies --hex in the command line, honour it when printing enumerations.
|
|
|
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|