| v1.16 changes: |
| |
| BTF encoder: |
| |
| Andrii Nakryiko <andriin@fb.com>: |
| |
| - Preserve and encode exported functions as BTF_KIND_FUNC. |
| |
| Add encoding of DWARF's DW_TAG_subprogram_type into BTF's BTF_KIND_FUNC |
| (plus corresponding BTF_KIND_FUNC_PROTO). Only exported functions are converted |
| for now. This allows to capture all the exported kernel functions, same subset |
| that's exposed through /proc/kallsyms. |
| |
| BTF loader: |
| |
| Arnaldo Carvalho de Melo <acme@redhat.com> |
| |
| - Add support for BTF_KIND_FUNC |
| |
| Some changes to the fprintf routines were needed, as BTF has as the |
| function type just a BTF_KIND_FUNC_PROTO, while DWARF has as the type for a |
| function its return value type. With a function->btf flag this was overcome and |
| all the other goodies in pfunct are present. |
| |
| Pretty printer: |
| |
| Arnaldo Carvalho de Melo: |
| |
| - Account inline type __aligned__ member types for spacing: |
| |
| union { |
| refcount_t rcu_users; /* 2568 4 */ |
| struct callback_head rcu __attribute__((__aligned__(8))); /* 2568 16 */ |
| - } __attribute__((__aligned__(8))); /* 2568 16 */ |
| + } __attribute__((__aligned__(8))); /* 2568 16 */ |
| struct pipe_inode_info * splice_pipe; /* 2584 8 */ |
| |
| - Fix alignment of class members that are structs/enums/unions |
| |
| E.g. look at that 'completion' member in this struct: |
| |
| struct cpu_stop_done { |
| atomic_t nr_todo; /* 0 4 */ |
| int ret; /* 4 4 */ |
| - struct completion completion; /* 8 32 */ |
| + struct completion completion; /* 8 32 */ |
| |
| /* size: 40, cachelines: 1, members: 3 */ |
| /* last cacheline: 40 bytes */ |
| |
| - Fixup handling classes with no members, solving a NULL deref. |
| |
| Gareth Lloyd <gareth.lloyd@uk.ibm.com>: |
| |
| - Avoid infinite loop trying to determine type with static data member of its own type. |
| |
| RPM spec file. |
| |
| Jiri Olsa <jolsa@redhat.com> |
| |
| Add dwarves dependency on libdwarves1. |
| |
| pfunct: |
| |
| Arnaldo Carvalho de Melo <acme@redhat.com> |
| |
| - type->type == 0 is void, fix --compile for that |
| |
| We were using the fall back for that, i.e. 'return 0;' was being emitted |
| for a function returning void, noticed with using BTF as the format. |
| |
| pdwtags: |
| |
| - Print DW_TAG_subroutine_type as well |
| |
| So that we can see at least via pdwtags those tags, be it from DWARF of BTF. |
| |
| core: |
| |
| Arnaldo Carvalho de Melo <acme@redhat.com> |
| |
| Fix ptr_table__add_with_id() handling of pt->nr_entries, covering how |
| BTF variables IDs are encoded. |
| |
| |
| pglobal: |
| |
| Arnaldo Carvalho de Melo <acme@redhat.com>: |
| |
| - Allow passing the format path specifier, to use with BTF |
| |
| I.e. now we can, just like with pahole, use: |
| |
| pglobal -F btf --variable foo.o |
| |
| To get the global variables. |
| |
| Tree wide: |
| |
| Arnaldo Carvalho de Melo <acme@redhat.com>: |
| |
| - Fixup issues pointed out by various coverity reports. |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |