forked from acmel/dwarves
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changes-v1.16
104 lines (61 loc) · 3.16 KB
/
changes-v1.16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
v1.16 changes:
BTF encoder:
Andrii Nakryiko <[email protected]>:
- 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 <[email protected]>
- 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 <[email protected]>:
- Avoid infinite loop trying to determine type with static data member of its own type.
RPM spec file.
Jiri Olsa <[email protected]>
Add dwarves dependency on libdwarves1.
pfunct:
Arnaldo Carvalho de Melo <[email protected]>
- 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 <[email protected]>
Fix ptr_table__add_with_id() handling of pt->nr_entries, covering how
BTF variables IDs are encoded.
pglobal:
Arnaldo Carvalho de Melo <[email protected]>:
- 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 <[email protected]>:
- Fixup issues pointed out by various coverity reports.
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>