[llvm-dev] [Openmp-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
Dimitry Andric via llvm-dev
llvm-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/llvm-dev/attachments/20180209/daee253c/attachment.sig>
More information about the llvm-dev
mailing list