Sourced from https://bugs.webkit.org/show_bug.cgi?id=161900 on arm fixes | /usr/src/debug/libgcc/6.2.0-r0/gcc-6.2.0/build.arm-oe-linux-gnueabi.arm-oe-linux-gnueabi/libgcc/../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgcc/config/arm/linux-atomic-64bit.c:117: multiple definition of `__sync_sub_and_fetch_8' Signed-off-by: Khem Raj Upstream-Status: Backport diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt index 867999e..ea69322 100644 --- a/Source/WTF/wtf/CMakeLists.txt +++ b/Source/WTF/wtf/CMakeLists.txt @@ -171,7 +171,6 @@ set(WTF_HEADERS set(WTF_SOURCES Assertions.cpp - Atomics.cpp BitVector.cpp CompilationThread.cpp CrossThreadCopier.cpp @@ -276,6 +275,15 @@ if (NOT USE_SYSTEM_MALLOC) list(APPEND WTF_LIBRARIES bmalloc) endif () +file(WRITE ${CMAKE_BINARY_DIR}/test_atomics.cpp + "int main(void)\n" + "{ long long x = 1; return (int) __sync_add_and_fetch_8(&x, 1); }\n") +try_compile(ATOMICS_BUILD_SUCCEEDED ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/test_atomics.cpp) +if (NOT ATOMICS_BUILD_SUCCEEDED) + list(APPEND WTF_SOURCES Atomics.cpp) +endif () +file(REMOVE ${CMAKE_BINARY_DIR}/test_atomics.cpp) + list(APPEND WTF_SOURCES unicode/icu/CollatorICU.cpp )