[lldb-dev] [Openmp-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged

Dimitry Andric via lldb-dev lldb-dev at lists.llvm.org
Fri Feb 9 13:30:06 PST 2018


On 9 Feb 2018, at 22:11, Dimitry Andric via Openmp-dev <openmp-dev at lists.llvm.org> wrote:
> 
> On 9 Feb 2018, at 20:40, Dimitry Andric via cfe-dev <cfe-dev at lists.llvm.org> wrote:
>> 
>>> On 9 Feb 2018, at 10:20, Hans Wennborg <hans at 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



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 223 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20180209/daee253c/attachment.sig>


More information about the lldb-dev mailing list