From 86b7947156a0c33e768d0a265e38f2881a70a7e2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
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 <raj.khem@gmail.com>
---
 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

