[PATCH] RISC-V: Fix build failure for -Werror=maybe-uninitialized
Nelson Chu
nelson@rivosinc.com
Fri Oct 28 07:38:19 GMT 2022
Thanks, please commit.
Nelson
On Fri, Oct 28, 2022 at 2:53 PM Tsukasa OI <research_trasio@irq.a4lg.com> wrote:
>
> Commit 40f1a1a4564b ("RISC-V: Output mapping symbols with ISA string.")
> caused a build failure on GCC 12 as follows:
>
> make[3]: Entering directory '$(builddir)/gas'
> CC config/tc-riscv.o
> In file included from $(srcdir)/gas/config/tc-riscv.c:23:
> $(srcdir)/gas/as.h: In function ‘make_mapping_symbol’:
> $(srcdir)/gas/as.h:123:15: error: ‘buff’ may be used uninitialized [-Werror=maybe-uninitialized]
> 123 | #define xfree free
> | ^~~~
> $(srcdir)/gas/config/tc-riscv.c:487:9: note: ‘buff’ was declared here
> 487 | char *buff;
> | ^~~~
> cc1: all warnings being treated as errors
> make[3]: *** [Makefile:1425: config/tc-riscv.o] Error 1
>
> This is caused by a false positive of "maybe uninitialized" variable
> detection (-Wmaybe-uninitialized). To avoid this error, this commit
> initializes the local variable buff to NULL first in all cases.
>
> gas/ChangeLog:
>
> * config/tc-riscv.c (make_mapping_symbol): Initialize variable
> buff with NULL to avoid build failure caused by a GCC's false
> positive of maybe uninitialized variable detection.
> ---
> gas/config/tc-riscv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
> index 91cff7de604..f4478eac11e 100644
> --- a/gas/config/tc-riscv.c
> +++ b/gas/config/tc-riscv.c
> @@ -484,7 +484,7 @@ make_mapping_symbol (enum riscv_seg_mstate state,
> bool reset_seg_arch_str)
> {
> const char *name;
> - char *buff;
> + char *buff = NULL;
> switch (state)
> {
> case MAP_DATA:
>
> base-commit: 56d4450bdfc873ff3c2d1ebb194c7a076d4d13f6
> --
> 2.37.2
>
More information about the Binutils
mailing list