From 5f66c2c756c2b3b43e565e471c82ee4ed05a4adb Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 26 Feb 2020 17:02:01 +0100 Subject: [PATCH] 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 --- winsup/cygwin/Makefile.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in index ca0633eb8..f273ba793 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`\"" -- 2.27.0