Lines Matching refs:base_btf
97 struct btf *base_btf; member
275 if (btf->base_btf && hdr->str_len == 0) in btf_parse_str_sec()
281 if (!btf->base_btf && start[0]) { in btf_parse_str_sec()
458 return btf->base_btf; in btf__base_btf()
467 return btf_type_by_id(btf->base_btf, type_id); in btf_type_by_id()
497 if (btf->base_btf && btf->base_btf->ptr_sz > 0) in determine_ptr_size()
498 return btf->base_btf->ptr_sz; in determine_ptr_size()
803 static struct btf *btf_new_empty(struct btf *base_btf) in btf_new_empty() argument
818 if (base_btf) { in btf_new_empty()
819 btf->base_btf = base_btf; in btf_new_empty()
820 btf->start_id = btf__type_cnt(base_btf); in btf_new_empty()
821 btf->start_str_off = base_btf->hdr->str_len; in btf_new_empty()
825 btf->raw_size = sizeof(struct btf_header) + (base_btf ? 0 : 1); in btf_new_empty()
839 btf->hdr->str_len = base_btf ? 0 : 1; /* empty string at offset 0 */ in btf_new_empty()
849 struct btf *btf__new_empty_split(struct btf *base_btf) in btf__new_empty_split() argument
851 return libbpf_ptr(btf_new_empty(base_btf)); in btf__new_empty_split()
854 static struct btf *btf_new(const void *data, __u32 size, struct btf *base_btf) in btf_new() argument
868 if (base_btf) { in btf_new()
869 btf->base_btf = base_btf; in btf_new()
870 btf->start_id = btf__type_cnt(base_btf); in btf_new()
871 btf->start_str_off = base_btf->hdr->str_len; in btf_new()
909 static struct btf *btf_parse_elf(const char *path, struct btf *base_btf, in btf_parse_elf() argument
996 btf = btf_new(btf_data->d_buf, btf_data->d_size, base_btf); in btf_parse_elf()
1041 struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf) in btf__parse_elf_split() argument
1043 return libbpf_ptr(btf_parse_elf(path, base_btf, NULL)); in btf__parse_elf_split()
1046 static struct btf *btf_parse_raw(const char *path, struct btf *base_btf) in btf_parse_raw() argument
1100 btf = btf_new(data, sz, base_btf); in btf_parse_raw()
1114 struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf) in btf__parse_raw_split() argument
1116 return libbpf_ptr(btf_parse_raw(path, base_btf)); in btf__parse_raw_split()
1119 static struct btf *btf_parse(const char *path, struct btf *base_btf, struct btf_ext **btf_ext) in btf_parse() argument
1127 btf = btf_parse_raw(path, base_btf); in btf_parse()
1133 return btf_parse_elf(path, base_btf, btf_ext); in btf_parse()
1141 struct btf *btf__parse_split(const char *path, struct btf *base_btf) in btf__parse_split() argument
1143 return libbpf_ptr(btf_parse(path, base_btf, NULL)); in btf__parse_split()
1318 return btf__str_by_offset(btf->base_btf, offset); in btf__str_by_offset()
1330 struct btf *btf_get_from_fd(int btf_fd, struct btf *base_btf) in btf_get_from_fd() argument
1377 btf = btf_new(ptr, btf_info.btf_size, base_btf); in btf_get_from_fd()
1384 struct btf *btf__load_from_kernel_by_id_split(__u32 id, struct btf *base_btf) in btf__load_from_kernel_by_id_split() argument
1393 btf = btf_get_from_fd(btf_fd, base_btf); in btf__load_from_kernel_by_id_split()
1459 if (!btf->base_btf && btf->hdr->str_len == 1) in btf_ensure_modifiable()
1484 if (btf->base_btf) { in btf__find_str()
1485 off = btf__find_str(btf->base_btf, s); in btf__find_str()
1510 if (btf->base_btf) { in btf__add_str()
1511 off = btf__find_str(btf->base_btf, s); in btf__add_str()
1644 if (src_btf->base_btf) in btf__add_btf()
3291 if (d->btf->base_btf) { in strs_dedup_remap_str_off()
3292 err = btf__find_str(d->btf->base_btf, s); in strs_dedup_remap_str_off()
3333 if (!d->btf->base_btf) { in btf_dedup_strings()
3666 if (!d->btf->base_btf) in btf_dedup_prep()