Lines Matching refs:str_off
220 h->str_off = bswap_32(h->str_off); in btf_bswap_hdr()
254 if (meta_left < (long long)hdr->str_off + hdr->str_len) { in btf_parse_hdr()
259 if ((long long)hdr->type_off + hdr->type_len > hdr->str_off) { in btf_parse_hdr()
261 hdr->type_off, hdr->type_len, hdr->str_off, hdr->str_len); in btf_parse_hdr()
455 static int btf_validate_str(const struct btf *btf, __u32 str_off, const char *what, __u32 type_id) in btf_validate_str() argument
459 s = btf__str_by_offset(btf, str_off); in btf_validate_str()
461 pr_warn("btf: type [%u]: invalid %s (string offset %u)\n", type_id, what, str_off); in btf_validate_str()
1066 btf->strs_data = btf->raw_data + btf->hdr->hdr_len + btf->hdr->str_off; in btf_new()
1797 btf->hdr->str_off += data_sz; in btf_commit_type()
1808 static int btf_rewrite_str(struct btf_pipe *p, __u32 *str_off) in btf_rewrite_str() argument
1813 if (!*str_off) /* nothing to do for empty strings */ in btf_rewrite_str()
1817 hashmap__find(p->str_off_map, *str_off, &mapped_off)) { in btf_rewrite_str()
1818 *str_off = mapped_off; in btf_rewrite_str()
1822 off = btf__add_str(p->dst, btf__str_by_offset(p->src, *str_off)); in btf_rewrite_str()
1830 err = hashmap__append(p->str_off_map, *str_off, off); in btf_rewrite_str()
1835 *str_off = off; in btf_rewrite_str()
1843 __u32 *str_off; in btf_add_type() local
1864 while ((str_off = btf_field_iter_next(&it))) { in btf_add_type()
1865 err = btf_rewrite_str(p, str_off); in btf_add_type()
1926 __u32 *type_id, *str_off; in btf__add_btf() local
1942 while ((str_off = btf_field_iter_next(&it))) { in btf__add_btf()
1943 err = btf_rewrite_str(&p, str_off); in btf__add_btf()
1978 btf->hdr->str_off += data_sz; in btf__add_btf()
2314 btf->hdr->str_off += sz; in btf__add_field()
2424 btf->hdr->str_off += sz; in btf__add_enum_value()
2496 btf->hdr->str_off += sz; in btf__add_enum64_value()
2735 btf->hdr->str_off += sz; in btf__add_func_param()
2872 btf->hdr->str_off += sz; in btf__add_datasec_var_info()
3743 __u32 *str_off; in btf_for_each_str_off() local
3749 while ((str_off = btf_field_iter_next(&it))) { in btf_for_each_str_off()
3750 r = fn(str_off, ctx); in btf_for_each_str_off()
3769 __u32 str_off = *str_off_ptr; in strs_dedup_remap_str_off() local
3774 if (str_off == 0 || str_off < d->btf->start_str_off) in strs_dedup_remap_str_off()
3777 s = btf__str_by_offset(d->btf, str_off); in strs_dedup_remap_str_off()
5174 d->btf->hdr->str_off = d->btf->hdr->type_len; in btf_dedup_compact_types()