On Mon, Nov 29, 2021 at 2:01 AM Alan Maguire <alan.maguire@xxxxxxxxxx> wrote: > > When compiling libbpf with gcc 4.8.5, we see: > > CC staticobjs/btf_dump.o > btf_dump.c: In function ‘btf_dump_dump_type_data.isra.24’: > btf_dump.c:2296:5: error: ‘err’ may be used uninitialized in this function [-Werror=maybe-uninitialized] > if (err < 0) > ^ > cc1: all warnings being treated as errors > make: *** [staticobjs/btf_dump.o] Error 1 > > While gcc 4.8.5 is too old to build the upstream kernel, it's possible it > could be used to build standalone libbpf which suffers from the same problem. > Silence the error by initializing 'err' to 0. The warning/error seems to be > a false positive since err is set early in the function. Regardless we > shouldn't prevent libbpf from building for this. > > Fixes: 920d16af9b42 ("libbpf: BTF dumper support for typed data") > > Signed-off-by: Alan Maguire <alan.maguire@xxxxxxxxxx> > --- Arnaldo also complained about this. Applied to bpf-next, I don't think it needs to be in the bpf tree. Thanks. > tools/lib/bpf/btf_dump.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/lib/bpf/btf_dump.c b/tools/lib/bpf/btf_dump.c > index 17db62b..5cae716 100644 > --- a/tools/lib/bpf/btf_dump.c > +++ b/tools/lib/bpf/btf_dump.c > @@ -2194,7 +2194,7 @@ static int btf_dump_dump_type_data(struct btf_dump *d, > __u8 bits_offset, > __u8 bit_sz) > { > - int size, err; > + int size, err = 0; > > size = btf_dump_type_data_check_overflow(d, t, id, data, bits_offset); > if (size < 0) > -- > 1.8.3.1 >