Home
last modified time | relevance | path

Searched refs:btf_ext (Results 1 – 8 of 8) sorted by relevance

/linux/tools/lib/bpf/
H A Dbtf.h25 struct btf_ext;
157 LIBBPF_API struct btf *btf__parse(const char *path, struct btf_ext **btf_ext);
159 LIBBPF_API struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext);
194 LIBBPF_API struct btf_ext *btf_ext__new(const __u8 *data, __u32 size);
195 LIBBPF_API void btf_ext__free(struct btf_ext *btf_ext);
196 LIBBPF_API const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size);
197 LIBBPF_API enum btf_endianness btf_ext__endianness(const struct btf_ext *btf_ext);
198 LIBBPF_API int btf_ext__set_endianness(struct btf_ext *btf_ext,
280 struct btf_ext *btf_ext; member
309 struct btf_ext *btf_ext; member
[all …]
H A Dbtf.c1448 struct btf_ext **btf_ext) in btf_parse_elf() argument
1521 if (btf_ext && secs.btf_ext_data) { in btf_parse_elf()
1522 *btf_ext = btf_ext__new(secs.btf_ext_data->d_buf, secs.btf_ext_data->d_size); in btf_parse_elf()
1523 if (!*btf_ext) { in btf_parse_elf()
1527 } else if (btf_ext) { in btf_parse_elf()
1528 *btf_ext = NULL; in btf_parse_elf()
1541 if (btf_ext) in btf_parse_elf()
1542 btf_ext__free(*btf_ext); in btf_parse_elf()
1549 struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext) in btf__parse_elf() argument
1551 return libbpf_ptr(btf_parse_elf(path, NULL, btf_ext)); in btf__parse_elf()
[all …]
H A Dlibbpf_legacy.h126 struct btf_ext;
134 LIBBPF_API const void *btf_ext__get_raw_data(const struct btf_ext *btf_ext, __u32 *size);
H A Dlinker.c64 struct btf_ext *btf_ext; member
154 struct btf_ext *btf_ext; member
208 btf_ext__free(linker->btf_ext); in bpf_linker__free()
509 btf_ext__free(obj.btf_ext); in bpf_linker_add_file()
794 obj->btf_ext = btf_ext__new(data->d_buf, shdr->sh_size); in linker_load_obj_file()
795 err = libbpf_get_error(obj->btf_ext); in linker_load_obj_file()
1125 if (!obj->btf_ext) in linker_sanity_check_btf_ext()
1132 err = err ?: btf_ext_visit_type_ids(obj->btf_ext, check_btf_type_id, obj->btf); in linker_sanity_check_btf_ext()
1133 err = err ?: btf_ext_visit_str_offs(obj->btf_ext, check_btf_str_off, obj->btf); in linker_sanity_check_btf_ext()
2638 if (!obj->btf_ext) in linker_append_btf_ext()
[all …]
H A Dlibbpf_internal.h512 struct btf_ext { struct
599 int btf_ext_visit_type_ids(struct btf_ext *btf_ext, type_id_visit_fn visit, void *ctx);
600 int btf_ext_visit_str_offs(struct btf_ext *btf_ext, str_off_visit_fn visit, void *ctx);
H A Dlibbpf.c737 struct btf_ext *btf_ext; member
3380 obj->btf_ext = btf_ext__new(btf_ext_data->d_buf, btf_ext_data->d_size); in bpf_object__init_btf()
3381 err = libbpf_get_error(obj->btf_ext); in bpf_object__init_btf()
3385 obj->btf_ext = NULL; in bpf_object__init_btf()
3390 ext_segs[0] = &obj->btf_ext->func_info; in bpf_object__init_btf()
3391 ext_segs[1] = &obj->btf_ext->line_info; in bpf_object__init_btf()
3392 ext_segs[2] = &obj->btf_ext->core_relo_info; in bpf_object__init_btf()
3590 if (obj->btf_ext && obj->btf_ext->core_relo_info.len && !obj->btf_custom_path) in obj_needs_vmlinux_btf()
6144 if (obj->btf_ext->core_relo_info.len == 0) in bpf_object__relocate_core()
6162 seg = &obj->btf_ext->core_relo_info; in bpf_object__relocate_core()
[all …]
/linux/tools/bpf/bpftool/
H A Dgen.c2444 struct btf_ext *btf_ext = NULL; in btfgen_record_obj() local
2450 btf = btf__parse(obj_path, &btf_ext); in btfgen_record_obj()
2457 if (!btf_ext) { in btfgen_record_obj()
2464 if (btf_ext->core_relo_info.len == 0) { in btfgen_record_obj()
2475 seg = &btf_ext->core_relo_info; in btfgen_record_obj()
2511 btf_ext__free(btf_ext); in btfgen_record_obj()
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dbtf.c4909 struct btf_ext *btf_ext = NULL; in do_test_file() local
4924 btf = btf__parse_elf(test->file, &btf_ext); in do_test_file()
4936 has_btf_ext = btf_ext != NULL; in do_test_file()
4937 btf_ext__free(btf_ext); in do_test_file()