git: 9d5e42894b39 - main - net/mpich: fix build with clang 19 on i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 18 Sep 2024 07:26:03 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9d5e42894b39c428c6241efb1a053f7e571a6fee
commit 9d5e42894b39c428c6241efb1a053f7e571a6fee
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-09-17 20:30:17 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-09-18 07:24:55 +0000
net/mpich: fix build with clang 19 on i386
In bug 276035 this was already handled once, but with clang 19 on i386
we get similar link errors:
ld: error: undefined reference: __addtf3
>>> referenced by lib/.libs/libmpi.so (disallowed by --no-allow-shlib-undefined)
ld: error: undefined reference: __gttf2
>>> referenced by lib/.libs/libmpi.so (disallowed by --no-allow-shlib-undefined)
ld: error: undefined reference: __lttf2
>>> referenced by lib/.libs/libmpi.so (disallowed by --no-allow-shlib-undefined)
ld: error: undefined reference: __multf3
>>> referenced by lib/.libs/libmpi.so (disallowed by --no-allow-shlib-undefined)
ld: error: undefined reference: __extendxftf2
>>> referenced by lib/.libs/libmpi.so (disallowed by --no-allow-shlib-undefined)
ld: error: undefined reference: __trunctfxf2
>>> referenced by lib/.libs/libmpi.so (disallowed by --no-allow-shlib-undefined)
Again the cause is that the mpich configure script detects partial
float128 support on i386 (i.e. the compile doesn't immediately choke on
defining variables of that type). It then enables HAVE_FLOAT128, which
leads to the above errors, because compiler-rt does not support float128
on i386.
PR: 281557
Approved by: laurent.chardon@gmail.com (maintainer)
MFH: 2024Q3
---
net/mpich/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/mpich/Makefile b/net/mpich/Makefile
index a502f2d03a8c..d9ee832c4ebe 100644
--- a/net/mpich/Makefile
+++ b/net/mpich/Makefile
@@ -85,7 +85,7 @@ PORTDOCS= *
IGNORE= is currently not working with the L0 option. Unset L0
.endif
-.if ${COMPILER_TYPE} == clang && (${COMPILER_VERSION} == 170 || ${COMPILER_VERSION} == 181 && ${ARCH} == "i386")
+.if ${COMPILER_TYPE} == clang && (${COMPILER_VERSION} == 170 || ${COMPILER_VERSION} >= 181 && ${ARCH} == "i386")
# linker error when compiling with llvm 17.0.6 on CURRENT - PR 276035
# To be removed when all RELEASE and CURRENT no longer need it
# Error remains for i386 and llvm-181 on CURRENT