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