public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] RISC-V: Fix build failure for -Werror=maybe-uninitialized
@ 2022-10-28  6:53 Tsukasa OI
  2022-10-28  7:38 ` Nelson Chu
  0 siblings, 1 reply; 2+ messages in thread
From: Tsukasa OI @ 2022-10-28  6:53 UTC (permalink / raw)
  To: Tsukasa OI, Nelson Chu, Kito Cheng, Palmer Dabbelt; +Cc: binutils

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] RISC-V: Fix build failure for -Werror=maybe-uninitialized
  2022-10-28  6:53 [PATCH] RISC-V: Fix build failure for -Werror=maybe-uninitialized Tsukasa OI
@ 2022-10-28  7:38 ` Nelson Chu
  0 siblings, 0 replies; 2+ messages in thread
From: Nelson Chu @ 2022-10-28  7:38 UTC (permalink / raw)
  To: Tsukasa OI; +Cc: Kito Cheng, Palmer Dabbelt, binutils

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
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-10-28  7:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-28  6:53 [PATCH] RISC-V: Fix build failure for -Werror=maybe-uninitialized Tsukasa OI
2022-10-28  7:38 ` Nelson Chu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).