On 9 Feb 2018, at 22:11, Dimitry Andric via Openmp-dev <openmp-...@lists.llvm.org> wrote: > > On 9 Feb 2018, at 20:40, Dimitry Andric via cfe-dev <cfe-...@lists.llvm.org> > wrote: >> >>> On 9 Feb 2018, at 10:20, Hans Wennborg <h...@chromium.org> wrote: > ... >>> What are all these test failures? Does it seems like they have a >>> common root cause and do we have a bug for it? > ... >> The Clang Tools and Extra Tools Unit tests all appear to crash with: >> >> exception_ptr not yet implemented > > This turns out to be caused by libc++ being compiled without -DLIBCXXRT. (In > the FreeBSD base system build, we always add this option, so libc++ knows how > to handle exceptions.) > > In the libc++ CMakeFiles, it appears to be governed by > LIBCXX_CXX_ABI_LIBNAME, but it isn't being set to the correct value of > "cxxrt" on FreeBSD. I am going to try the following diff: > > --- llvm.src/projects/libcxx/CMakeLists.txt > +++ llvm.src/projects/libcxx/CMakeLists.txt > @@ -135,6 +135,8 @@ > elseif (APPLE) > set(LIBCXX_CXX_ABI_LIBNAME "libcxxabi") > set(LIBCXX_CXX_ABI_SYSTEM 1) > + elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") > + set(LIBCXX_CXX_ABI_LIBNAME "libcxxrt") > else() > set(LIBCXX_CXX_ABI_LIBNAME "default") > endif()
... and unfortunately that didn't work, since the CMakeFiles are unable to find the libcxxrt headers: CMake Warning at projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:67 (message): Failed to find cxxabi.h Call Stack (most recent call first): projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:112 (setup_abi_lib) projects/libcxx/CMakeLists.txt:428 (include) CMake Warning at projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:67 (message): Failed to find unwind.h Call Stack (most recent call first): projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:112 (setup_abi_lib) projects/libcxx/CMakeLists.txt:428 (include) CMake Warning at projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:67 (message): Failed to find unwind-arm.h Call Stack (most recent call first): projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:112 (setup_abi_lib) projects/libcxx/CMakeLists.txt:428 (include) CMake Warning at projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:67 (message): Failed to find unwind-itanium.h Call Stack (most recent call first): projects/libcxx/cmake/Modules/HandleLibCXXABI.cmake:112 (setup_abi_lib) projects/libcxx/CMakeLists.txt:428 (include) The problem is that on FreeBSD, these libcxxrt headers are installed into the same location as the base system's libc++ headers, which is /usr/include/c++/v1, and if I add that to the include path of libc++'s build, it will certainly cause conflicts. Does anybody have a suggestion on how this could be avoided? -Dimitry
signature.asc
Description: Message signed with OpenPGP
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev