From a9f6545f430094136f68f8880173a9297e5afae5 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Sat, 26 Aug 2017 00:17:57 +0000 Subject: [PATCH] Extend the workaround for LLVM bug 11663 to MIPS N32. This fixes infinite recursion in /sbin/init for MIPS N32. Submitted by: Robert M. Kovacsics MFC after: 1 week Sponsored by: DARPA / AFRL --- contrib/compiler-rt/lib/builtins/int_lib.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contrib/compiler-rt/lib/builtins/int_lib.h b/contrib/compiler-rt/lib/builtins/int_lib.h index 5021b82f3cc2..97ca42e0023d 100644 --- a/contrib/compiler-rt/lib/builtins/int_lib.h +++ b/contrib/compiler-rt/lib/builtins/int_lib.h @@ -92,12 +92,13 @@ * does not have dedicated bit counting instructions. */ #if defined(__FreeBSD__) && (defined(__sparc64__) || \ - defined(__mips_n64) || defined(__mips_o64) || defined(__riscv)) + defined(__mips_n32) || defined(__mips_n64) || defined(__mips_o64) || \ + defined(__riscv)) si_int __clzsi2(si_int); si_int __ctzsi2(si_int); #define __builtin_clz __clzsi2 #define __builtin_ctz __ctzsi2 -#endif /* FreeBSD && (sparc64 || mips_n64 || mips_o64) */ +#endif /* FreeBSD && (sparc64 || mips_n32 || mips_n64 || mips_o64 || riscv) */ COMPILER_RT_ABI si_int __paritysi2(si_int a); COMPILER_RT_ABI si_int __paritydi2(di_int a);