mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-24 10:19:07 +08:00
libbpf: Assume unsigned values for BTF_KIND_ENUM
Currently, BTF_KIND_ENUM type doesn't record whether enum values should be interpreted as signed or unsigned. In Linux, most enums are unsigned, though, so interpreting them as unsigned matches real world better. Change btf_dump test case to test maximum 32-bit value, instead of negative value. Signed-off-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20200303003233.3496043-3-andriin@fb.com
This commit is contained in:
committed by
Andrii Nakryiko
parent
26cbe2384c
commit
483a8c238f
@@ -916,13 +916,13 @@ static void btf_dump_emit_enum_def(struct btf_dump *d, __u32 id,
|
||||
/* enumerators share namespace with typedef idents */
|
||||
dup_cnt = btf_dump_name_dups(d, d->ident_names, name);
|
||||
if (dup_cnt > 1) {
|
||||
btf_dump_printf(d, "\n%s%s___%zu = %d,",
|
||||
btf_dump_printf(d, "\n%s%s___%zu = %u,",
|
||||
pfx(lvl + 1), name, dup_cnt,
|
||||
(__s32)v->val);
|
||||
(__u32)v->val);
|
||||
} else {
|
||||
btf_dump_printf(d, "\n%s%s = %d,",
|
||||
btf_dump_printf(d, "\n%s%s = %u,",
|
||||
pfx(lvl + 1), name,
|
||||
(__s32)v->val);
|
||||
(__u32)v->val);
|
||||
}
|
||||
}
|
||||
btf_dump_printf(d, "\n%s}", pfx(lvl));
|
||||
|
||||
Reference in New Issue
Block a user