Dimitry Andric via llvm-dev
2018-Feb-09 21:11 UTC
[llvm-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
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 implementedThis 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() -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/baa56a54/attachment.sig>
Dimitry Andric via llvm-dev
2018-Feb-09 21:30 UTC
[llvm-dev] [Openmp-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
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>
Dimitry Andric via llvm-dev
2018-Feb-11 14:31 UTC
[llvm-dev] [Openmp-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
On 9 Feb 2018, at 22:30, Dimitry Andric <dimitry at andric.com> wrote:> > 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)Ok, this turned out to be easier than I thought. After applying https://reviews.llvm.org/D43166, the number of failed tests drops roughly by half (from 896 to 512): Expected Passes : 45381 Expected Failures : 185 Unsupported Tests : 2937 Unexpected Passes : 1 Unexpected Failures: 521 I am going to have a look at some other low hanging fruit, and I have also created a few PRs to merge test changes into 6.0. -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/20180211/caaeca8f/attachment.sig>
Seemingly Similar Threads
- [Openmp-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
- [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
- [Openmp-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
- [Openmp-dev] [cfe-dev] [Release-testers] [6.0.0 Release] Release Candidate 2 tagged
- [Release-testers] [6.0.0 Release] Release Candidate 2 tagged