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