From c17278ad7bbe91be0d1aa34da069d73aeafd60af Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 17 Nov 2019 16:33:49 -0800 Subject: clangd: Always link with libatomic Since it uses double atomics which are not available yet as intrinsics Signed-off-by: Khem Raj --- .../0025-clangd-Always-link-with-libatomic.patch | 37 ++++++++++++++++++++++ recipes-devtools/clang/common.inc | 1 + 2 files changed, 38 insertions(+) create mode 100644 recipes-devtools/clang/clang/0025-clangd-Always-link-with-libatomic.patch diff --git a/recipes-devtools/clang/clang/0025-clangd-Always-link-with-libatomic.patch b/recipes-devtools/clang/clang/0025-clangd-Always-link-with-libatomic.patch new file mode 100644 index 0000000..1122d6a --- /dev/null +++ b/recipes-devtools/clang/clang/0025-clangd-Always-link-with-libatomic.patch @@ -0,0 +1,37 @@ +From 59a72650c3ffcda09e430888e27750ee5008a957 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 17 Nov 2019 16:26:07 -0800 +Subject: [PATCH] clangd: Always link with libatomic + +Trace.cpp uses atomic which is not available as instrinsic +its only added in c++20, until then link with libatomic + +Another solution would be to not use double atomics something like below + +- std::atomic EndTime; // Filled in by markEnded(). ++ std::atomic EndTime; // Filled in by markEnded(). + +but I don't know if this would be just the change needed or more is +required + +Signed-off-by: Khem Raj +--- + clang-tools-extra/clangd/CMakeLists.txt | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/clang-tools-extra/clangd/CMakeLists.txt b/clang-tools-extra/clangd/CMakeLists.txt +index f617f7931de..2be738c6097 100644 +--- a/clang-tools-extra/clangd/CMakeLists.txt ++++ b/clang-tools-extra/clangd/CMakeLists.txt +@@ -29,10 +29,7 @@ if(CLANG_BUILT_STANDALONE) + include(CheckAtomic) + endif() + +-set(CLANGD_ATOMIC_LIB "") +-if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) +- list(APPEND CLANGD_ATOMIC_LIB "atomic") +-endif() ++list(APPEND CLANGD_ATOMIC_LIB "atomic") + + add_clang_library(clangDaemon + AST.cpp diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index 99b1e43..6149a2f 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -32,6 +32,7 @@ SRC_URI = "\ file://0022-RISCV-Add-support-for-floating-point-registers-in-in.patch \ file://0023-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \ file://0024-openmp-Recognise-ARMv7ve-machine-arch.patch \ + file://0025-clangd-Always-link-with-libatomic.patch \ " # Fallback to no-PIE if not set -- cgit v1.2.3-54-g00ecf