mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-22 01:09:06 +08:00
libbpf/btf: Fix string handling to support multi-split BTF
libbpf handling of split BTF has been written largely with the assumption that multiple splits are possible, i.e. split BTF on top of split BTF on top of base BTF. One area where this does not quite work is string handling in split BTF; the start string offset should be the base BTF string section length + the base BTF string offset. This worked in the past because for a single split BTF with base the start string offset was always 0. Signed-off-by: Alan Maguire <alan.maguire@oracle.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20250519165935.261614-2-alan.maguire@oracle.com
This commit is contained in:
committed by
Andrii Nakryiko
parent
31bb8f7936
commit
8df8d67f63
@@ -996,7 +996,7 @@ static struct btf *btf_new_empty(struct btf *base_btf)
|
||||
if (base_btf) {
|
||||
btf->base_btf = base_btf;
|
||||
btf->start_id = btf__type_cnt(base_btf);
|
||||
btf->start_str_off = base_btf->hdr->str_len;
|
||||
btf->start_str_off = base_btf->hdr->str_len + base_btf->start_str_off;
|
||||
btf->swapped_endian = base_btf->swapped_endian;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user