elfutils does not compile with gcc 12.2.0

Nick vincent@systemli.org
Wed Aug 24 20:51:13 GMT 2022


I try to compile elfutils on OpenWrt with the newest gcc 12.2.0 version. 
However, it fails due to -Werror=use-after-free. A workaround is a patch 
that I found on the mailinglist, to disable -Werror 
(https://sourceware.org/legacy-ml/elfutils-devel/imported/msg00994.html) 
I modified it to apply to newest elfutils version. The error with 
elfutils 0.187 and gcc 12.2.0:

In function 'bigger_buffer',
     inlined from '__libdw_gunzip' at gzip.c:376:12:
gzip.c:98:9: error: pointer may be used after 'realloc' 
[-Werror=use-after-free]
    98 |     b = realloc (state->buffer, more -= 1024);
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gzip.c:96:13: note: call to 'realloc' here
    96 |   char *b = realloc (state->buffer, more);
       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cc1: all warnings being treated as errors

Can you apply the patch to disable werror? Or is it necessary to use 
some "#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuse-after-free""-statement?

Bests
Nick



More information about the Elfutils-devel mailing list