git: 9c4f1fcbf3fe - 2024Q3 - 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:29:35 UTC
The branch 2024Q3 has been updated by dim:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9c4f1fcbf3fe4f6642b19a250a1cf4d47aa754da
commit 9c4f1fcbf3fe4f6642b19a250a1cf4d47aa754da
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:28:09 +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
(cherry picked from commit 9d5e42894b39c428c6241efb1a053f7e571a6fee)
---
net/mpich/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/mpich/Makefile b/net/mpich/Makefile
index 9644466d877d..3c143306d76e 100644
--- a/net/mpich/Makefile
+++ b/net/mpich/Makefile
@@ -81,7 +81,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