Lines Matching defs:btf

15 #include <linux/btf.h>
20 #include "btf.h"
58 struct btf *btf;
147 struct btf *btf;
197 btf__free(linker->btf);
420 linker->btf = btf__new_empty();
421 err = libbpf_get_error(linker->btf);
461 btf__free(obj.btf);
656 obj->btf = btf__new(data->d_buf, shdr->sh_size);
657 err = libbpf_get_error(obj->btf);
917 struct btf *btf = ctx;
919 if (*type_id >= btf__type_cnt(btf))
927 struct btf *btf = ctx;
930 s = btf__str_by_offset(btf, *str_off);
943 if (!obj->btf)
946 n = btf__type_cnt(obj->btf);
948 t = btf_type_by_id(obj->btf, i);
950 err = err ?: btf_type_visit_type_ids(t, check_btf_type_id, obj->btf);
951 err = err ?: btf_type_visit_str_offs(t, check_btf_str_off, obj->btf);
967 if (!obj->btf)
970 err = err ?: btf_ext_visit_type_ids(obj->btf_ext, check_btf_type_id, obj->btf);
971 err = err ?: btf_ext_visit_str_offs(obj->btf_ext, check_btf_str_off, obj->btf);
1299 const struct btf *btf1, __u32 id1,
1300 const struct btf *btf2, __u32 id2)
1493 const struct btf *main_btf,
1496 const struct btf *extra_btf,
1589 t = btf__type_by_id(obj->btf, btf_id);
1594 t = skip_mods_and_typedefs(obj->btf, t->type, NULL);
1596 err = parse_btf_map_def(sym_name, obj->btf, t, true /*strict*/, &src_def, &src_inner_def);
1603 t = btf__type_by_id(linker->btf, glob_sym->btf_id);
1604 t = skip_mods_and_typedefs(linker->btf, t->type, NULL);
1605 err = parse_btf_map_def(sym_name, linker->btf, t, true /*strict*/, &dst_def, &dst_inner_def);
1616 return map_defs_match(sym_name, linker->btf, &dst_def, &dst_inner_def,
1617 obj->btf, &src_def, &src_inner_def);
1634 src_t = btf__type_by_id(obj->btf, btf_id);
1646 linker->btf, glob_sym->btf_id, obj->btf, btf_id))
1666 if (!obj->btf) {
1671 n = btf__type_cnt(obj->btf);
1673 t = btf__type_by_id(obj->btf, i);
1679 name = btf__str_by_offset(obj->btf, t->name_off);
1693 t = btf__type_by_id(obj->btf, vi->type);
1694 name = btf__str_by_offset(obj->btf, t->name_off);
1742 static int complete_extern_btf_info(struct btf *dst_btf, int dst_id,
1743 struct btf *src_btf, int src_id)
1829 if (!obj->btf) {
1858 t = btf__type_by_id(obj->btf, btf_sec_id);
1859 sec_name = btf__str_by_offset(obj->btf, t->name_off);
1952 if (complete_extern_btf_info(linker->btf, glob_sym->btf_id,
1953 obj->btf, btf_id))
2136 if (!obj->btf)
2139 n = btf__type_cnt(obj->btf);
2144 t = btf_type_by_id(obj->btf, i);
2148 sec_name = btf__str_by_offset(obj->btf, t->name_off);
2196 const struct btf_type *vt = btf__type_by_id(obj->btf, vi->type);
2197 const char *var_name = btf__str_by_offset(obj->btf, vt->name_off);
2240 if (!obj->btf)
2243 start_id = btf__type_cnt(linker->btf);
2244 n = btf__type_cnt(obj->btf);
2253 t = btf__type_by_id(obj->btf, i);
2261 name = btf__str_by_offset(obj->btf, t->name_off);
2289 id = btf__add_type(linker->btf, obj->btf, t);
2305 n = btf__type_cnt(linker->btf);
2307 struct btf_type *dst_t = btf_type_by_id(linker->btf, i);
2325 glob_t = btf_type_by_id(linker->btf, glob_sym->btf_id);
2351 t = btf__type_by_id(obj->btf, src_sec->sec_type_id);
2359 t = btf_type_by_id(linker->btf, new_id);
2361 name = btf__str_by_offset(linker->btf, t->name_off);
2383 sz = btf__resolve_size(linker->btf, glob_sym->underlying_btf_id);
2447 sec_name = btf__name_by_offset(obj->btf, ext_sec->sec_name_off);
2476 sec_name = btf__name_by_offset(obj->btf, ext_sec->sec_name_off);
2498 s = btf__str_by_offset(obj->btf, src_rec->file_name_off);
2499 str_off = btf__add_str(linker->btf, s);
2504 s = btf__str_by_offset(obj->btf, src_rec->line_off);
2505 str_off = btf__add_str(linker->btf, s);
2518 sec_name = btf__name_by_offset(obj->btf, ext_sec->sec_name_off);
2541 s = btf__str_by_offset(obj->btf, src_rec->access_str_off);
2542 str_off = btf__add_str(linker->btf, s);
2660 struct btf *btf = linker->btf;
2666 if (btf__type_cnt(linker->btf) == 1)
2675 id = btf__add_datasec(btf, sec->sec_name, sec->sec_sz);
2685 if (btf__add_datasec_var_info(btf, vi->type, vi->offset, vi->size))
2697 err = btf__dedup(linker->btf, &opts);
2704 raw_data = btf__raw_data(linker->btf, &raw_sz);
2741 str_off = btf__add_str(linker->btf, sec_name);