[Sparc] Don't emit __multi3 on 32-bit SPARC (#66362)
LLVM fails to build on 32-bit Solaris/SPARC: several programs fail to link due to undefined references to `__multi3`. This reference is from `lib/libLLVMScalarOpts.a(LoopStrengthReduce.cpp.o)`. However, This function exists neither in the 32-bit `libgcc.a` nor in `libclang_rt.builtins-sparc.a`. It's only defined in their 64-bit counterparts. The same issue affects several 32-bit targets, e.g. 32-bit PowerPC as described in Issue #54460. The fix is the same: inhibit the libcall for 32-bit compilations. This patch does just that, regenerating the affected testcases. It allows the build to complete. Tested on `sparc-sun-solaris2.11`.
Loading
Please sign in to comment