Lines Matching refs:strs
1567 struct btf_str_ptrs *strs; in btf_str_mark_as_used() local
1573 strs = ctx; in btf_str_mark_as_used()
1574 s = bsearch(strs->data + *str_off_ptr, strs->ptrs, strs->cnt, in btf_str_mark_as_used()
1584 struct btf_str_ptrs *strs; in btf_str_remap_offset() local
1590 strs = ctx; in btf_str_remap_offset()
1591 s = bsearch(strs->data + *str_off_ptr, strs->ptrs, strs->cnt, in btf_str_remap_offset()
1616 struct btf_str_ptrs strs = { in btf_dedup_strings() local
1627 if (strs.cnt + 1 > strs.cap) { in btf_dedup_strings()
1630 strs.cap += max(strs.cnt / 2, 16); in btf_dedup_strings()
1631 new_ptrs = realloc(strs.ptrs, in btf_dedup_strings()
1632 sizeof(strs.ptrs[0]) * strs.cap); in btf_dedup_strings()
1637 strs.ptrs = new_ptrs; in btf_dedup_strings()
1640 strs.ptrs[strs.cnt].str = p; in btf_dedup_strings()
1641 strs.ptrs[strs.cnt].used = false; in btf_dedup_strings()
1644 strs.cnt++; in btf_dedup_strings()
1655 strs.ptrs[0].used = true; in btf_dedup_strings()
1656 err = btf_for_each_str_off(d, btf_str_mark_as_used, &strs); in btf_dedup_strings()
1661 qsort(strs.ptrs, strs.cnt, sizeof(strs.ptrs[0]), str_sort_by_content); in btf_dedup_strings()
1669 grp_used = strs.ptrs[0].used; in btf_dedup_strings()
1671 for (i = 1; i <= strs.cnt; i++) { in btf_dedup_strings()
1677 if (i < strs.cnt && in btf_dedup_strings()
1678 !strcmp(strs.ptrs[i].str, strs.ptrs[grp_idx].str)) { in btf_dedup_strings()
1679 grp_used = grp_used || strs.ptrs[i].used; in btf_dedup_strings()
1690 __u32 len = strlen(strs.ptrs[grp_idx].str); in btf_dedup_strings()
1692 memmove(p, strs.ptrs[grp_idx].str, len + 1); in btf_dedup_strings()
1694 strs.ptrs[j].new_off = new_off; in btf_dedup_strings()
1698 if (i < strs.cnt) { in btf_dedup_strings()
1700 grp_used = strs.ptrs[i].used; in btf_dedup_strings()
1710 qsort(strs.ptrs, strs.cnt, sizeof(strs.ptrs[0]), str_sort_by_offset); in btf_dedup_strings()
1713 err = btf_for_each_str_off(d, btf_str_remap_offset, &strs); in btf_dedup_strings()
1721 free(strs.ptrs); in btf_dedup_strings()