Lines Matching refs:str_off
224 h->str_off = bswap_32(h->str_off); in btf_bswap_hdr()
258 if (meta_left < (long long)hdr->str_off + hdr->str_len) { in btf_parse_hdr()
263 if ((long long)hdr->type_off + hdr->type_len > hdr->str_off) { in btf_parse_hdr()
265 hdr->type_off, hdr->type_len, hdr->str_off, hdr->str_len); in btf_parse_hdr()
459 static int btf_validate_str(const struct btf *btf, __u32 str_off, const char *what, __u32 type_id) in btf_validate_str() argument
463 s = btf__str_by_offset(btf, str_off); in btf_validate_str()
465 pr_warn("btf: type [%u]: invalid %s (string offset %u)\n", type_id, what, str_off); in btf_validate_str()
1087 btf->strs_data = btf->raw_data + btf->hdr->hdr_len + btf->hdr->str_off; in btf_new()
1853 btf->hdr->str_off += data_sz; in btf_commit_type()
1864 static int btf_rewrite_str(struct btf_pipe *p, __u32 *str_off) in btf_rewrite_str() argument
1869 if (!*str_off) /* nothing to do for empty strings */ in btf_rewrite_str()
1873 hashmap__find(p->str_off_map, *str_off, &mapped_off)) { in btf_rewrite_str()
1874 *str_off = mapped_off; in btf_rewrite_str()
1878 off = btf__add_str(p->dst, btf__str_by_offset(p->src, *str_off)); in btf_rewrite_str()
1886 err = hashmap__append(p->str_off_map, *str_off, off); in btf_rewrite_str()
1891 *str_off = off; in btf_rewrite_str()
1899 __u32 *str_off; in btf_add_type() local
1920 while ((str_off = btf_field_iter_next(&it))) { in btf_add_type()
1921 err = btf_rewrite_str(p, str_off); in btf_add_type()
1982 __u32 *type_id, *str_off; in btf__add_btf() local
1998 while ((str_off = btf_field_iter_next(&it))) { in btf__add_btf()
1999 err = btf_rewrite_str(&p, str_off); in btf__add_btf()
2034 btf->hdr->str_off += data_sz; in btf__add_btf()
2370 btf->hdr->str_off += sz; in btf__add_field()
2480 btf->hdr->str_off += sz; in btf__add_enum_value()
2552 btf->hdr->str_off += sz; in btf__add_enum64_value()
2791 btf->hdr->str_off += sz; in btf__add_func_param()
2928 btf->hdr->str_off += sz; in btf__add_datasec_var_info()
3799 __u32 *str_off; in btf_for_each_str_off() local
3805 while ((str_off = btf_field_iter_next(&it))) { in btf_for_each_str_off()
3806 r = fn(str_off, ctx); in btf_for_each_str_off()
3825 __u32 str_off = *str_off_ptr; in strs_dedup_remap_str_off() local
3830 if (str_off == 0 || str_off < d->btf->start_str_off) in strs_dedup_remap_str_off()
3833 s = btf__str_by_offset(d->btf, str_off); in strs_dedup_remap_str_off()
5287 d->btf->hdr->str_off = d->btf->hdr->type_len; in btf_dedup_compact_types()