[newlib-cygwin] Cygwin: Makefile.in: add -fno-builtin-execve CFLAG when building exec.o

Corinna Vinschen corinna@sourceware.org
Wed Feb 26 16:06:00 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5f66c2c756c2b3b43e565e471c82ee4ed05a4adb

commit 5f66c2c756c2b3b43e565e471c82ee4ed05a4adb
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Wed Feb 26 17:02:01 2020 +0100

    Cygwin: Makefile.in: add -fno-builtin-execve CFLAG when building exec.o
    
    gcc-9.2.0 has an execve builtin which uses the nothrow attribute.
    This results in an error when aliasing execve to _execve for newlib:
    
    exec.cc:88:23: error: 'int _execve(const char*, char* const*, char*
    const*)' specifies less restrictive attribute than its target
    'int execve(const char*, char* const*, char* const*)': 'nothrow'
    [-Werror=missing-attributes]
       88 | EXPORT_ALIAS (execve, _execve) /* For newlib */
    
    Add the -fno-builtin-execve CFLAGS when building exec.o to override
    the gcc builtin.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/Makefile.in | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in
index ca0633e..f273ba7 100644
--- a/winsup/cygwin/Makefile.in
+++ b/winsup/cygwin/Makefile.in
@@ -567,6 +567,8 @@ ifeq ($(target_cpu),i686)
 exceptions_CFLAGS:=-fno-omit-frame-pointer
 endif
 endif
+# required since gcc 9.x
+exec_CFLAGS:=-fno-builtin-execve
 
 fhandler_proc_CFLAGS+=-DUSERNAME="\"$(USER)\"" -DHOSTNAME="\"$(HOSTNAME)\""
 fhandler_proc_CFLAGS+=-DGCC_VERSION="\"`$(CC) -v 2>&1 | tail -n 1`\""



More information about the Cygwin-cvs mailing list