|
| 1 | +DWARF loader: |
| 2 | + |
| 3 | +- Handle DWARF5 DW_OP_addrx properly |
| 4 | + |
| 5 | + Part of the effort to support the subset of DWARF5 that is generated when building the kernel. |
| 6 | + |
| 7 | +- Handle subprogram ret type with abstract_origin properly |
| 8 | + |
| 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. |
| 11 | + |
| 12 | +- Check .notes section for LTO build info |
| 13 | + |
| 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 |
| 16 | + information. |
| 17 | + |
| 18 | +- Check .debug_abbrev for cross-CU references |
| 19 | + |
| 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. |
| 24 | + |
| 25 | +- Permit merging all DWARF CU's for clang LTO built binary |
| 26 | + |
| 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 |
| 29 | + be used in later CUs. |
| 30 | + |
| 31 | +- Permit a flexible HASHTAGS__BITS |
| 32 | + |
| 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. |
| 35 | + |
| 36 | +- Use a better hashing function, from libbpf |
| 37 | + |
| 38 | + Enabling patch to combine compile units when using LTO. |
| 39 | + |
| 40 | +BTF encoder: |
| 41 | + |
| 42 | +- Add --btf_gen_all flag |
| 43 | + |
| 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. |
| 46 | + |
| 47 | +- Match ftrace addresses within ELF functions |
| 48 | + |
| 49 | + To cope with differences in how DWARF and ftrace describes function boundaries. |
| 50 | + |
| 51 | +- Funnel ELF error reporting through a macro |
| 52 | + |
| 53 | + To use libelf's elf_error() function, improving error messages. |
| 54 | + |
| 55 | +- Sanitize non-regular int base type |
| 56 | + |
| 57 | + Cope with clang with dwarf5 non-regular int base types, tricky stuff, see yhs |
| 58 | + full explanation in the relevant cset. |
| 59 | + |
| 60 | +- Add support for the floating-point types |
| 61 | + |
| 62 | + S/390 has floats'n'doubles in its arch specific linux headers, cope with that. |
| 63 | + |
| 64 | +Pretty printer: |
| 65 | + |
| 66 | +- Honour conf_fprintf.hex when printing enumerations |
| 67 | + |
| 68 | + If the user specifies --hex in the command line, honour it when printing enumerations. |
| 69 | + |
| 70 | +Signed-off-by: Arnaldo Carvalho de Melo < [email protected]> |
0 commit comments