[llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged
Dimitry Andric via llvm-dev
llvm-dev at lists.llvm.org
Sun Aug 5 08:49:09 PDT 2018
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.
-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/20180805/8563f15e/attachment.sig>
More information about the llvm-dev
mailing list