diff options
author | Andrii Nakryiko <andriin@fb.com> | 2019-02-08 14:19:37 -0500 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-02-08 15:04:13 -0500 |
commit | 02c874460f3d9213096323ac8a937fb486a4e70d (patch) | |
tree | e84c8a26ea0d7a4c727941f358572d7ea6f5afcb /tools/lib/bpf/btf.c | |
parent | d29d87f7e61226c339d1212beff6b82f653acd67 (diff) |
btf: expose API to work with raw btf data
This patch exposes new API btf__get_raw_data() that allows to get a copy
of raw BTF data out of struct btf. This is useful for external programs
that need to manipulate raw data, e.g., pahole using btf__dedup() to
deduplicate BTF type info and then writing it back to file.
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/lib/bpf/btf.c')
-rw-r--r-- | tools/lib/bpf/btf.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c index 46db0a3b5cb7..4fba0aa989df 100644 --- a/tools/lib/bpf/btf.c +++ b/tools/lib/bpf/btf.c | |||
@@ -439,6 +439,12 @@ int btf__fd(const struct btf *btf) | |||
439 | return btf->fd; | 439 | return btf->fd; |
440 | } | 440 | } |
441 | 441 | ||
442 | const void *btf__get_raw_data(const struct btf *btf, __u32 *size) | ||
443 | { | ||
444 | *size = btf->data_size; | ||
445 | return btf->data; | ||
446 | } | ||
447 | |||
442 | void btf__get_strings(const struct btf *btf, const char **strings, | 448 | void btf__get_strings(const struct btf *btf, const char **strings, |
443 | __u32 *str_len) | 449 | __u32 *str_len) |
444 | { | 450 | { |