From 86b7947156a0c33e768d0a265e38f2881a70a7e2 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 6 Mar 2020 23:19:37 -0800 Subject: [PATCH] makeinst: Do not undef POSIX on clang/arm if __arm internal compiler macro is defined then make assumes that the system is not posix and goes ahead and undefs POSIX, which results in miscompiling make with clang, since clang does define __arm unlike gcc which does not, but they both support posix just fine, so here check for compiler not being clang when __arm is defined before undefining posix Fixes error like ../make-4.3/src/job.c:507:27: error: too many arguments to function call, expected 0, have 1 sigsetmask (siggetmask (0) & ~fatal_signal_mask) ~~~~~~~~~~ ^ Upstream-Status: Pending Signed-off-by: Khem Raj --- src/makeint.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/makeint.h b/src/makeint.h index c428a36..fadf963 100644 --- a/src/makeint.h +++ b/src/makeint.h @@ -115,7 +115,7 @@ extern int errno; #endif /* Some systems define _POSIX_VERSION but are not really POSIX.1. */ -#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) +#if (defined (butterfly) || (defined (__arm) && !defined(__clang__)) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) # undef POSIX #endif -- 2.25.1