[cfe-dev] [llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged

Petr Hosek via cfe-dev cfe-dev at lists.llvm.org
Sun Aug 5 17:41:14 PDT 2018


On Sun, Aug 5, 2018 at 8:49 AM Dimitry Andric via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 3 Aug 2018, at 13:37, Hans Wennborg via Release-testers <
> release-testers at lists.llvm.org> wrote:
> >
> > 7.0.0-rc1 was just tagged (from the branch at r338847).
> >
> > It's early in the release process, but I'd like to find out what the
> > status is of the branch on our various platforms.
> >
> > Please run the test script, share the results, and upload binaries.
>
> Hmm, I'm running into a rather nasty snag now on i386-freebsd11, due to
> our lack of atomic 64 bit primitives; Phase2's configure dies with:
>
>     -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
>     -- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
>     -- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
>     -- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Failed
>     -- Looking for __atomic_load_8 in atomic
>     -- Looking for __atomic_load_8 in atomic - not found
>     CMake Error at cmake/modules/CheckAtomic.cmake:75 (message):
>       Host compiler appears to require libatomic, but cannot find it.
>
> Interestingly, Phase1 does *not* suffer from this, but there the "host
> compiler" is clang 6.0.0.
>
> Phase1 CMake output:
>
>     Performing C++ SOURCE FILE Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
> succeeded with the following output:
>     Change Dir:
> /home/dim/llvm/7.0.0/rc1/Phase1/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp
>
>     Run Build Command:"/usr/local/bin/gmake" "cmTC_845df/fast"
>     /usr/local/bin/gmake -f CMakeFiles/cmTC_845df.dir/build.make
> CMakeFiles/cmTC_845df.dir/build
>     gmake[1]: Entering directory
> '/home/dim/llvm/7.0.0/rc1/Phase1/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp'
>     Building CXX object CMakeFiles/cmTC_845df.dir/src.cxx.o
>     /usr/bin/c++    -DHAVE_CXX_ATOMICS64_WITHOUT_LIB -std=c++11
> -Werror=unguarded-availability-new   -o CMakeFiles/cmTC_845df.dir/src.cxx.o
> -c
> /home/dim/llvm/7.0.0/rc1/Phase1/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp/src.cxx
>     Linking CXX executable cmTC_845df
>     /usr/local/bin/cmake -E cmake_link_script
> CMakeFiles/cmTC_845df.dir/link.txt --verbose=1
>     /usr/bin/c++   -DHAVE_CXX_ATOMICS64_WITHOUT_LIB -std=c++11
> -Werror=unguarded-availability-new    CMakeFiles/cmTC_845df.dir/src.cxx.o
> -o cmTC_845df -lm
>     gmake[1]: Leaving directory
> '/home/dim/llvm/7.0.0/rc1/Phase1/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp'
>
>     Source file was:
>
>     #include <atomic>
>     #include <cstdint>
>     std::atomic<uint64_t> x (0);
>     int main() {
>       uint64_t i = x.load(std::memory_order_relaxed);
>       return 0;
>     }
>
> Phase2 CMake output:
>
>     Performing C++ SOURCE FILE Test HAVE_CXX_ATOMICS64_WITHOUT_LIB failed
> with the following output:
>     Change Dir:
> /home/dim/llvm/7.0.0/rc1/Phase2/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp
>
>     Run Build Command:"/usr/local/bin/gmake" "cmTC_720f3/fast"
>     /usr/local/bin/gmake -f CMakeFiles/cmTC_720f3.dir/build.make
> CMakeFiles/cmTC_720f3.dir/build
>     gmake[1]: Entering directory
> '/home/dim/llvm/7.0.0/rc1/Phase2/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp'
>     Building CXX object CMakeFiles/cmTC_720f3.dir/src.cxx.o
>
> /home/dim/llvm/7.0.0/rc1/Phase1/Release/llvmCore-7.0.0-rc1.install/usr/local/bin/clang++
>   -DHAVE_CXX_ATOMICS64_WITHOUT_LIB -std=c++11
> -Werror=unguarded-availability-new   -o CMakeFiles/cmTC_720f3.dir/src.cxx.o
> -c
> /home/dim/llvm/7.0.0/rc1/Phase2/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp/src.cxx
>     Linking CXX executable cmTC_720f3
>     /usr/local/bin/cmake -E cmake_link_script
> CMakeFiles/cmTC_720f3.dir/link.txt --verbose=1
>
> /home/dim/llvm/7.0.0/rc1/Phase1/Release/llvmCore-7.0.0-rc1.install/usr/local/bin/clang++
>  -DHAVE_CXX_ATOMICS64_WITHOUT_LIB -std=c++11
> -Werror=unguarded-availability-new    CMakeFiles/cmTC_720f3.dir/src.cxx.o
> -o cmTC_720f3 -lm
>     CMakeFiles/cmTC_720f3.dir/src.cxx.o: In function `main':
>     src.cxx:(.text+0x33): undefined reference to `__atomic_load_8'
>     clang-7: error: linker command failed with exit code 1 (use -v to see
> invocation)
>     gmake[1]: *** [CMakeFiles/cmTC_720f3.dir/build.make:98: cmTC_720f3]
> Error 1
>     gmake[1]: Leaving directory
> '/home/dim/llvm/7.0.0/rc1/Phase2/Release/llvmCore-7.0.0-rc1.obj/CMakeFiles/CMakeTmp'
>     gmake: *** [Makefile:126: cmTC_720f3/fast] Error 2
>
>     Source file was:
>
>     #include <atomic>
>     #include <cstdint>
>     std::atomic<uint64_t> x (0);
>     int main() {
>       uint64_t i = x.load(std::memory_order_relaxed);
>       return 0;
>     }
>
> Apparently, with clang 6.0 it didn't generate libcalls to atomic
> functions, but just put in cmpxchg8b's, I guess?  And with clang 7.0 this
> seems to have changed.
>
> For now, I can only test on amd64 due to this, since I don't have an easy
> workaround.
>

Couldn't it be the consequence of
https://github.com/llvm-mirror/compiler-rt/commit/e8b47a537f4c849e66e450dadddfbfe03d1f06fd#diff-376935638380b425bdd8d9c735545491
?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180805/1e1b1156/attachment.html>


More information about the cfe-dev mailing list