Date: Wed, 05 Mar 2014 12:30:25 +0100 From: =?ISO-8859-1?Q?Jean-S=E9bastien_P=E9dron?= <dumbbell@FreeBSD.org> To: freebsd-toolchain@freebsd.org Cc: Koop Mast <kwm@FreeBSD.org> Subject: Various issues with Clang and libc++ while playing with OpenCL (FYI) Message-ID: <53170AD1.4090506@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --QDV5WFf1Xs5Qkq47TOCi0qhIRjdPHel1u Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello! [Note: I'm not subscribed to this list] I'm trying to make OpenCL work on FreeBSD, using Mesa 10.1 release candidate. The implementation of libOpenCL.so in Mesa, called Clover, is in C++. In the configure.ac script, they require GCC 4.7+, but I think it's mainly for C++11 support. When building Mesa with Clang 3.4 and 11-CURRENT's libc++, I had the following issues: 1. Clang 3.4 fails to build Clover, see this PR: https://bugs.freedesktop.org/show_bug.cgi?id=3D74098 In the last comment, there's a patch to Clover, working around the problem. Its author opened a ticket on LLVM bug tracker: http://llvm.org/bugs/show_bug.cgi?id=3D18645 2. Mesa's configure script is looking for stddef.h here: /usr/local/llvm34/lib/clang/3.4/include LLVM/Clang ports don't install this file. I just added a symlink to /usr/include/stddef.h and Mesa was happy. I still need to check how it goes if I remove the check and the symlink. But perhaps Mesa is right to expect this header (and maybe other) in this directory, I don't know. 3. Our base libc++ has a bug in the <functional> header. I posted a PR on Mesa bug tracker here, before I found out it was a problem with libc++: https://bugs.freedesktop.org/show_bug.cgi?id=3D75505 Apparently, it's fixed in libc++ upstream, in r199848. 4. At runtime, any OpenCL program segfaults in libc++ (I don't have the stack trace at hand and can't remember what it was... Something with basic_string). When using libc++ from ports (devel/libc++, r200683) and the work around for problem #1, Clover builds and OpenCL programs run fine. This is mostly a "FYI" report, I think we can live with libc++ from ports for Mesa. --=20 Jean-S=E9bastien P=E9dron --QDV5WFf1Xs5Qkq47TOCi0qhIRjdPHel1u Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJTFwrZAAoJEDnpl2Gl/ZTMNEQP/iPjLUvmvma+BeGvOWwsL7Oj UnrjUNTYVQ9QTuFdzUONJxRVEwlcx0rUejHWKZEe7sgHZjJlawITs6kVJNA0cEz3 r5gKfib2GCH5Mc0YUDEsIEEDJs5vbFCE6aONYZ3X5SK5vDRap7H86X/4PKR4K8p/ +plrHWLtovITGvn83sOlzu6zyPZfhEOJuze/vdgJYu0JhXdkoUqyP4ZCqSjHltDd rD3E3rDXWDKfJ97NY9WAH8/chZb8XntCSCdfApl6Vocy9vJFkzHCfnIJpJjF5cSx P/20C55Zxmix41Ls5NycWbtLjJ7FSoOV+dM0sBaAHe545dXZhEjF32oIQUUmQqRZ wNVlZY6GWCVBf6+fmhrkuXgAzmm3cMdj9pRgBXTmEoFG7VerulQ6uEQTwbQakU83 47MMHiQEscXo3Lhxxwqxz3MpTsDUWN7rUxZtDx//akpgGDvktP2ytuD0wCZF9+ol cELlr9E1+m13b2DObSq4qwT7j6v+nCb3eLrYokwEZACFKnzWa8thlOOYrks/efT+ GxIEsVpEnVoD4XbtVG6aK9NYUiIjNO2rVQWNsAnMMwQr69Nt1gWxI0R1fljmxEj3 k0mAUZiDjk2qy2Vb29ueoIkDJ55rIH01EhCXBlVUke8/xJ6D4q2yb5nQrfmMd4rU 8UJCKh+Q6WvOGyth1Jo4 =IbRs -----END PGP SIGNATURE----- --QDV5WFf1Xs5Qkq47TOCi0qhIRjdPHel1u--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53170AD1.4090506>