Dear GNU Make maintainers,

I just cloned Make (with the 'master' branch on commit c5d4b7b2f260c). I also pulled the most recent changes in Gnulib's 'master' branch (putting me on Gnulib commit dd0af10fa597a) and bootstrapped Make.

I then ran the standard './configure' and 'make' commands to build it, but the build failed with the attached error messages when building 'src/guile.c'.

Just for completeness, I am using GCC 11.1.0, with GNU libc 2.33, on an Arch GNU/Linux distribution. Please let me know if anything else may be necessary to help debug this crash.

Thank you very much for maintaining Make, it is critical to many of our projects :-).

Cheers,
Mohammad

depbase=`echo src/guile.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H   -Isrc -I./src -Ilib -I./lib -DLIBDIR=\"/usr/local/lib\" 
-DLOCALEDIR=\"/usr/local/share/locale\"   -DMAKE_MAINTAINER_MODE  -isystem 
/usr/include/guile/2.2 -pthread -C -Wall -Wextra -Werror -Wwrite-strings 
-Wshadow -Wdeclaration-after-statement -Wbad-function-cast -Wformat-security 
-Wtype-limits -Wunused-but-set-parameter -Wlogical-op -Wpointer-arith 
-Wignored-qualifiers -Wformat-signedness -Wduplicated-cond -g -O2 -MT 
src/guile.o -MD -MP -MF $depbase.Tpo -c -o src/guile.o src/guile.c &&\
mv -f $depbase.Tpo $depbase.Po
src/read.c: In function ‘find_percent_cached’:
cc1: error: function may return address of local variable 
[-Werror=return-local-addr]
In file included from src/makeint.h:31,
                 from src/read.c:17:
lib/alloca.h:47:18: note: declared here
   47 | #  define alloca __builtin_alloca
src/read.c:2532:19: note: in expansion of macro ‘alloca’
 2532 |             new = alloca (slen + 1);
      |                   ^~~~~~
src/main.c: In function ‘main’:
src/main.c:1946:13: error: writing 1 byte into a region of size 0 
[-Werror=stringop-overflow=]
 1946 |       p[-1] = '\0';
      |       ~~~~~~^~~~~~
src/main.c:1943:15: note: destination object of size [0, 9223372036854775807] 
allocated by ‘quote_for_env’
 1943 |           p = quote_for_env (p, eval_strings->list[i]);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/makeint.h:31,
                 from src/main.c:17:
lib/alloca.h:47:18: note: at offset -1 into destination object of size [0, 
9223372036854775807] allocated by ‘__builtin_alloca’
   47 | #  define alloca __builtin_alloca
src/main.c:1938:19: note: in expansion of macro ‘alloca’
 1938 |       p = value = alloca (len);
      |                   ^~~~~~
src/read.c: In function ‘eval’:
src/read.c:1196:28: error: writing 1 byte into a region of size 0 
[-Werror=stringop-overflow=]
 1196 |                 *(--semip) = ';';
      |                 ~~~~~~~~~~~^~~~~
src/read.c:1015:19: note: destination object of size [0, 9223372036854775807] 
allocated by ‘find_map_unquote’
 1015 |         cmdleft = find_map_unquote (line, 
MAP_SEMI|MAP_COMMENT|MAP_VARIABLE);
      |                   
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [Makefile:1428: src/main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
make[1]: *** [Makefile:1428: src/read.o] Error 1
make[1]: Leaving directory '/path/to/build/make'
make: *** [Makefile:1514: all-recursive] Error 1

Reply via email to