Hi, The following diff on lang/rust makes it more cooperative with clang.
It packages a link on libgcc.a, in order to let clang to found it. The link is inside rust librairies subdir. I copied the way used by lang/g77. Once commited, I will provide diff to cargo to remove the requirement of gcc4 module (and change my pending diff on ripgrep). Thanks. -- Sebastien Marie Index: Makefile =================================================================== RCS file: /cvs/ports/lang/rust/Makefile,v retrieving revision 1.42 diff -u -p -r1.42 Makefile --- Makefile 5 May 2017 11:40:29 -0000 1.42 +++ Makefile 15 May 2017 13:14:16 -0000 @@ -9,6 +9,7 @@ COMMENT-main = compiler for Rust Langua COMMENT-doc = html documentation for rustc V = 1.17.0 +REVISION = 0 DISTNAME = rustc-${V}-src # rustc bootstrap version @@ -73,6 +74,11 @@ MODPY_RUNDEP = No BUILD_DEPENDS += devel/llvm \ devel/cmake +# libgcc.a path +CONFIG = ${MACHINE_ARCH}-unknown-openbsd${OSREV} +SYSV = 4.2.1 +SYSLIBPATH = /usr/lib/gcc-lib/${CONFIG}/${SYSV} + # rustllvm need c++11 MODGCC4_LANGS = c++ MODGCC4_ARCHS = * # patches required for base clang @@ -183,6 +189,9 @@ post-install: ${PREFIX}/lib/rustlib/{install.log,uninstall.sh,rust-installer-version} \ ${PREFIX}/lib/rustlib/components \ ${PREFIX}/lib/rustlib/manifest-* + # make a link to libgcc.a inside rustlib + ln -fs ${SYSLIBPATH}/libgcc.a \ + ${PREFIX}/lib/rustlib/${TRIPLE_ARCH}/lib do-test: ${BUILD_BIN} test --verbose --jobs=${MAKE_JOBS} ${TEST_TARGET} Index: pkg/PFRAG.amd64-main =================================================================== RCS file: /cvs/ports/lang/rust/pkg/PFRAG.amd64-main,v retrieving revision 1.3 diff -u -p -r1.3 PFRAG.amd64-main --- pkg/PFRAG.amd64-main 5 May 2017 11:40:29 -0000 1.3 +++ pkg/PFRAG.amd64-main 15 May 2017 13:14:16 -0000 @@ -47,6 +47,7 @@ lib/rustlib/x86_64-unknown-openbsd/lib/l lib/rustlib/x86_64-unknown-openbsd/lib/libcore-082780785615d424.rlib lib/rustlib/x86_64-unknown-openbsd/lib/libflate-f8dd427e4b8c5b4c.so lib/rustlib/x86_64-unknown-openbsd/lib/libfmt_macros-448396db99515941.so +lib/rustlib/x86_64-unknown-openbsd/lib/libgcc.a lib/rustlib/x86_64-unknown-openbsd/lib/libgetopts-dd68a95b56420ce2.rlib lib/rustlib/x86_64-unknown-openbsd/lib/libgetopts-dd68a95b56420ce2.so lib/rustlib/x86_64-unknown-openbsd/lib/libgraphviz-0c715aa7b22d8559.so Index: pkg/PFRAG.i386-main =================================================================== RCS file: /cvs/ports/lang/rust/pkg/PFRAG.i386-main,v retrieving revision 1.3 diff -u -p -r1.3 PFRAG.i386-main --- pkg/PFRAG.i386-main 5 May 2017 11:40:29 -0000 1.3 +++ pkg/PFRAG.i386-main 15 May 2017 13:14:16 -0000 @@ -47,6 +47,7 @@ lib/rustlib/i686-unknown-openbsd/lib/lib lib/rustlib/i686-unknown-openbsd/lib/libcore-84e6a2caa4fb3d55.rlib lib/rustlib/i686-unknown-openbsd/lib/libflate-b7e6eb08021d17dd.so lib/rustlib/i686-unknown-openbsd/lib/libfmt_macros-52ed932153d68799.so +lib/rustlib/i686-unknown-openbsd/lib/libgcc.a lib/rustlib/i686-unknown-openbsd/lib/libgetopts-8af7689ae63241f7.rlib lib/rustlib/i686-unknown-openbsd/lib/libgetopts-8af7689ae63241f7.so lib/rustlib/i686-unknown-openbsd/lib/libgraphviz-b32814278f223978.so