summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2022-07-28 09:17:35 -0700
committerKhem Raj <raj.khem@gmail.com>2022-09-12 10:51:30 -0700
commit0f38186ae93400b870f7f92938bbf8643e7da958 (patch)
tree405e154b5d91d4237e92966b30f339e266d7258b /recipes-devtools/clang
parent79236c2f7b01f996d5691f9944029aa4a5315112 (diff)
downloadmeta-clang-0f38186ae93400b870f7f92938bbf8643e7da958.tar.gz
clang: Upgrade to clang 15.0.0 release
Drop upstreamed patches and forward port the remaining to latest sourcess llvm: Fix libzstd detection with zstd cmake files Release Notes [1] [2] [3] [4] [5] [6] [1] https://github.com/llvm/llvm-project/blob/release/15.x/clang/docs/ReleaseNotes.rst [2] https://releases.llvm.org/15.0.0/docs/ReleaseNotes.html [3] https://releases.llvm.org/15.0.0/tools/clang/docs/ReleaseNotes.html [4] https://releases.llvm.org/15.0.0/tools/lld/docs/ReleaseNotes.html [5] https://releases.llvm.org/15.0.0/projects/libcxx/docs/ReleaseNotes.html [6] https://releases.llvm.org/15.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-devtools/clang')
-rw-r--r--recipes-devtools/clang/clang.inc8
-rw-r--r--recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch23
-rw-r--r--recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch2
-rw-r--r--recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch6
-rw-r--r--recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch2
-rw-r--r--recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch23
-rw-r--r--recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch10
-rw-r--r--recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch6
-rw-r--r--recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch6
-rw-r--r--recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch6
-rw-r--r--recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch6
-rw-r--r--recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch10
-rw-r--r--recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch4
-rw-r--r--recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch2
-rw-r--r--recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch14
-rw-r--r--recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch70
-rw-r--r--recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch6
-rw-r--r--recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch12
-rw-r--r--recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch30
-rw-r--r--recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch6
-rw-r--r--recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch6
-rw-r--r--recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch6
-rw-r--r--recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch (renamed from recipes-devtools/clang/clang/0023-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch)2
-rw-r--r--recipes-devtools/clang/clang/0022-compiler-rt-Use-mcr-based-barrier-on-armv6.patch71
-rw-r--r--recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch (renamed from recipes-devtools/clang/clang/0024-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch)6
-rw-r--r--recipes-devtools/clang/clang/0024-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch (renamed from recipes-devtools/clang/clang/0025-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch)4
-rw-r--r--recipes-devtools/clang/clang/0025-libunwind-Added-unw_backtrace-method.patch (renamed from recipes-devtools/clang/clang/0027-libunwind-Added-unw_backtrace-method.patch)10
-rw-r--r--recipes-devtools/clang/clang/0026-Drop-the-git-suffix-from-various-version-variables.patch26
-rw-r--r--recipes-devtools/clang/clang/0026-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch29
-rw-r--r--recipes-devtools/clang/clang/0027-clang-Do-not-use-install-relative-libc-headers.patch (renamed from recipes-devtools/clang/clang/0029-clang-Do-not-use-install-relative-libc-headers.patch)6
-rw-r--r--recipes-devtools/clang/clang/0028-Do-not-force-thumb-mode-directive.patch46
-rw-r--r--recipes-devtools/clang/clang/0028-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch (renamed from recipes-devtools/clang/clang/0030-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch)8
-rw-r--r--recipes-devtools/clang/clang/0029-Fix-lib-paths-for-OpenEmbedded-Host.patch (renamed from recipes-devtools/clang/clang/0031-Fix-lib-paths-for-OpenEmbedded-Host.patch)10
-rw-r--r--recipes-devtools/clang/clang/0030-Correct-library-search-path-for-OpenEmbedded-Host.patch (renamed from recipes-devtools/clang/clang/0032-Correct-library-search-path-for-OpenEmbedded-Host.patch)12
-rw-r--r--recipes-devtools/clang/clang/0031-lldb-Link-with-libatomic-on-x86.patch (renamed from recipes-devtools/clang/clang/0033-lldb-Link-with-libatomic-on-x86.patch)4
-rw-r--r--recipes-devtools/clang/clang/0032-clang-exclude-openembedded-distributions-from-settin.patch (renamed from recipes-devtools/clang/clang/0034-clang-exclude-openembedded-distributions-from-settin.patch)6
-rw-r--r--recipes-devtools/clang/clang/0033-compiler-rt-Enable-__int128-for-ppc32.patch (renamed from recipes-devtools/clang/clang/0035-compiler-rt-Enable-__int128-for-ppc32.patch)37
-rw-r--r--recipes-devtools/clang/clang/0034-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch44
-rw-r--r--recipes-devtools/clang/clang/0036-compiler-rt-builtins-Move-DMB-definition-to-syn-opsh.patch65
-rw-r--r--recipes-devtools/clang/clang/0037-sanitizer-Remove-include-linux-fs.h-to-resolve-fscon.patch62
-rw-r--r--recipes-devtools/clang/clang_git.bb1
-rw-r--r--recipes-devtools/clang/common.inc29
42 files changed, 264 insertions, 478 deletions
diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc
index 253c128..d431e72 100644
--- a/recipes-devtools/clang/clang.inc
+++ b/recipes-devtools/clang/clang.inc
@@ -4,14 +4,14 @@ LLVM_DIR = "llvm${LLVM_RELEASE}"
4LLVM_GIT ?= "git://github.com/llvm" 4LLVM_GIT ?= "git://github.com/llvm"
5LLVM_GIT_PROTOCOL ?= "https" 5LLVM_GIT_PROTOCOL ?= "https"
6 6
7MAJOR_VER = "14" 7MAJOR_VER = "15"
8MINOR_VER = "0" 8MINOR_VER = "0"
9PATCH_VER = "6" 9PATCH_VER = "0"
10 10
11SRCREV ?= "f28c006a5895fc0e329fe15fead81e37457cb1d1" 11SRCREV ?= "1c73596d345481de957e5ccc0bedf1fb9d9f643a"
12 12
13PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}" 13PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}"
14BRANCH = "release/14.x" 14BRANCH = "release/15.x"
15 15
16LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" 16LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe"
17CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" 17CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343"
diff --git a/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch b/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
index f81f714..33e53ca 100644
--- a/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
+++ b/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
@@ -1,4 +1,4 @@
1From 655270f8c4caa717e10d97013ffd9ed88e06699b Mon Sep 17 00:00:00 2001 1From a597109434ba7ddc7750fac0b677f89a5f65fb86 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 27 Aug 2017 10:37:49 -0700 3Date: Sun, 27 Aug 2017 10:37:49 -0700
4Subject: [PATCH] libcxxabi: Find libunwind headers when 4Subject: [PATCH] libcxxabi: Find libunwind headers when
@@ -13,30 +13,23 @@ LIBCXXABI_LIBUNWIND_INCLUDES if its there in environment
13 13
14Signed-off-by: Khem Raj <raj.khem@gmail.com> 14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15--- 15---
16 libcxxabi/CMakeLists.txt | 21 +++++++++++---------- 16 libcxxabi/CMakeLists.txt | 16 +++++++++++-----
17 1 file changed, 11 insertions(+), 10 deletions(-) 17 1 file changed, 11 insertions(+), 5 deletions(-)
18 18
19diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt 19diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
20index 5ef85c9cfc40..1afdb5a17970 100644 20index b8326d08d23a..cb16b5d4238b 100644
21--- a/libcxxabi/CMakeLists.txt 21--- a/libcxxabi/CMakeLists.txt
22+++ b/libcxxabi/CMakeLists.txt 22+++ b/libcxxabi/CMakeLists.txt
23@@ -535,14 +535,9 @@ endif() 23@@ -474,7 +474,7 @@ set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH
24 # Setup Source Code 24 "Specify path to libunwind source." FORCE)
25 #===============================================================================
26 25
27-set(LIBCXXABI_LIBUNWIND_INCLUDES "${LIBCXXABI_LIBUNWIND_INCLUDES}" CACHE PATH
28- "Specify path to libunwind includes." FORCE)
29-set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH
30- "Specify path to libunwind source." FORCE)
31-
32 include_directories(include)
33 if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) 26 if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM)
34- find_path(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL libunwind.h 27- find_path(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL libunwind.h
35+ find_path(LIBCXXABI_LIBUNWIND_INCLUDES libunwind.h 28+ find_path(LIBCXXABI_LIBUNWIND_INCLUDES libunwind.h
36 PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES} 29 PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES}
37 ${LIBCXXABI_LIBUNWIND_PATH}/include 30 ${LIBCXXABI_LIBUNWIND_PATH}/include
38 ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES} 31 ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES}
39@@ -553,15 +548,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) 32@@ -485,15 +485,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM)
40 NO_CMAKE_FIND_ROOT_PATH 33 NO_CMAKE_FIND_ROOT_PATH
41 ) 34 )
42 35
@@ -61,4 +54,4 @@ index 5ef85c9cfc40..1afdb5a17970 100644
61+ 54+
62 # Add source code. This also contains all of the logic for deciding linker flags 55 # Add source code. This also contains all of the logic for deciding linker flags
63 # soname, etc... 56 # soname, etc...
64 add_subdirectory(src) 57 add_subdirectory(include)
diff --git a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch b/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch
index 74d0c1e..5722035 100644
--- a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch
+++ b/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch
@@ -1,4 +1,4 @@
1From 5a1cf5bd6eb5b7ee299c11b7a39ada74fd60be1d Mon Sep 17 00:00:00 2001 1From 7f8dee01de2d4b100bb0639c78aba0fac887db30 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 19 Apr 2015 15:16:23 -0700 3Date: Sun, 19 Apr 2015 15:16:23 -0700
4Subject: [PATCH] compiler-rt: support a new embedded linux target 4Subject: [PATCH] compiler-rt: support a new embedded linux target
diff --git a/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch b/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
index b93f68a..651ad29 100644
--- a/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
+++ b/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
@@ -1,4 +1,4 @@
1From 3bc3328f89915cde33c26cec91a57b79109420f0 Mon Sep 17 00:00:00 2001 1From c240bc35ac49a2165495771574ee46ffe06d222d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 23:11:45 -0700 3Date: Thu, 19 May 2016 23:11:45 -0700
4Subject: [PATCH] compiler-rt: Simplify cross-compilation. Don't use 4Subject: [PATCH] compiler-rt: Simplify cross-compilation. Don't use
@@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
20 1 file changed, 10 insertions(+), 1 deletion(-) 20 1 file changed, 10 insertions(+), 1 deletion(-)
21 21
22diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt 22diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
23index 3a41aa43e406..3bbfbca1f645 100644 23index 62737735695f..a2c7c3a786ab 100644
24--- a/compiler-rt/CMakeLists.txt 24--- a/compiler-rt/CMakeLists.txt
25+++ b/compiler-rt/CMakeLists.txt 25+++ b/compiler-rt/CMakeLists.txt
26@@ -67,7 +67,16 @@ set(COMPILER_RT_BAREMETAL_BUILD OFF CACHE BOOL 26@@ -68,7 +68,16 @@ set(COMPILER_RT_BAREMETAL_BUILD OFF CACHE BOOL
27 "Build for a bare-metal target.") 27 "Build for a bare-metal target.")
28 28
29 if (COMPILER_RT_STANDALONE_BUILD) 29 if (COMPILER_RT_STANDALONE_BUILD)
diff --git a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
index 8da23bd..9f496d1 100644
--- a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -1,4 +1,4 @@
1From 2da0422b45b2b9842a2ceb6840beba05356057d2 Mon Sep 17 00:00:00 2001 1From 91624fded194e4e612a24ab820f7146cdff8b381 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 21 May 2016 00:33:20 +0000 3Date: Sat, 21 May 2016 00:33:20 +0000
4Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are 4Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are
diff --git a/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch
index 8521d7f..05bf2b7 100644
--- a/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch
+++ b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch
@@ -1,4 +1,4 @@
1From affcd7f14bca2d9ee95352cd979f66f55901272a Mon Sep 17 00:00:00 2001 1From c76c80d752ce177327d6bb2d966afa673233a81c Mon Sep 17 00:00:00 2001
2From: Martin Kelly <mkelly@xevo.com> 2From: Martin Kelly <mkelly@xevo.com>
3Date: Fri, 19 May 2017 00:22:57 -0700 3Date: Fri, 19 May 2017 00:22:57 -0700
4Subject: [PATCH] llvm: allow env override of exe and libdir path 4Subject: [PATCH] llvm: allow env override of exe and libdir path
@@ -15,14 +15,14 @@ Upstream-Status: Inappropriate [OE-specific]
15Signed-off-by: Martin Kelly <mkelly@xevo.com> 15Signed-off-by: Martin Kelly <mkelly@xevo.com>
16Signed-off-by: Khem Raj <raj.khem@gmail.com> 16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17--- 17---
18 llvm/tools/llvm-config/llvm-config.cpp | 21 +++++++++++++++++++-- 18 llvm/tools/llvm-config/llvm-config.cpp | 25 +++++++++++++++++++------
19 1 file changed, 19 insertions(+), 2 deletions(-) 19 1 file changed, 19 insertions(+), 6 deletions(-)
20 20
21diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp 21diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp
22index 8ed88f33ead4..9e26a2b41409 100644 22index 2c6c55f89d38..77da3d7827dd 100644
23--- a/llvm/tools/llvm-config/llvm-config.cpp 23--- a/llvm/tools/llvm-config/llvm-config.cpp
24+++ b/llvm/tools/llvm-config/llvm-config.cpp 24+++ b/llvm/tools/llvm-config/llvm-config.cpp
25@@ -247,6 +247,13 @@ Typical components:\n\ 25@@ -249,6 +249,13 @@ Typical components:\n\
26 26
27 /// Compute the path to the main executable. 27 /// Compute the path to the main executable.
28 std::string GetExecutablePath(const char *Argv0) { 28 std::string GetExecutablePath(const char *Argv0) {
@@ -36,7 +36,7 @@ index 8ed88f33ead4..9e26a2b41409 100644
36 // This just needs to be some symbol in the binary; C++ doesn't 36 // This just needs to be some symbol in the binary; C++ doesn't
37 // allow taking the address of ::main however. 37 // allow taking the address of ::main however.
38 void *P = (void *)(intptr_t)GetExecutablePath; 38 void *P = (void *)(intptr_t)GetExecutablePath;
39@@ -326,7 +333,7 @@ int main(int argc, char **argv) { 39@@ -328,7 +335,7 @@ int main(int argc, char **argv) {
40 // Compute various directory locations based on the derived location 40 // Compute various directory locations based on the derived location
41 // information. 41 // information.
42 std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir, 42 std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
@@ -45,11 +45,15 @@ index 8ed88f33ead4..9e26a2b41409 100644
45 std::string ActiveIncludeOption; 45 std::string ActiveIncludeOption;
46 if (IsInDevelopmentTree) { 46 if (IsInDevelopmentTree) {
47 ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include"; 47 ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
48@@ -367,7 +374,17 @@ int main(int argc, char **argv) { 48@@ -369,12 +376,18 @@ int main(int argc, char **argv) {
49 sys::fs::make_absolute(ActivePrefix, Path); 49 sys::fs::make_absolute(ActivePrefix, Path);
50 ActiveBinDir = std::string(Path.str()); 50 ActiveBinDir = std::string(Path.str());
51 } 51 }
52- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; 52- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
53- {
54- SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR);
55- sys::fs::make_absolute(ActivePrefix, Path);
56- ActiveCMakeDir = std::string(Path.str());
53+ // Hack for Yocto: we need to override the lib path when we are using 57+ // Hack for Yocto: we need to override the lib path when we are using
54+ // llvm-config from within a target sysroot since LLVM_LIBDIR_SUFFIX 58+ // llvm-config from within a target sysroot since LLVM_LIBDIR_SUFFIX
55+ // maybe different for host llvm vs target e.g. ppc64 Libdir=lib64 but 59+ // maybe different for host llvm vs target e.g. ppc64 Libdir=lib64 but
@@ -59,8 +63,9 @@ index 8ed88f33ead4..9e26a2b41409 100644
59+ BaseLibDir = std::string(YoctoLibDir); 63+ BaseLibDir = std::string(YoctoLibDir);
60+ } else { 64+ } else {
61+ BaseLibDir = std::string("/lib") + LLVM_LIBDIR_SUFFIX; 65+ BaseLibDir = std::string("/lib") + LLVM_LIBDIR_SUFFIX;
62+ } 66 }
63+ ActiveLibDir = ActivePrefix + BaseLibDir; 67+ ActiveLibDir = ActivePrefix + BaseLibDir;
64 ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; 68+ ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
65 ActiveIncludeOption = "-I" + ActiveIncludeDir; 69 ActiveIncludeOption = "-I" + ActiveIncludeDir;
66 } 70 }
71
diff --git a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch
index d08c50a..0a3ffa9 100644
--- a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch
+++ b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch
@@ -1,4 +1,4 @@
1From 7ff4f134a5e5e1f6ffe31637a474cf118ae0079b Mon Sep 17 00:00:00 2001 1From f91bea3f1be69123f7c5583568c1c2b35395af92 Mon Sep 17 00:00:00 2001
2From: Dan McGregor <dan.mcgregor@usask.ca> 2From: Dan McGregor <dan.mcgregor@usask.ca>
3Date: Wed, 26 Apr 2017 20:29:41 -0600 3Date: Wed, 26 Apr 2017 20:29:41 -0600
4Subject: [PATCH] clang: driver: Check sysroot for ldso path 4Subject: [PATCH] clang: driver: Check sysroot for ldso path
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 16 insertions(+) 14 1 file changed, 16 insertions(+)
15 15
16diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 16diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
17index f85c04df4f6c..97e987c37e4a 100644 17index ceb1a982c3a4..69f5a4662732 100644
18--- a/clang/lib/Driver/ToolChains/Linux.cpp 18--- a/clang/lib/Driver/ToolChains/Linux.cpp
19+++ b/clang/lib/Driver/ToolChains/Linux.cpp 19+++ b/clang/lib/Driver/ToolChains/Linux.cpp
20@@ -493,11 +493,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 20@@ -508,11 +508,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
21 LibDir = "lib64"; 21 LibDir = "lib64";
22 Loader = 22 Loader =
23 (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; 23 (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
@@ -37,7 +37,7 @@ index f85c04df4f6c..97e987c37e4a 100644
37 break; 37 break;
38 case llvm::Triple::riscv32: { 38 case llvm::Triple::riscv32: {
39 StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple); 39 StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
40@@ -519,6 +527,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 40@@ -534,6 +542,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
41 case llvm::Triple::sparcv9: 41 case llvm::Triple::sparcv9:
42 LibDir = "lib64"; 42 LibDir = "lib64";
43 Loader = "ld-linux.so.2"; 43 Loader = "ld-linux.so.2";
@@ -48,7 +48,7 @@ index f85c04df4f6c..97e987c37e4a 100644
48 break; 48 break;
49 case llvm::Triple::systemz: 49 case llvm::Triple::systemz:
50 LibDir = "lib"; 50 LibDir = "lib";
51@@ -533,6 +545,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 51@@ -548,6 +560,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
52 52
53 LibDir = X32 ? "libx32" : "lib64"; 53 LibDir = X32 ? "libx32" : "lib64";
54 Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; 54 Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2";
diff --git a/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch b/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
index 1c3f9aa..0861ccb 100644
--- a/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
+++ b/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
@@ -1,4 +1,4 @@
1From 12b2de3db9a53a25610f3c61fef10fe877e765c4 Mon Sep 17 00:00:00 2001 1From 47060cd9744a21fb646ad9253ba79048d1055560 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 21:11:06 -0700 3Date: Thu, 19 May 2016 21:11:06 -0700
4Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl 4Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl
@@ -13,10 +13,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 1 file changed, 6 insertions(+) 13 1 file changed, 6 insertions(+)
14 14
15diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 15diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
16index 7a9570a686f4..633daa58590d 100644 16index f203cae1d329..0b5255a10404 100644
17--- a/clang/lib/Driver/ToolChains/Gnu.cpp 17--- a/clang/lib/Driver/ToolChains/Gnu.cpp
18+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 18+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
19@@ -622,6 +622,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, 19@@ -654,6 +654,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
20 if (IsIAMCU) 20 if (IsIAMCU)
21 CmdArgs.push_back("-lgloss"); 21 CmdArgs.push_back("-lgloss");
22 22
diff --git a/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch b/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch
index 4752daf..c3246de 100644
--- a/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch
+++ b/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch
@@ -1,4 +1,4 @@
1From 610d6a7c8c9d21f10b225f971a377be49bbaea4f Mon Sep 17 00:00:00 2001 1From 7cda368aa585872c0add06604215d39f2e7cb1b2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 09:02:13 -0700 3Date: Thu, 16 Mar 2017 09:02:13 -0700
4Subject: [PATCH] clang: Prepend trailing '/' to sysroot 4Subject: [PATCH] clang: Prepend trailing '/' to sysroot
@@ -24,10 +24,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
24 1 file changed, 1 insertion(+), 1 deletion(-) 24 1 file changed, 1 insertion(+), 1 deletion(-)
25 25
26diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 26diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
27index 97e987c37e4a..f9e233f15dfc 100644 27index 69f5a4662732..7555466e7e2b 100644
28--- a/clang/lib/Driver/ToolChains/Linux.cpp 28--- a/clang/lib/Driver/ToolChains/Linux.cpp
29+++ b/clang/lib/Driver/ToolChains/Linux.cpp 29+++ b/clang/lib/Driver/ToolChains/Linux.cpp
30@@ -181,7 +181,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) 30@@ -183,7 +183,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
31 Multilibs = GCCInstallation.getMultilibs(); 31 Multilibs = GCCInstallation.getMultilibs();
32 SelectedMultilib = GCCInstallation.getMultilib(); 32 SelectedMultilib = GCCInstallation.getMultilib();
33 llvm::Triple::ArchType Arch = Triple.getArch(); 33 llvm::Triple::ArchType Arch = Triple.getArch();
diff --git a/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
index 02d702c..04742be 100644
--- a/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
+++ b/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
@@ -1,4 +1,4 @@
1From da2647d56a98cc708a6b13e3586e7fb364ef77a0 Mon Sep 17 00:00:00 2001 1From f0a90c18f6f07b2f9c5b4c8178e48ab000f3be62 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 19:06:26 -0700 3Date: Thu, 16 Mar 2017 19:06:26 -0700
4Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime 4Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 1 file changed, 5 insertions(+), 1 deletion(-) 15 1 file changed, 5 insertions(+), 1 deletion(-)
16 16
17diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp 17diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
18index d657d21bfcdb..e83a556b708c 100644 18index 7a4319ea680f..3068d25dab75 100644
19--- a/clang/lib/Driver/ToolChain.cpp 19--- a/clang/lib/Driver/ToolChain.cpp
20+++ b/clang/lib/Driver/ToolChain.cpp 20+++ b/clang/lib/Driver/ToolChain.cpp
21@@ -13,6 +13,7 @@ 21@@ -13,6 +13,7 @@
@@ -26,7 +26,7 @@ index d657d21bfcdb..e83a556b708c 100644
26 #include "clang/Config/config.h" 26 #include "clang/Config/config.h"
27 #include "clang/Driver/Action.h" 27 #include "clang/Driver/Action.h"
28 #include "clang/Driver/Driver.h" 28 #include "clang/Driver/Driver.h"
29@@ -419,7 +420,10 @@ StringRef ToolChain::getOSLibName() const { 29@@ -458,7 +459,10 @@ StringRef ToolChain::getOSLibName() const {
30 } 30 }
31 31
32 std::string ToolChain::getCompilerRTPath() const { 32 std::string ToolChain::getCompilerRTPath() const {
diff --git a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch
index 55924c9..fa4643c 100644
--- a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch
+++ b/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch
@@ -1,4 +1,4 @@
1From 6e17f402773f9408a62c8d03a39db5af6f637653 Mon Sep 17 00:00:00 2001 1From 9f62d38e65d80909484bbe2f2bd8e8c6443a8fb0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 20 Mar 2021 16:09:16 -0700 3Date: Sat, 20 Mar 2021 16:09:16 -0700
4Subject: [PATCH] clang: Define / releative gcc installation dir 4Subject: [PATCH] clang: Define / releative gcc installation dir
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 7 insertions(+), 7 deletions(-) 14 1 file changed, 7 insertions(+), 7 deletions(-)
15 15
16diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 16diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
17index 633daa58590d..d22eaf698eb8 100644 17index 0b5255a10404..bddc77cde2d6 100644
18--- a/clang/lib/Driver/ToolChains/Gnu.cpp 18--- a/clang/lib/Driver/ToolChains/Gnu.cpp
19+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 19+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
20@@ -2517,19 +2517,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 20@@ -2642,19 +2642,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
21 // Whether this library suffix is relevant for the triple. 21 // Whether this library suffix is relevant for the triple.
22 bool Active; 22 bool Active;
23 } Suffixes[] = { 23 } Suffixes[] = {
diff --git a/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch b/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
index b2539f1..5334237 100644
--- a/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
+++ b/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
@@ -1,4 +1,4 @@
1From 718bc533b5d621ee5eb24a87ed882bf82360807c Mon Sep 17 00:00:00 2001 1From 7cd7eb2c942027a1c2ea1a26d30dcd524504a865 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 31 Jul 2019 22:51:39 -0700 3Date: Wed, 31 Jul 2019 22:51:39 -0700
4Subject: [PATCH] clang: Add -lpthread and -ldl along with -lunwind for static 4Subject: [PATCH] clang: Add -lpthread and -ldl along with -lunwind for static
@@ -20,15 +20,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
20 1 file changed, 2 insertions(+) 20 1 file changed, 2 insertions(+)
21 21
22diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp 22diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
23index dfcef2304040..dbc91e427dfb 100644 23index 443725f7d8a8..c8eabfac21dc 100644
24--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp 24--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
25+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp 25+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
26@@ -1472,6 +1472,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, 26@@ -1537,6 +1537,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D,
27 CmdArgs.push_back("-lunwind"); 27 CmdArgs.push_back("-lunwind");
28 } else if (LGT == LibGccType::StaticLibGcc) { 28 } else if (LGT == LibGccType::StaticLibGcc) {
29 CmdArgs.push_back("-l:libunwind.a"); 29 CmdArgs.push_back("-l:libunwind.a");
30+ CmdArgs.push_back("-lpthread"); 30+ CmdArgs.push_back("-lpthread");
31+ CmdArgs.push_back("-ldl"); 31+ CmdArgs.push_back("-ldl");
32 } else if (TC.getTriple().isOSCygMing()) { 32 } else if (LGT == LibGccType::SharedLibGcc) {
33 if (LGT == LibGccType::SharedLibGcc) 33 if (TC.getTriple().isOSCygMing())
34 CmdArgs.push_back("-l:libunwind.dll.a"); 34 CmdArgs.push_back("-l:libunwind.dll.a");
diff --git a/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
index c873830..0563e9d 100644
--- a/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
+++ b/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
@@ -1,4 +1,4 @@
1From d26acd3f09d6796c35b29a70480142e70ec74d51 Mon Sep 17 00:00:00 2001 1From 9085bf817fc4d70a93838ea9350920c1e3f26295 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com> 2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Thu, 26 Dec 2019 12:56:16 -0800 3Date: Thu, 26 Dec 2019 12:56:16 -0800
4Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build 4Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build
@@ -10,7 +10,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
10 1 file changed, 1 insertion(+) 10 1 file changed, 1 insertion(+)
11 11
12diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake 12diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake
13index 2a39b6a40a28..8a441729c943 100644 13index 52b893dd0214..4399cec3e19a 100644
14--- a/llvm/cmake/modules/CrossCompile.cmake 14--- a/llvm/cmake/modules/CrossCompile.cmake
15+++ b/llvm/cmake/modules/CrossCompile.cmake 15+++ b/llvm/cmake/modules/CrossCompile.cmake
16@@ -84,6 +84,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) 16@@ -84,6 +84,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype)
diff --git a/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch b/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch
index c592021..3b8d878 100644
--- a/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch
+++ b/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch
@@ -1,4 +1,4 @@
1From 8bee07de2d0078373f0f1a72e924d7808ddf03e0 Mon Sep 17 00:00:00 2001 1From 94e6043e68865806ecbde1d895d5ea724adcc7dc Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 18 Nov 2019 17:00:29 -0800 3Date: Mon, 18 Nov 2019 17:00:29 -0800
4Subject: [PATCH] Check for atomic<double> intrinsics 4Subject: [PATCH] Check for atomic<double> intrinsics
diff --git a/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch b/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
index 55875f2..210e309 100644
--- a/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
+++ b/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
@@ -1,4 +1,4 @@
1From 3d7469e6d46dd19a20500fdb56f21a0cc7198e9d Mon Sep 17 00:00:00 2001 1From b04023195b8649e6f51a7fcc09fe39736e494afb Mon Sep 17 00:00:00 2001
2From: Jeremy Puhlman <jpuhlman@mvista.com> 2From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Thu, 16 Jan 2020 21:16:10 +0000 3Date: Thu, 16 Jan 2020 21:16:10 +0000
4Subject: [PATCH] libcxx: Add compiler runtime library to link step for libcxx 4Subject: [PATCH] libcxx: Add compiler runtime library to link step for libcxx
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 2 insertions(+), 2 deletions(-) 14 1 file changed, 2 insertions(+), 2 deletions(-)
15 15
16diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt 16diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
17index 12dcdf954405..54e446e2aecd 100644 17index 9abf548abbb9..a16c529781c6 100644
18--- a/libcxx/src/CMakeLists.txt 18--- a/libcxx/src/CMakeLists.txt
19+++ b/libcxx/src/CMakeLists.txt 19+++ b/libcxx/src/CMakeLists.txt
20@@ -212,7 +212,7 @@ if (LIBCXX_ENABLE_SHARED) 20@@ -199,7 +199,7 @@ if (LIBCXX_ENABLE_SHARED)
21 add_library(cxx_shared SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) 21 add_library(cxx_shared SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
22 target_include_directories(cxx_shared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) 22 target_include_directories(cxx_shared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
23 target_link_libraries(cxx_shared PUBLIC cxx-headers 23 target_link_libraries(cxx_shared PUBLIC cxx-headers
@@ -26,12 +26,12 @@ index 12dcdf954405..54e446e2aecd 100644
26 set_target_properties(cxx_shared 26 set_target_properties(cxx_shared
27 PROPERTIES 27 PROPERTIES
28 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}" 28 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
29@@ -290,7 +290,7 @@ if (LIBCXX_ENABLE_STATIC) 29@@ -283,7 +283,7 @@ if (LIBCXX_ENABLE_STATIC)
30 add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) 30 add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
31 target_include_directories(cxx_static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) 31 target_include_directories(cxx_static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
32 target_link_libraries(cxx_static PUBLIC cxx-headers 32 target_link_libraries(cxx_static PUBLIC cxx-headers
33- PRIVATE ${LIBCXX_LIBRARIES}) 33- PRIVATE ${LIBCXX_LIBRARIES}
34+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)") 34+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)"
35 PRIVATE libcxx-abi-static)
35 set_target_properties(cxx_static 36 set_target_properties(cxx_static
36 PROPERTIES 37 PROPERTIES
37 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
diff --git a/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch b/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
index 30deb5b..be0d088 100644
--- a/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
+++ b/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
@@ -1,4 +1,4 @@
1From 728e023a8d2dc85402fbe1295e87023fdb7c4c1b Mon Sep 17 00:00:00 2001 1From 9e1259310fdad1feebc5a0e80fb18afbea0fb49c Mon Sep 17 00:00:00 2001
2From: Ovidiu Panait <ovidiu.panait@windriver.com> 2From: Ovidiu Panait <ovidiu.panait@windriver.com>
3Date: Fri, 31 Jan 2020 10:56:11 +0200 3Date: Fri, 31 Jan 2020 10:56:11 +0200
4Subject: [PATCH] clang,llvm: cmake: Fix configure for packages using 4Subject: [PATCH] clang,llvm: cmake: Fix configure for packages using
@@ -32,48 +32,48 @@ Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
32 3 files changed, 15 deletions(-) 32 3 files changed, 15 deletions(-)
33 33
34diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake 34diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
35index 9bbbfc032b7d..7ee5170bbc71 100644 35index 21ac332e4f5f..86c93cfec59d 100644
36--- a/clang/cmake/modules/AddClang.cmake 36--- a/clang/cmake/modules/AddClang.cmake
37+++ b/clang/cmake/modules/AddClang.cmake 37+++ b/clang/cmake/modules/AddClang.cmake
38@@ -159,7 +159,6 @@ macro(add_clang_tool name) 38@@ -165,7 +165,6 @@ macro(add_clang_tool name)
39 if (CLANG_BUILD_TOOLS) 39 if (CLANG_BUILD_TOOLS)
40 get_target_export_arg(${name} Clang export_to_clangtargets) 40 get_target_export_arg(${name} Clang export_to_clangtargets)
41 install(TARGETS ${name} 41 install(TARGETS ${name}
42- ${export_to_clangtargets} 42- ${export_to_clangtargets}
43 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" 43 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
44 COMPONENT ${name}) 44 COMPONENT ${name})
45 45
46@@ -168,7 +167,6 @@ macro(add_clang_tool name) 46@@ -174,7 +173,6 @@ macro(add_clang_tool name)
47 DEPENDS ${name} 47 DEPENDS ${name}
48 COMPONENT ${name}) 48 COMPONENT ${name})
49 endif()
50- set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name})
49 endif() 51 endif()
50- set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name})
51 endif() 52 endif()
52 endmacro() 53 endmacro()
53
54diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake 54diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
55index 37bc98f9e021..d34083fa52ec 100644 55index 057431208322..e7c77e824d58 100644
56--- a/llvm/cmake/modules/AddLLVM.cmake 56--- a/llvm/cmake/modules/AddLLVM.cmake
57+++ b/llvm/cmake/modules/AddLLVM.cmake 57+++ b/llvm/cmake/modules/AddLLVM.cmake
58@@ -1251,7 +1251,6 @@ macro(add_llvm_tool name) 58@@ -1299,7 +1299,6 @@ macro(llvm_add_tool project name)
59 if( LLVM_BUILD_TOOLS ) 59 if( LLVM_BUILD_TOOLS )
60 get_target_export_arg(${name} LLVM export_to_llvmexports) 60 get_target_export_arg(${name} LLVM export_to_llvmexports)
61 install(TARGETS ${name} 61 install(TARGETS ${name}
62- ${export_to_llvmexports} 62- ${export_to_llvmexports}
63 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR} 63 RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR}
64 COMPONENT ${name}) 64 COMPONENT ${name})
65 65
66@@ -1262,9 +1261,6 @@ macro(add_llvm_tool name) 66@@ -1310,9 +1309,6 @@ macro(llvm_add_tool project name)
67 endif()
67 endif() 68 endif()
68 endif() 69 endif()
70- if( LLVM_BUILD_TOOLS )
71- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
72- endif()
73 set_target_properties(${name} PROPERTIES FOLDER "Tools")
69 endif() 74 endif()
70- if( LLVM_BUILD_TOOLS ) 75 endmacro(llvm_add_tool project name)
71- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 76@@ -1357,7 +1353,6 @@ macro(add_llvm_utility name)
72- endif()
73 set_target_properties(${name} PROPERTIES FOLDER "Tools")
74 endmacro(add_llvm_tool name)
75
76@@ -1304,7 +1300,6 @@ macro(add_llvm_utility name)
77 if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) 77 if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
78 get_target_export_arg(${name} LLVM export_to_llvmexports) 78 get_target_export_arg(${name} LLVM export_to_llvmexports)
79 install(TARGETS ${name} 79 install(TARGETS ${name}
@@ -81,7 +81,7 @@ index 37bc98f9e021..d34083fa52ec 100644
81 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} 81 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR}
82 COMPONENT ${name}) 82 COMPONENT ${name})
83 83
84@@ -1313,7 +1308,6 @@ macro(add_llvm_utility name) 84@@ -1366,7 +1361,6 @@ macro(add_llvm_utility name)
85 DEPENDS ${name} 85 DEPENDS ${name}
86 COMPONENT ${name}) 86 COMPONENT ${name})
87 endif() 87 endif()
@@ -90,10 +90,10 @@ index 37bc98f9e021..d34083fa52ec 100644
90 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name}) 90 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name})
91 endif() 91 endif()
92diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake 92diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
93index 59fd0d3b0733..3b9ac56ed37f 100644 93index 4711456776c8..857392499525 100644
94--- a/llvm/cmake/modules/TableGen.cmake 94--- a/llvm/cmake/modules/TableGen.cmake
95+++ b/llvm/cmake/modules/TableGen.cmake 95+++ b/llvm/cmake/modules/TableGen.cmake
96@@ -183,14 +183,8 @@ macro(add_tablegen target project) 96@@ -187,14 +187,8 @@ macro(add_tablegen target project)
97 endif() 97 endif()
98 98
99 if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) 99 if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS)
@@ -106,9 +106,9 @@ index 59fd0d3b0733..3b9ac56ed37f 100644
106 install(TARGETS ${target} 106 install(TARGETS ${target}
107- ${export_to_llvmexports} 107- ${export_to_llvmexports}
108 COMPONENT ${target} 108 COMPONENT ${target}
109 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}) 109 RUNTIME DESTINATION "${${project}_TOOLS_INSTALL_DIR}")
110 if(NOT LLVM_ENABLE_IDE) 110 if(NOT LLVM_ENABLE_IDE)
111@@ -199,5 +193,4 @@ macro(add_tablegen target project) 111@@ -203,5 +197,4 @@ macro(add_tablegen target project)
112 COMPONENT ${target}) 112 COMPONENT ${target})
113 endif() 113 endif()
114 endif() 114 endif()
diff --git a/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch b/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch
index aca23d2..164f64b 100644
--- a/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch
+++ b/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch
@@ -1,4 +1,4 @@
1From e12e426d3c67b17d74879d7dec434eb64310881e Mon Sep 17 00:00:00 2001 1From 9b847a7301907c040ad1a276386bf03245452ac1 Mon Sep 17 00:00:00 2001
2From: Jim Broadus <jbroadus@xevo.com> 2From: Jim Broadus <jbroadus@xevo.com>
3Date: Thu, 26 Mar 2020 16:05:53 -0700 3Date: Thu, 26 Mar 2020 16:05:53 -0700
4Subject: [PATCH] clang: Fix resource dir location for cross toolchains 4Subject: [PATCH] clang: Fix resource dir location for cross toolchains
@@ -19,10 +19,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
19 1 file changed, 7 insertions(+), 1 deletion(-) 19 1 file changed, 7 insertions(+), 1 deletion(-)
20 20
21diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp 21diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
22index 3bfddeefc7b2..8a806efb292b 100644 22index 3f29afd35971..45f2e0bede97 100644
23--- a/clang/lib/Driver/Driver.cpp 23--- a/clang/lib/Driver/Driver.cpp
24+++ b/clang/lib/Driver/Driver.cpp 24+++ b/clang/lib/Driver/Driver.cpp
25@@ -176,7 +176,13 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath, 25@@ -179,7 +179,13 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath,
26 // With a static-library build of libclang, LibClangPath will contain the 26 // With a static-library build of libclang, LibClangPath will contain the
27 // path of the embedding binary, which for LLVM binaries will be in bin/. 27 // path of the embedding binary, which for LLVM binaries will be in bin/.
28 // ../lib gets us to lib/ in both cases. 28 // ../lib gets us to lib/ in both cases.
diff --git a/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
index ddd52dd..4f69f61 100644
--- a/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
+++ b/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
@@ -1,4 +1,4 @@
1From 554002679332300b789cf44384c2274840ed24d9 Mon Sep 17 00:00:00 2001 1From ddac3e45e06789d6d525e72782110f66334dadd5 Mon Sep 17 00:00:00 2001
2From: Oleksandr Ocheretnyi <oocheret@cisco.com> 2From: Oleksandr Ocheretnyi <oocheret@cisco.com>
3Date: Wed, 15 Apr 2020 00:08:39 +0300 3Date: Wed, 15 Apr 2020 00:08:39 +0300
4Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso 4Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso
@@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
18 1 file changed, 8 insertions(+), 8 deletions(-) 18 1 file changed, 8 insertions(+), 8 deletions(-)
19 19
20diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 20diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
21index f9e233f15dfc..bf73b1ef27db 100644 21index 7555466e7e2b..27951858fb5d 100644
22--- a/clang/lib/Driver/ToolChains/Linux.cpp 22--- a/clang/lib/Driver/ToolChains/Linux.cpp
23+++ b/clang/lib/Driver/ToolChains/Linux.cpp 23+++ b/clang/lib/Driver/ToolChains/Linux.cpp
24@@ -493,8 +493,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 24@@ -508,8 +508,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
25 LibDir = "lib64"; 25 LibDir = "lib64";
26 Loader = 26 Loader =
27 (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; 27 (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
@@ -32,7 +32,7 @@ index f9e233f15dfc..bf73b1ef27db 100644
32 LibDir = "lib"; 32 LibDir = "lib";
33 } 33 }
34 break; 34 break;
35@@ -502,8 +502,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 35@@ -517,8 +517,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
36 LibDir = "lib64"; 36 LibDir = "lib64";
37 Loader = 37 Loader =
38 (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; 38 (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
@@ -43,7 +43,7 @@ index f9e233f15dfc..bf73b1ef27db 100644
43 LibDir = "lib"; 43 LibDir = "lib";
44 } 44 }
45 break; 45 break;
46@@ -527,8 +527,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 46@@ -542,8 +542,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
47 case llvm::Triple::sparcv9: 47 case llvm::Triple::sparcv9:
48 LibDir = "lib64"; 48 LibDir = "lib64";
49 Loader = "ld-linux.so.2"; 49 Loader = "ld-linux.so.2";
@@ -54,7 +54,7 @@ index f9e233f15dfc..bf73b1ef27db 100644
54 LibDir = "lib"; 54 LibDir = "lib";
55 } 55 }
56 break; 56 break;
57@@ -545,8 +545,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 57@@ -560,8 +560,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
58 58
59 LibDir = X32 ? "libx32" : "lib64"; 59 LibDir = X32 ? "libx32" : "lib64";
60 Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; 60 Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2";
diff --git a/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch b/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch
index f54cffd..b969630 100644
--- a/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch
+++ b/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch
@@ -1,4 +1,4 @@
1From 5ce5ec34d618d694a862d345c89eaa2d12e2bfc6 Mon Sep 17 00:00:00 2001 1From 4d5f0c87833256ac810b0702d3e3e128bd465bbe Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 14 Oct 2020 22:19:57 -0700 3Date: Wed, 14 Oct 2020 22:19:57 -0700
4Subject: [PATCH] clang: Use python3 in python scripts 4Subject: [PATCH] clang: Use python3 in python scripts
@@ -13,10 +13,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 clang-tools-extra/clang-tidy/add_new_check.py | 2 +- 13 clang-tools-extra/clang-tidy/add_new_check.py | 2 +-
14 clang-tools-extra/clang-tidy/rename_check.py | 2 +- 14 clang-tools-extra/clang-tidy/rename_check.py | 2 +-
15 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py | 2 +- 15 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py | 2 +-
16 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py | 2 +-
17 clang/tools/clang-format/git-clang-format | 2 +-
18 clang/tools/scan-view/bin/scan-view | 2 +- 16 clang/tools/scan-view/bin/scan-view | 2 +-
19 7 files changed, 7 insertions(+), 7 deletions(-) 17 5 files changed, 5 insertions(+), 5 deletions(-)
20 18
21diff --git a/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py b/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py 19diff --git a/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py b/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
22index 8655af137bb2..e95ba59a421c 100755 20index 8655af137bb2..e95ba59a421c 100755
@@ -29,7 +27,7 @@ index 8655af137bb2..e95ba59a421c 100755
29 #=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=# 27 #=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=#
30 # 28 #
31diff --git a/clang-tools-extra/clang-tidy/add_new_check.py b/clang-tools-extra/clang-tidy/add_new_check.py 29diff --git a/clang-tools-extra/clang-tidy/add_new_check.py b/clang-tools-extra/clang-tidy/add_new_check.py
32index 50a220b3f975..ea40cbc48dd2 100755 30index 19b6896e508f..a85767acdce9 100644
33--- a/clang-tools-extra/clang-tidy/add_new_check.py 31--- a/clang-tools-extra/clang-tidy/add_new_check.py
34+++ b/clang-tools-extra/clang-tidy/add_new_check.py 32+++ b/clang-tools-extra/clang-tidy/add_new_check.py
35@@ -1,4 +1,4 @@ 33@@ -1,4 +1,4 @@
@@ -49,7 +47,7 @@ index 9c2021751e0e..4bb9af8cbe0a 100755
49 #===- rename_check.py - clang-tidy check renamer ------------*- python -*--===# 47 #===- rename_check.py - clang-tidy check renamer ------------*- python -*--===#
50 # 48 #
51diff --git a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py 49diff --git a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
52index 6bd05531333b..9e134123ef44 100755 50index a26d2144b7f9..396a201b667e 100755
53--- a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py 51--- a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
54+++ b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py 52+++ b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
55@@ -1,4 +1,4 @@ 53@@ -1,4 +1,4 @@
@@ -58,26 +56,6 @@ index 6bd05531333b..9e134123ef44 100755
58 # 56 #
59 #===- clang-tidy-diff.py - ClangTidy Diff Checker -----------*- python -*--===# 57 #===- clang-tidy-diff.py - ClangTidy Diff Checker -----------*- python -*--===#
60 # 58 #
61diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
62index e6cff6a7414d..582c113fb173 100755
63--- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
64+++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
65@@ -1,4 +1,4 @@
66-#!/usr/bin/env python
67+#!/usr/bin/env python3
68 #
69 #===- run-clang-tidy.py - Parallel clang-tidy runner --------*- python -*--===#
70 #
71diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format
72index 7968c4387574..268e4dd14782 100755
73--- a/clang/tools/clang-format/git-clang-format
74+++ b/clang/tools/clang-format/git-clang-format
75@@ -1,4 +1,4 @@
76-#!/usr/bin/env python
77+#!/usr/bin/env python3
78 #
79 #===- git-clang-format - ClangFormat Git Integration ---------*- python -*--===#
80 #
81diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view 59diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view
82index 6165432e7af8..07effbca5969 100755 60index 6165432e7af8..07effbca5969 100755
83--- a/clang/tools/scan-view/bin/scan-view 61--- a/clang/tools/scan-view/bin/scan-view
diff --git a/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch b/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
index 44b4828..a8186c4 100644
--- a/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
+++ b/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
@@ -1,4 +1,4 @@
1From d720595723c92fe8e2d17887bab85c6fd154825e Mon Sep 17 00:00:00 2001 1From 85a70f8d590a0f6b2257257b7c494846870b3466 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Mon, 25 Jan 2021 16:14:35 +0800 3Date: Mon, 25 Jan 2021 16:14:35 +0800
4Subject: [PATCH] For x86_64, set Yocto based GCC install search path 4Subject: [PATCH] For x86_64, set Yocto based GCC install search path
@@ -57,10 +57,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
57 1 file changed, 1 insertion(+) 57 1 file changed, 1 insertion(+)
58 58
59diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 59diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
60index d22eaf698eb8..6fcd5abe7211 100644 60index bddc77cde2d6..5b4271b58337 100644
61--- a/clang/lib/Driver/ToolChains/Gnu.cpp 61--- a/clang/lib/Driver/ToolChains/Gnu.cpp
62+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 62+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
63@@ -2105,6 +2105,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( 63@@ -2224,6 +2224,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
64 "x86_64-redhat-linux", "x86_64-suse-linux", 64 "x86_64-redhat-linux", "x86_64-suse-linux",
65 "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", 65 "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
66 "x86_64-slackware-linux", "x86_64-unknown-linux", 66 "x86_64-slackware-linux", "x86_64-unknown-linux",
diff --git a/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch b/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch
index 46f151a..60e533b 100644
--- a/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch
+++ b/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch
@@ -1,4 +1,4 @@
1From fd5760df7696cd9c6ec9ef38ed6cbab19d70e3ac Mon Sep 17 00:00:00 2001 1From 7572a3983fd02d37e67559af75a520056fbd2906 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 7 Feb 2021 23:58:41 -0800 3Date: Sun, 7 Feb 2021 23:58:41 -0800
4Subject: [PATCH] llvm: Do not use find_library for ncurses 4Subject: [PATCH] llvm: Do not use find_library for ncurses
@@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
17 2 files changed, 2 insertions(+), 2 deletions(-) 17 2 files changed, 2 insertions(+), 2 deletions(-)
18 18
19diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake 19diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
20index 4299a0589a7b..cb53b6fd14bd 100644 20index cd45176cf2ba..73948a0274cd 100644
21--- a/compiler-rt/cmake/config-ix.cmake 21--- a/compiler-rt/cmake/config-ix.cmake
22+++ b/compiler-rt/cmake/config-ix.cmake 22+++ b/compiler-rt/cmake/config-ix.cmake
23@@ -149,7 +149,7 @@ else() 23@@ -160,7 +160,7 @@ else()
24 set(MAYBE_REQUIRED) 24 set(MAYBE_REQUIRED)
25 endif() 25 endif()
26 if(LLVM_ENABLE_TERMINFO) 26 if(LLVM_ENABLE_TERMINFO)
diff --git a/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch b/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
index 33a351d..983fe38 100644
--- a/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
+++ b/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
@@ -1,4 +1,4 @@
1From ef4ee8181adc48116a563adafae014409e9432d0 Mon Sep 17 00:00:00 2001 1From 126a93150c81c675d8a93c4f240e231bf1feeaf7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 11 Feb 2021 16:42:49 -0800 3Date: Thu, 11 Feb 2021 16:42:49 -0800
4Subject: [PATCH] llvm: Insert anchor for adding OE distro vendor names 4Subject: [PATCH] llvm: Insert anchor for adding OE distro vendor names
@@ -18,10 +18,10 @@ Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
18 1 file changed, 1 insertion(+), 1 deletion(-) 18 1 file changed, 1 insertion(+), 1 deletion(-)
19 19
20diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp 20diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
21index a9afcc9db96a..dc48caf02616 100644 21index 6696d158b2c1..c5aea898ab24 100644
22--- a/llvm/lib/Support/Triple.cpp 22--- a/llvm/lib/Support/Triple.cpp
23+++ b/llvm/lib/Support/Triple.cpp 23+++ b/llvm/lib/Support/Triple.cpp
24@@ -506,7 +506,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { 24@@ -542,7 +542,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
25 .Case("amd", Triple::AMD) 25 .Case("amd", Triple::AMD)
26 .Case("mesa", Triple::Mesa) 26 .Case("mesa", Triple::Mesa)
27 .Case("suse", Triple::SUSE) 27 .Case("suse", Triple::SUSE)
diff --git a/recipes-devtools/clang/clang/0023-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch b/recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
index bb247c9..67537be 100644
--- a/recipes-devtools/clang/clang/0023-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
+++ b/recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
@@ -1,4 +1,4 @@
1From e350e74522f03ed6d202b8130cf615e58a2ea714 Mon Sep 17 00:00:00 2001 1From e3833b5a620d1e8743c53ebc724fd6cb6775b4a8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 19 May 2021 17:32:13 -0700 3Date: Wed, 19 May 2021 17:32:13 -0700
4Subject: [PATCH] compiler-rt: Do not use backtrace APIs on non-glibc linux 4Subject: [PATCH] compiler-rt: Do not use backtrace APIs on non-glibc linux
diff --git a/recipes-devtools/clang/clang/0022-compiler-rt-Use-mcr-based-barrier-on-armv6.patch b/recipes-devtools/clang/clang/0022-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
deleted file mode 100644
index a407a4b..0000000
--- a/recipes-devtools/clang/clang/0022-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
+++ /dev/null
@@ -1,71 +0,0 @@
1From 759dff74b297c8bf35d222b17cee3047c0df10b8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 24 Mar 2021 00:32:09 -0700
4Subject: [PATCH] compiler-rt: Use mcr based barrier on armv6
5
6dsb is an armv7 instruction and wont work when we are building for armv6.
7
8Upstream-Status: Pending
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 compiler-rt/lib/builtins/arm/sync-ops.h | 8 ++++----
12 compiler-rt/lib/builtins/assembly.h | 8 ++++++++
13 2 files changed, 12 insertions(+), 4 deletions(-)
14
15diff --git a/compiler-rt/lib/builtins/arm/sync-ops.h b/compiler-rt/lib/builtins/arm/sync-ops.h
16index c9623249e5d2..7a26170741ad 100644
17--- a/compiler-rt/lib/builtins/arm/sync-ops.h
18+++ b/compiler-rt/lib/builtins/arm/sync-ops.h
19@@ -19,14 +19,14 @@
20 .thumb; \
21 .syntax unified; \
22 DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \
23- dmb; \
24+ DMB; \
25 mov r12, r0; \
26 LOCAL_LABEL(tryatomic_##op) : ldrex r0, [r12]; \
27 op(r2, r0, r1); \
28 strex r3, r2, [r12]; \
29 cmp r3, #0; \
30 bne LOCAL_LABEL(tryatomic_##op); \
31- dmb; \
32+ DMB; \
33 bx lr
34
35 #define SYNC_OP_8(op) \
36@@ -35,14 +35,14 @@
37 .syntax unified; \
38 DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \
39 push {r4, r5, r6, lr}; \
40- dmb; \
41+ DMB; \
42 mov r12, r0; \
43 LOCAL_LABEL(tryatomic_##op) : ldrexd r0, r1, [r12]; \
44 op(r4, r5, r0, r1, r2, r3); \
45 strexd r6, r4, r5, [r12]; \
46 cmp r6, #0; \
47 bne LOCAL_LABEL(tryatomic_##op); \
48- dmb; \
49+ DMB; \
50 pop { r4, r5, r6, pc }
51
52 #define MINMAX_4(rD, rN, rM, cmp_kind) \
53diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h
54index 69a3d8620f92..60bac86df218 100644
55--- a/compiler-rt/lib/builtins/assembly.h
56+++ b/compiler-rt/lib/builtins/assembly.h
57@@ -189,6 +189,14 @@
58 JMP(ip)
59 #endif
60
61+#if __ARM_ARCH >= 7
62+#define DMB dmb
63+#elif __ARM_ARCH >= 6
64+#define DMB mcr p15, #0, r0, c7, c10, #5
65+#else
66+#error Only use this with ARMv6+
67+#endif
68+
69 #if defined(USE_THUMB_2)
70 #define WIDE(op) op.w
71 #else
diff --git a/recipes-devtools/clang/clang/0024-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch b/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
index 880f500..484c62a 100644
--- a/recipes-devtools/clang/clang/0024-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
+++ b/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
@@ -1,4 +1,4 @@
1From a310ecc416f38d81c13af43cdecaaf001cf06274 Mon Sep 17 00:00:00 2001 1From a9a28d1133089b29761a8a77910f5c5326be054c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 19 May 2021 17:56:03 -0700 3Date: Wed, 19 May 2021 17:56:03 -0700
4Subject: [PATCH] clang: Fix x86 triple for non-debian multiarch linux distros 4Subject: [PATCH] clang: Fix x86 triple for non-debian multiarch linux distros
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
12 1 file changed, 3 insertions(+) 12 1 file changed, 3 insertions(+)
13 13
14diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 14diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
15index bf73b1ef27db..eb92a037c930 100644 15index 27951858fb5d..aac45650f97b 100644
16--- a/clang/lib/Driver/ToolChains/Linux.cpp 16--- a/clang/lib/Driver/ToolChains/Linux.cpp
17+++ b/clang/lib/Driver/ToolChains/Linux.cpp 17+++ b/clang/lib/Driver/ToolChains/Linux.cpp
18@@ -636,6 +636,9 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, 18@@ -657,6 +657,9 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
19 GCCInstallation.getTriple().getArch() == llvm::Triple::x86 19 GCCInstallation.getTriple().getArch() == llvm::Triple::x86
20 ? "i386-linux-gnu" 20 ? "i386-linux-gnu"
21 : TripleStr; 21 : TripleStr;
diff --git a/recipes-devtools/clang/clang/0025-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch b/recipes-devtools/clang/clang/0024-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch
index cce7b61..9170b39 100644
--- a/recipes-devtools/clang/clang/0025-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch
+++ b/recipes-devtools/clang/clang/0024-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch
@@ -1,4 +1,4 @@
1From 4bbb4ab9d4cd3ff1424bed6346dd8e47cd4bcb24 Mon Sep 17 00:00:00 2001 1From 071147ea1fa0f8cd9997b8ade9b33ae48831e9dd Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 19 May 2021 21:49:18 -0700 3Date: Wed, 19 May 2021 21:49:18 -0700
4Subject: [PATCH] compiler-rt: Link scudo with SANITIZER_CXX_ABI_LIBRARIES 4Subject: [PATCH] compiler-rt: Link scudo with SANITIZER_CXX_ABI_LIBRARIES
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 1 file changed, 1 insertion(+) 15 1 file changed, 1 insertion(+)
16 16
17diff --git a/compiler-rt/lib/scudo/CMakeLists.txt b/compiler-rt/lib/scudo/CMakeLists.txt 17diff --git a/compiler-rt/lib/scudo/CMakeLists.txt b/compiler-rt/lib/scudo/CMakeLists.txt
18index 995e853e2a4d..25b79a8d17e8 100644 18index 31a6976960f7..8f3e291960b0 100644
19--- a/compiler-rt/lib/scudo/CMakeLists.txt 19--- a/compiler-rt/lib/scudo/CMakeLists.txt
20+++ b/compiler-rt/lib/scudo/CMakeLists.txt 20+++ b/compiler-rt/lib/scudo/CMakeLists.txt
21@@ -15,6 +15,7 @@ append_list_if(COMPILER_RT_HAS_LIBDL dl SCUDO_MINIMAL_DYNAMIC_LIBS) 21@@ -15,6 +15,7 @@ append_list_if(COMPILER_RT_HAS_LIBDL dl SCUDO_MINIMAL_DYNAMIC_LIBS)
diff --git a/recipes-devtools/clang/clang/0027-libunwind-Added-unw_backtrace-method.patch b/recipes-devtools/clang/clang/0025-libunwind-Added-unw_backtrace-method.patch
index 6244cd2..430f336 100644
--- a/recipes-devtools/clang/clang/0027-libunwind-Added-unw_backtrace-method.patch
+++ b/recipes-devtools/clang/clang/0025-libunwind-Added-unw_backtrace-method.patch
@@ -1,4 +1,4 @@
1From a71fda827da45c357d92d07ea491c208c1e044fe Mon Sep 17 00:00:00 2001 1From d8ac6d8eb8fdf5c89d008cb082961920ad15201f Mon Sep 17 00:00:00 2001
2From: Maksim Kita <maksim-kita@yandex-team.ru> 2From: Maksim Kita <maksim-kita@yandex-team.ru>
3Date: Sun, 23 May 2021 10:27:29 +0000 3Date: Sun, 23 May 2021 10:27:29 +0000
4Subject: [PATCH] libunwind: Added unw_backtrace method 4Subject: [PATCH] libunwind: Added unw_backtrace method
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
12 2 files changed, 19 insertions(+) 12 2 files changed, 19 insertions(+)
13 13
14diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h 14diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h
15index 9a74faa48d6f..f7480c9cf27a 100644 15index f878b46f0348..d922f84011ee 100644
16--- a/libunwind/include/libunwind.h 16--- a/libunwind/include/libunwind.h
17+++ b/libunwind/include/libunwind.h 17+++ b/libunwind/include/libunwind.h
18@@ -127,6 +127,7 @@ extern int unw_is_fpreg(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL; 18@@ -130,6 +130,7 @@ extern int unw_is_fpreg(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL;
19 extern int unw_is_signal_frame(unw_cursor_t *) LIBUNWIND_AVAIL; 19 extern int unw_is_signal_frame(unw_cursor_t *) LIBUNWIND_AVAIL;
20 extern int unw_get_proc_name(unw_cursor_t *, char *, size_t, unw_word_t *) LIBUNWIND_AVAIL; 20 extern int unw_get_proc_name(unw_cursor_t *, char *, size_t, unw_word_t *) LIBUNWIND_AVAIL;
21 //extern int unw_get_save_loc(unw_cursor_t*, int, unw_save_loc_t*); 21 //extern int unw_get_save_loc(unw_cursor_t*, int, unw_save_loc_t*);
@@ -24,10 +24,10 @@ index 9a74faa48d6f..f7480c9cf27a 100644
24 extern unw_addr_space_t unw_local_addr_space; 24 extern unw_addr_space_t unw_local_addr_space;
25 25
26diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp 26diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp
27index 03f8b75b5bba..730e2393a8f8 100644 27index b8b41ff25e54..ca7d9a01e631 100644
28--- a/libunwind/src/libunwind.cpp 28--- a/libunwind/src/libunwind.cpp
29+++ b/libunwind/src/libunwind.cpp 29+++ b/libunwind/src/libunwind.cpp
30@@ -326,7 +326,25 @@ void __unw_remove_dynamic_eh_frame_section(unw_word_t eh_frame_start) { 30@@ -338,7 +338,25 @@ void __unw_remove_dynamic_eh_frame_section(unw_word_t eh_frame_start) {
31 #endif // defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) 31 #endif // defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
32 #endif // !defined(__USING_SJLJ_EXCEPTIONS__) 32 #endif // !defined(__USING_SJLJ_EXCEPTIONS__)
33 33
diff --git a/recipes-devtools/clang/clang/0026-Drop-the-git-suffix-from-various-version-variables.patch b/recipes-devtools/clang/clang/0026-Drop-the-git-suffix-from-various-version-variables.patch
new file mode 100644
index 0000000..27d49de
--- /dev/null
+++ b/recipes-devtools/clang/clang/0026-Drop-the-git-suffix-from-various-version-variables.patch
@@ -0,0 +1,26 @@
1From 3201dca689e5e3637501cacf9d01ec5a775207c5 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Wed, 23 Jun 2021 16:25:06 +0800
4Subject: [PATCH] Drop the 'git' suffix from various version variables
5
6Upstream-Status: Backport [cherry-picked from branch 12.0.0]
7
8Signed-off-by: Changqing Li <changqing.li@windriver.com>
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 .../llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h b/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
15index e63369a56928..92162bddf9f1 100644
16--- a/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
17+++ b/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
18@@ -83,7 +83,7 @@
19 #define LLVM_VERSION_PATCH 0
20
21 /* LLVM version string */
22-#define LLVM_VERSION_STRING "15.0.0git"
23+#define LLVM_VERSION_STRING "15.0.0"
24
25 /* Whether LLVM records statistics for use with GetStatistics(),
26 * PrintStatistics() or PrintStatisticsJSON()
diff --git a/recipes-devtools/clang/clang/0026-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch b/recipes-devtools/clang/clang/0026-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch
deleted file mode 100644
index 4eac4e3..0000000
--- a/recipes-devtools/clang/clang/0026-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 0806d2c4a56116b99413c506e8ff5ebe11bf270f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 21 May 2021 08:14:29 -0700
4Subject: [PATCH] compiler-rt: Link scudo standalone with libatomic on mips
5
6clang on mips generate atomic built-ins which should be provided by
7libatomic
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 compiler-rt/lib/scudo/standalone/CMakeLists.txt | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/compiler-rt/lib/scudo/standalone/CMakeLists.txt b/compiler-rt/lib/scudo/standalone/CMakeLists.txt
16index 739f131bdefd..5862545b842b 100644
17--- a/compiler-rt/lib/scudo/standalone/CMakeLists.txt
18+++ b/compiler-rt/lib/scudo/standalone/CMakeLists.txt
19@@ -137,6 +137,10 @@ append_list_if(COMPILER_RT_HAS_LIBPTHREAD -pthread SCUDO_LINK_FLAGS)
20
21 append_list_if(FUCHSIA zircon SCUDO_LINK_LIBS)
22
23+if (CMAKE_SYSTEM_PROCESSOR MATCHES "mips" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
24+ list(APPEND SCUDO_LINK_LIBS atomic)
25+endif()
26+
27 if(COMPILER_RT_HAS_SCUDO_STANDALONE)
28 add_compiler_rt_object_libraries(RTScudoStandalone
29 ARCHS ${SCUDO_STANDALONE_SUPPORTED_ARCH}
diff --git a/recipes-devtools/clang/clang/0029-clang-Do-not-use-install-relative-libc-headers.patch b/recipes-devtools/clang/clang/0027-clang-Do-not-use-install-relative-libc-headers.patch
index 8bae1a3..d162084 100644
--- a/recipes-devtools/clang/clang/0029-clang-Do-not-use-install-relative-libc-headers.patch
+++ b/recipes-devtools/clang/clang/0027-clang-Do-not-use-install-relative-libc-headers.patch
@@ -1,4 +1,4 @@
1From 71a195e5ed96e47a21fe3f55708046350ebabdfe Mon Sep 17 00:00:00 2001 1From 3b9c88e521e47f71ae888094537e7c6a039c9355 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 11 Aug 2021 18:37:11 -0700 3Date: Wed, 11 Aug 2021 18:37:11 -0700
4Subject: [PATCH] clang: Do not use install relative libc++ headers 4Subject: [PATCH] clang: Do not use install relative libc++ headers
@@ -16,10 +16,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
16 1 file changed, 3 insertions(+), 1 deletion(-) 16 1 file changed, 3 insertions(+), 1 deletion(-)
17 17
18diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 18diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
19index 6fcd5abe7211..0d04a199a7af 100644 19index 5b4271b58337..107ab8d78598 100644
20--- a/clang/lib/Driver/ToolChains/Gnu.cpp 20--- a/clang/lib/Driver/ToolChains/Gnu.cpp
21+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 21+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
22@@ -2919,7 +2919,9 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, 22@@ -3049,7 +3049,9 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
23 23
24 // Android never uses the libc++ headers installed alongside the toolchain, 24 // Android never uses the libc++ headers installed alongside the toolchain,
25 // which are generally incompatible with the NDK libraries anyway. 25 // which are generally incompatible with the NDK libraries anyway.
diff --git a/recipes-devtools/clang/clang/0028-Do-not-force-thumb-mode-directive.patch b/recipes-devtools/clang/clang/0028-Do-not-force-thumb-mode-directive.patch
deleted file mode 100644
index 6db1e87..0000000
--- a/recipes-devtools/clang/clang/0028-Do-not-force-thumb-mode-directive.patch
+++ /dev/null
@@ -1,46 +0,0 @@
1From f69f7529bc8b561ddc32a5057da6d74d90dd9c94 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Jun 2021 08:42:36 -0700
4Subject: [PATCH] Do not force thumb mode directive
5
6.thumb_func was not switching mode until [1]
7so it did not show up but now that .thumb_func (without argument) is
8switching mode, its causing build failures on armv6 ( rpi0 ) even when
9build is explicitly asking for this file to be built with -marm (ARM
10mode), therefore use DEFINE_COMPILERRT_FUNCTION macro to add function
11header which considers arch and mode from compiler cmdline to decide if
12the function is built using thumb mode or arm mode.
13
14[1] https://reviews.llvm.org/D101975
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 compiler-rt/lib/builtins/arm/sync-ops.h | 6 ++----
19 1 file changed, 2 insertions(+), 4 deletions(-)
20
21diff --git a/compiler-rt/lib/builtins/arm/sync-ops.h b/compiler-rt/lib/builtins/arm/sync-ops.h
22index 7a26170741ad..d914f9d3a109 100644
23--- a/compiler-rt/lib/builtins/arm/sync-ops.h
24+++ b/compiler-rt/lib/builtins/arm/sync-ops.h
25@@ -16,9 +16,8 @@
26
27 #define SYNC_OP_4(op) \
28 .p2align 2; \
29- .thumb; \
30 .syntax unified; \
31- DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \
32+ DEFINE_COMPILERRT_FUNCTION(__sync_fetch_and_##op) \
33 DMB; \
34 mov r12, r0; \
35 LOCAL_LABEL(tryatomic_##op) : ldrex r0, [r12]; \
36@@ -31,9 +30,8 @@
37
38 #define SYNC_OP_8(op) \
39 .p2align 2; \
40- .thumb; \
41 .syntax unified; \
42- DEFINE_COMPILERRT_THUMB_FUNCTION(__sync_fetch_and_##op) \
43+ DEFINE_COMPILERRT_FUNCTION(__sync_fetch_and_##op) \
44 push {r4, r5, r6, lr}; \
45 DMB; \
46 mov r12, r0; \
diff --git a/recipes-devtools/clang/clang/0030-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch b/recipes-devtools/clang/clang/0028-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch
index b814803..1f50ec0 100644
--- a/recipes-devtools/clang/clang/0030-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch
+++ b/recipes-devtools/clang/clang/0028-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch
@@ -1,4 +1,4 @@
1From d7b262b22c16436c836de7f39591eaafd28a4e21 Mon Sep 17 00:00:00 2001 1From fe9ef041f4a5885d4ce4caf6569cda2869ceb7a7 Mon Sep 17 00:00:00 2001
2From: David Abdurachmanov <david.abdurachmanov@sifive.com> 2From: David Abdurachmanov <david.abdurachmanov@sifive.com>
3Date: Wed, 20 Oct 2021 17:30:36 -0700 3Date: Wed, 20 Oct 2021 17:30:36 -0700
4Subject: [PATCH] clang: Fix how driver finds GCC installation path on 4Subject: [PATCH] clang: Fix how driver finds GCC installation path on
@@ -31,10 +31,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
31 1 file changed, 28 insertions(+), 11 deletions(-) 31 1 file changed, 28 insertions(+), 11 deletions(-)
32 32
33diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 33diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
34index 0d04a199a7af..1e5a3cc2c1f1 100644 34index 107ab8d78598..b5ee01c566e3 100644
35--- a/clang/lib/Driver/ToolChains/Gnu.cpp 35--- a/clang/lib/Driver/ToolChains/Gnu.cpp
36+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 36+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
37@@ -1641,18 +1641,29 @@ static void findRISCVMultilibs(const Driver &D, 37@@ -1737,18 +1737,29 @@ static void findRISCVMultilibs(const Driver &D,
38 return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result); 38 return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result);
39 39
40 FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS()); 40 FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
@@ -74,7 +74,7 @@ index 0d04a199a7af..1e5a3cc2c1f1 100644
74 74
75 Multilib::flags_list Flags; 75 Multilib::flags_list Flags;
76 bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64; 76 bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64;
77@@ -2549,13 +2560,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 77@@ -2674,13 +2685,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
78 continue; // Saw this path before; no need to look at it again. 78 continue; // Saw this path before; no need to look at it again.
79 if (CandidateVersion.isOlderThan(4, 1, 1)) 79 if (CandidateVersion.isOlderThan(4, 1, 1))
80 continue; 80 continue;
diff --git a/recipes-devtools/clang/clang/0031-Fix-lib-paths-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0029-Fix-lib-paths-for-OpenEmbedded-Host.patch
index c5eb168..4edcd97 100644
--- a/recipes-devtools/clang/clang/0031-Fix-lib-paths-for-OpenEmbedded-Host.patch
+++ b/recipes-devtools/clang/clang/0029-Fix-lib-paths-for-OpenEmbedded-Host.patch
@@ -1,4 +1,4 @@
1From 4dab11c8abdd1a48cd0df4475ef2f82732c7f7e3 Mon Sep 17 00:00:00 2001 1From 4a5e70c334ceb5e83d971d1a00067281d42ebaff Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com> 2From: Changqing Li <changqing.li@windriver.com>
3Date: Tue, 7 Dec 2021 04:08:22 +0000 3Date: Tue, 7 Dec 2021 04:08:22 +0000
4Subject: [PATCH] Fix lib paths for OpenEmbedded Host 4Subject: [PATCH] Fix lib paths for OpenEmbedded Host
@@ -48,10 +48,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
48 1 file changed, 4 insertions(+), 1 deletion(-) 48 1 file changed, 4 insertions(+), 1 deletion(-)
49 49
50diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 50diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
51index 1e5a3cc2c1f1..d3574b86cb26 100644 51index b5ee01c566e3..f9dce01b579f 100644
52--- a/clang/lib/Driver/ToolChains/Gnu.cpp 52--- a/clang/lib/Driver/ToolChains/Gnu.cpp
53+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 53+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
54@@ -22,6 +22,7 @@ 54@@ -23,6 +23,7 @@
55 #include "clang/Driver/Options.h" 55 #include "clang/Driver/Options.h"
56 #include "clang/Driver/Tool.h" 56 #include "clang/Driver/Tool.h"
57 #include "clang/Driver/ToolChain.h" 57 #include "clang/Driver/ToolChain.h"
@@ -59,7 +59,7 @@ index 1e5a3cc2c1f1..d3574b86cb26 100644
59 #include "llvm/Option/ArgList.h" 59 #include "llvm/Option/ArgList.h"
60 #include "llvm/Support/CodeGen.h" 60 #include "llvm/Support/CodeGen.h"
61 #include "llvm/Support/Path.h" 61 #include "llvm/Support/Path.h"
62@@ -2518,6 +2519,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 62@@ -2643,6 +2644,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
63 const llvm::Triple &TargetTriple, const ArgList &Args, 63 const llvm::Triple &TargetTriple, const ArgList &Args,
64 const std::string &LibDir, StringRef CandidateTriple, 64 const std::string &LibDir, StringRef CandidateTriple,
65 bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) { 65 bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) {
@@ -67,7 +67,7 @@ index 1e5a3cc2c1f1..d3574b86cb26 100644
67 // Locations relative to the system lib directory where GCC's triple-specific 67 // Locations relative to the system lib directory where GCC's triple-specific
68 // directories might reside. 68 // directories might reside.
69 struct GCCLibSuffix { 69 struct GCCLibSuffix {
70@@ -2535,7 +2537,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 70@@ -2660,7 +2662,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
71 // files in that location, not just GCC installation data. 71 // files in that location, not just GCC installation data.
72 {CandidateTriple.str(), "..", 72 {CandidateTriple.str(), "..",
73 TargetTriple.getVendor() == llvm::Triple::Freescale || 73 TargetTriple.getVendor() == llvm::Triple::Freescale ||
diff --git a/recipes-devtools/clang/clang/0032-Correct-library-search-path-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0030-Correct-library-search-path-for-OpenEmbedded-Host.patch
index 7388f8e..d286791 100644
--- a/recipes-devtools/clang/clang/0032-Correct-library-search-path-for-OpenEmbedded-Host.patch
+++ b/recipes-devtools/clang/clang/0030-Correct-library-search-path-for-OpenEmbedded-Host.patch
@@ -1,4 +1,4 @@
1From 12b439deed0381e603155a11f3aec5eb20cd6803 Mon Sep 17 00:00:00 2001 1From f336b9d079e5576ce6d98bb1650002eb107b824a Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com> 2From: Changqing Li <changqing.li@windriver.com>
3Date: Tue, 7 Dec 2021 04:55:48 +0000 3Date: Tue, 7 Dec 2021 04:55:48 +0000
4Subject: [PATCH] Correct library search path for OpenEmbedded Host 4Subject: [PATCH] Correct library search path for OpenEmbedded Host
@@ -39,10 +39,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
39 3 files changed, 4 insertions(+) 39 3 files changed, 4 insertions(+)
40 40
41diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h 41diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h
42index 2723f75e8945..cd43e8f11574 100644 42index 01d66b30b038..4d5aa366a005 100644
43--- a/clang/include/clang/Driver/Distro.h 43--- a/clang/include/clang/Driver/Distro.h
44+++ b/clang/include/clang/Driver/Distro.h 44+++ b/clang/include/clang/Driver/Distro.h
45@@ -44,6 +44,7 @@ public: 45@@ -45,6 +45,7 @@ public:
46 RHEL7, 46 RHEL7,
47 Fedora, 47 Fedora,
48 Gentoo, 48 Gentoo,
@@ -50,7 +50,7 @@ index 2723f75e8945..cd43e8f11574 100644
50 OpenSUSE, 50 OpenSUSE,
51 UbuntuHardy, 51 UbuntuHardy,
52 UbuntuIntrepid, 52 UbuntuIntrepid,
53@@ -132,6 +133,7 @@ public: 53@@ -134,6 +135,7 @@ public:
54 54
55 bool IsGentoo() const { return DistroVal == Gentoo; } 55 bool IsGentoo() const { return DistroVal == Gentoo; }
56 56
@@ -59,7 +59,7 @@ index 2723f75e8945..cd43e8f11574 100644
59 }; 59 };
60 60
61diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp 61diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
62index 5ac38c34d112..f20dd4b526e5 100644 62index 1898667279cc..ab7bc8d45ac1 100644
63--- a/clang/lib/Driver/Distro.cpp 63--- a/clang/lib/Driver/Distro.cpp
64+++ b/clang/lib/Driver/Distro.cpp 64+++ b/clang/lib/Driver/Distro.cpp
65@@ -44,6 +44,7 @@ static Distro::DistroType DetectOsRelease(llvm::vfs::FileSystem &VFS) { 65@@ -44,6 +44,7 @@ static Distro::DistroType DetectOsRelease(llvm::vfs::FileSystem &VFS) {
@@ -71,7 +71,7 @@ index 5ac38c34d112..f20dd4b526e5 100644
71 return Version; 71 return Version;
72 } 72 }
73diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 73diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
74index eb92a037c930..c92cef442005 100644 74index aac45650f97b..3c4034ea4921 100644
75--- a/clang/lib/Driver/ToolChains/Linux.cpp 75--- a/clang/lib/Driver/ToolChains/Linux.cpp
76+++ b/clang/lib/Driver/ToolChains/Linux.cpp 76+++ b/clang/lib/Driver/ToolChains/Linux.cpp
77@@ -77,6 +77,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, 77@@ -77,6 +77,7 @@ std::string Linux::getMultiarchTriple(const Driver &D,
diff --git a/recipes-devtools/clang/clang/0033-lldb-Link-with-libatomic-on-x86.patch b/recipes-devtools/clang/clang/0031-lldb-Link-with-libatomic-on-x86.patch
index 7539afc..9f94c20 100644
--- a/recipes-devtools/clang/clang/0033-lldb-Link-with-libatomic-on-x86.patch
+++ b/recipes-devtools/clang/clang/0031-lldb-Link-with-libatomic-on-x86.patch
@@ -1,4 +1,4 @@
1From 17c7ad88f765bfbcfe25dd8f76ab9264250b9ea3 Mon Sep 17 00:00:00 2001 1From 27491fdfb14a3381800fbf2785a68e93363ff4da Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 8 Feb 2022 01:31:26 -0800 3Date: Tue, 8 Feb 2022 01:31:26 -0800
4Subject: [PATCH] lldb: Link with libatomic on x86 4Subject: [PATCH] lldb: Link with libatomic on x86
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
17 1 file changed, 4 insertions(+) 17 1 file changed, 4 insertions(+)
18 18
19diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt 19diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt
20index cc0bf5fdb61a..5228bf01c276 100644 20index 1a92c033fac4..a0d8f3288c06 100644
21--- a/lldb/source/Utility/CMakeLists.txt 21--- a/lldb/source/Utility/CMakeLists.txt
22+++ b/lldb/source/Utility/CMakeLists.txt 22+++ b/lldb/source/Utility/CMakeLists.txt
23@@ -19,6 +19,10 @@ if (CMAKE_SYSTEM_NAME MATCHES "Windows") 23@@ -19,6 +19,10 @@ if (CMAKE_SYSTEM_NAME MATCHES "Windows")
diff --git a/recipes-devtools/clang/clang/0034-clang-exclude-openembedded-distributions-from-settin.patch b/recipes-devtools/clang/clang/0032-clang-exclude-openembedded-distributions-from-settin.patch
index cbc3da1..5d04625 100644
--- a/recipes-devtools/clang/clang/0034-clang-exclude-openembedded-distributions-from-settin.patch
+++ b/recipes-devtools/clang/clang/0032-clang-exclude-openembedded-distributions-from-settin.patch
@@ -1,4 +1,4 @@
1From 5c0d026419a69d5b8722f1abb0000caa4c151885 Mon Sep 17 00:00:00 2001 1From aa89fb818fd69fa1ae2021acd91c3fcc5692daa8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Feb 2022 12:29:14 -0800 3Date: Fri, 11 Feb 2022 12:29:14 -0800
4Subject: [PATCH] clang: exclude openembedded distributions from setting rpath 4Subject: [PATCH] clang: exclude openembedded distributions from setting rpath
@@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
18 1 file changed, 5 insertions(+) 18 1 file changed, 5 insertions(+)
19 19
20diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp 20diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
21index dbc91e427dfb..b2cbfca9898c 100644 21index c8eabfac21dc..6e1e626a90ea 100644
22--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp 22--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
23+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp 23+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
24@@ -648,6 +648,11 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args, 24@@ -649,6 +649,11 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args,
25 void tools::addOpenMPRuntimeSpecificRPath(const ToolChain &TC, 25 void tools::addOpenMPRuntimeSpecificRPath(const ToolChain &TC,
26 const ArgList &Args, 26 const ArgList &Args,
27 ArgStringList &CmdArgs) { 27 ArgStringList &CmdArgs) {
diff --git a/recipes-devtools/clang/clang/0035-compiler-rt-Enable-__int128-for-ppc32.patch b/recipes-devtools/clang/clang/0033-compiler-rt-Enable-__int128-for-ppc32.patch
index bb1a26a..89f62fa 100644
--- a/recipes-devtools/clang/clang/0035-compiler-rt-Enable-__int128-for-ppc32.patch
+++ b/recipes-devtools/clang/clang/0033-compiler-rt-Enable-__int128-for-ppc32.patch
@@ -1,4 +1,4 @@
1From 734aaa66800b91abe42bdef1dd721c368fa17b07 Mon Sep 17 00:00:00 2001 1From 640b23ccdd2e8605a2cfa940f93619f02e2616f7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Mar 2022 16:28:16 -0800 3Date: Wed, 9 Mar 2022 16:28:16 -0800
4Subject: [PATCH] compiler-rt: Enable __int128 for ppc32 4Subject: [PATCH] compiler-rt: Enable __int128 for ppc32
@@ -6,15 +6,15 @@ Subject: [PATCH] compiler-rt: Enable __int128 for ppc32
6Upstream-Status: Pending 6Upstream-Status: Pending
7Signed-off-by: Khem Raj <raj.khem@gmail.com> 7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8--- 8---
9 compiler-rt/lib/builtins/CMakeLists.txt | 7 +++---- 9 compiler-rt/lib/builtins/CMakeLists.txt | 15 +++++++--------
10 compiler-rt/lib/builtins/int_types.h | 2 +- 10 compiler-rt/lib/builtins/int_types.h | 2 +-
11 2 files changed, 4 insertions(+), 5 deletions(-) 11 2 files changed, 8 insertions(+), 9 deletions(-)
12 12
13diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt 13diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
14index ea5ad9cdb864..4d1efc690d71 100644 14index ec668e294d6d..72556d2fc58e 100644
15--- a/compiler-rt/lib/builtins/CMakeLists.txt 15--- a/compiler-rt/lib/builtins/CMakeLists.txt
16+++ b/compiler-rt/lib/builtins/CMakeLists.txt 16+++ b/compiler-rt/lib/builtins/CMakeLists.txt
17@@ -607,8 +607,6 @@ set(mips64_SOURCES ${GENERIC_TF_SOURCES} 17@@ -628,11 +628,9 @@ set(mips64_SOURCES ${GENERIC_TF_SOURCES}
18 set(mips64el_SOURCES ${GENERIC_TF_SOURCES} 18 set(mips64el_SOURCES ${GENERIC_TF_SOURCES}
19 ${mips_SOURCES}) 19 ${mips_SOURCES})
20 20
@@ -22,16 +22,31 @@ index ea5ad9cdb864..4d1efc690d71 100644
22- 22-
23 set(powerpcspe_SOURCES ${GENERIC_SOURCES}) 23 set(powerpcspe_SOURCES ${GENERIC_SOURCES})
24 24
25 set(powerpc64_SOURCES 25-set(powerpc64_SOURCES
26@@ -634,6 +632,7 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "AIX") 26+set(powerpc_SOURCES
27 ppc/divtc3.c
28 ppc/fixtfdi.c
29 ppc/fixunstfdi.c
30@@ -647,14 +645,15 @@ set(powerpc64_SOURCES
31 )
32 # These routines require __int128, which isn't supported on AIX.
33 if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
34- set(powerpc64_SOURCES
35+ set(powerpc_SOURCES
36 ppc/floattitf.c
37 ppc/fixtfti.c
38 ppc/fixunstfti.c
39- ${powerpc64_SOURCES}
40+ ${powerpc_SOURCES}
27 ) 41 )
28 endif() 42 endif()
29 set(powerpc64le_SOURCES ${powerpc64_SOURCES}) 43-set(powerpc64le_SOURCES ${powerpc64_SOURCES})
30+set(powerpc_SOURCES ${powerpc64_SOURCES}) 44+set(powerpc64le_SOURCES ${powerpc_SOURCES})
45+set(powerpc64_SOURCES ${powerpc_SOURCES})
31 46
32 set(riscv_SOURCES 47 set(riscv_SOURCES
33 riscv/save.S 48 riscv/save.S
34@@ -740,9 +739,9 @@ else () 49@@ -761,9 +760,9 @@ else ()
35 list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET) 50 list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
36 endif() 51 endif()
37 52
diff --git a/recipes-devtools/clang/clang/0034-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch b/recipes-devtools/clang/clang/0034-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch
new file mode 100644
index 0000000..88b0744
--- /dev/null
+++ b/recipes-devtools/clang/clang/0034-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch
@@ -0,0 +1,44 @@
1From dfff33f748b0335ccc2df25c45f3841d459b6345 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 12 Aug 2022 11:50:57 -0700
4Subject: [PATCH] llvm: Do not use cmake infra to detect libzstd
5
6OE's version is build using plain make not cmake as a result we do not
7have the cmake support files and this probing method can get this info
8from build host and force linking with libzstd from /usr/lib which is
9not what we want when cross building.
10
11Fixes errors building llvm-config like
12/usr/lib/libzstd.so.1.5.2: error adding symbols: file in wrong
13format
14| clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
15| ninja: build stopped: subcommand failed.
16
17Upstream-Status: Inappropriate [OE-Specific]
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 llvm/lib/Support/CMakeLists.txt | 4 ++--
21 1 file changed, 2 insertions(+), 2 deletions(-)
22
23diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt
24index 5044b2639a0f..9bdd35c4eae4 100644
25--- a/llvm/lib/Support/CMakeLists.txt
26+++ b/llvm/lib/Support/CMakeLists.txt
27@@ -26,7 +26,7 @@ if(LLVM_ENABLE_ZLIB)
28 endif()
29
30 if(LLVM_ENABLE_ZSTD)
31- list(APPEND imported_libs zstd::libzstd_shared)
32+ list(APPEND imported_libs zstd)
33 endif()
34
35 if( MSVC OR MINGW )
36@@ -305,7 +305,7 @@ if(LLVM_ENABLE_ZSTD)
37 if(NOT zstd_library)
38 get_property(zstd_library TARGET zstd::libzstd_shared PROPERTY LOCATION)
39 endif()
40- set(llvm_system_libs ${llvm_system_libs} "${zstd_library}")
41+ set(llvm_system_libs ${llvm_system_libs} "zstd")
42 endif()
43
44 if(LLVM_ENABLE_TERMINFO)
diff --git a/recipes-devtools/clang/clang/0036-compiler-rt-builtins-Move-DMB-definition-to-syn-opsh.patch b/recipes-devtools/clang/clang/0036-compiler-rt-builtins-Move-DMB-definition-to-syn-opsh.patch
deleted file mode 100644
index 3616645..0000000
--- a/recipes-devtools/clang/clang/0036-compiler-rt-builtins-Move-DMB-definition-to-syn-opsh.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1From 1c9415806ba6d0d48a160637eea7d1b70efaae69 Mon Sep 17 00:00:00 2001
2From: Pengxuan Zheng <pzheng@quicinc.com>
3Date: Mon, 4 Apr 2022 18:17:03 -0700
4Subject: [PATCH] [compiler-rt][builtins] Move DMB definition to syn-ops.h
5
6Upstream-Status: Backported
7
8Compiler-rt cross-compile for ARMv5 fails because D99282 made it an error if DMB
9is used for any pre-ARMv6 targets. More specifically, the "#error only supported
10on ARMv6+" added in D99282 will cause compilation to fail when any source file
11which includes assembly.h are compiled for pre-ARMv6 targets. Since the only
12place where DMB is used is syn-ops.h (which is only included by
13arm/sync_fetch_and_* and these files are excluded from being built for older
14targets), this patch moves the definition there to avoid the issues described
15above.
16
17Reviewed By: efriedma
18
19Differential Revision: https://reviews.llvm.org/D123105
20---
21 compiler-rt/lib/builtins/arm/sync-ops.h | 8 ++++++++
22 compiler-rt/lib/builtins/assembly.h | 8 --------
23 2 files changed, 8 insertions(+), 8 deletions(-)
24
25diff --git a/compiler-rt/lib/builtins/arm/sync-ops.h b/compiler-rt/lib/builtins/arm/sync-ops.h
26index d914f9d3a109..dca201d8aef7 100644
27--- a/compiler-rt/lib/builtins/arm/sync-ops.h
28+++ b/compiler-rt/lib/builtins/arm/sync-ops.h
29@@ -14,6 +14,14 @@
30
31 #include "../assembly.h"
32
33+#if __ARM_ARCH >= 7
34+#define DMB dmb
35+#elif __ARM_ARCH >= 6
36+#define DMB mcr p15, #0, r0, c7, c10, #5
37+#else
38+#error DMB is only supported on ARMv6+
39+#endif
40+
41 #define SYNC_OP_4(op) \
42 .p2align 2; \
43 .syntax unified; \
44diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h
45index 06aa18162e3b..69a3d8620f92 100644
46--- a/compiler-rt/lib/builtins/assembly.h
47+++ b/compiler-rt/lib/builtins/assembly.h
48@@ -189,14 +189,6 @@
49 JMP(ip)
50 #endif
51
52-#if __ARM_ARCH >= 7
53-#define DMB dmb
54-#elif __ARM_ARCH >= 6
55-#define DMB mcr p15, #0, r0, c7, c10, #5
56-#else
57-#error Only use this with ARMv6+
58-#endif
59-
60 #if defined(USE_THUMB_2)
61 #define WIDE(op) op.w
62 #else
63--
642.25.1
65
diff --git a/recipes-devtools/clang/clang/0037-sanitizer-Remove-include-linux-fs.h-to-resolve-fscon.patch b/recipes-devtools/clang/clang/0037-sanitizer-Remove-include-linux-fs.h-to-resolve-fscon.patch
deleted file mode 100644
index fee7a95..0000000
--- a/recipes-devtools/clang/clang/0037-sanitizer-Remove-include-linux-fs.h-to-resolve-fscon.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1From 2095a89e5724866ae20d7f123b1c12b2758b58bd Mon Sep 17 00:00:00 2001
2From: Fangrui Song <i@maskray.me>
3Date: Mon, 11 Jul 2022 12:53:34 -0700
4Subject: [PATCH] [sanitizer] Remove #include <linux/fs.h> to resolve
5 fsconfig_command/mount_attr conflict with glibc 2.36
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10It is generally not a good idea to mix usage of glibc headers and Linux UAPI
11headers (https://sourceware.org/glibc/wiki/Synchronizing_Headers). In glibc
12since 7eae6a91e9b1670330c9f15730082c91c0b1d570 (milestone: 2.36), sys/mount.h
13defines `fsconfig_command` which conflicts with linux/mount.h:
14
15 .../usr/include/linux/mount.h:95:6: error: redeclaration of ‘enum fsconfig_command’
16
17Remove #include <linux/fs.h> which pulls in linux/mount.h. Expand its 4 macros manually.
18Android sys/mount.h doesn't define BLKBSZGET and it still needs linux/fs.h.
19In the long term we should move Linux specific definitions to sanitizer_platform_limits_linux.cpp
20but this commit is easy to cherry pick into older compiler-rt releases.
21
22Fix https://github.com/llvm/llvm-project/issues/56421
23
24Reviewed By: #sanitizers, vitalybuka, zatrazz
25
26Differential Revision: https://reviews.llvm.org/D129471
27
28Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/9cf13067cb5088626ba7ee1ec4c42ec59c7995a0]
29Signed-off-by: Khem Raj <raj.khem@gmail.com>
30---
31 .../sanitizer_platform_limits_posix.cpp | 10 ++++++----
32 1 file changed, 6 insertions(+), 4 deletions(-)
33
34diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
35index 32b8f47ed633..a29b31a432f0 100644
36--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
37+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
38@@ -73,7 +73,9 @@
39 #include <sys/vt.h>
40 #include <linux/cdrom.h>
41 #include <linux/fd.h>
42+#if SANITIZER_ANDROID
43 #include <linux/fs.h>
44+#endif
45 #include <linux/hdreg.h>
46 #include <linux/input.h>
47 #include <linux/ioctl.h>
48@@ -857,10 +859,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
49 unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
50 unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
51 #endif
52- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
53- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
54- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
55- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
56+ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
57+ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
58+ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
59+ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
60 unsigned IOCTL_GIO_CMAP = GIO_CMAP;
61 unsigned IOCTL_GIO_FONT = GIO_FONT;
62 unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index 1ff8f81..77bf8f6 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -129,6 +129,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
129 -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ 129 -DCLANG_DEFAULT_PIE_ON_LINUX=ON \
130 -DLLVM_BINDINGS_LIST='' \ 130 -DLLVM_BINDINGS_LIST='' \
131 -DLLVM_ENABLE_FFI=ON \ 131 -DLLVM_ENABLE_FFI=ON \
132 -DLLVM_ENABLE_ZSTD=ON \
132 -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \ 133 -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
133 -DLLVM_OPTIMIZED_TABLEGEN=ON \ 134 -DLLVM_OPTIMIZED_TABLEGEN=ON \
134 -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \ 135 -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc
index 77d7142..cb705ef 100644
--- a/recipes-devtools/clang/common.inc
+++ b/recipes-devtools/clang/common.inc
@@ -31,22 +31,19 @@ SRC_URI = "\
31 file://0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \ 31 file://0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \
32 file://0020-llvm-Do-not-use-find_library-for-ncurses.patch \ 32 file://0020-llvm-Do-not-use-find_library-for-ncurses.patch \
33 file://0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \ 33 file://0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \
34 file://0022-compiler-rt-Use-mcr-based-barrier-on-armv6.patch \ 34 file://0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \
35 file://0023-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \ 35 file://0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \
36 file://0024-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \ 36 file://0024-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch \
37 file://0025-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch \ 37 file://0025-libunwind-Added-unw_backtrace-method.patch \
38 file://0026-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch \ 38 file://0026-Drop-the-git-suffix-from-various-version-variables.patch \
39 file://0027-libunwind-Added-unw_backtrace-method.patch \ 39 file://0027-clang-Do-not-use-install-relative-libc-headers.patch \
40 file://0028-Do-not-force-thumb-mode-directive.patch \ 40 file://0028-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch \
41 file://0029-clang-Do-not-use-install-relative-libc-headers.patch \ 41 file://0029-Fix-lib-paths-for-OpenEmbedded-Host.patch \
42 file://0030-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch \ 42 file://0030-Correct-library-search-path-for-OpenEmbedded-Host.patch \
43 file://0031-Fix-lib-paths-for-OpenEmbedded-Host.patch \ 43 file://0031-lldb-Link-with-libatomic-on-x86.patch \
44 file://0032-Correct-library-search-path-for-OpenEmbedded-Host.patch \ 44 file://0032-clang-exclude-openembedded-distributions-from-settin.patch \
45 file://0033-lldb-Link-with-libatomic-on-x86.patch \ 45 file://0033-compiler-rt-Enable-__int128-for-ppc32.patch \
46 file://0034-clang-exclude-openembedded-distributions-from-settin.patch \ 46 file://0034-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch \
47 file://0035-compiler-rt-Enable-__int128-for-ppc32.patch \
48 file://0036-compiler-rt-builtins-Move-DMB-definition-to-syn-opsh.patch \
49 file://0037-sanitizer-Remove-include-linux-fs.h-to-resolve-fscon.patch \
50 " 47 "
51# Fallback to no-PIE if not set 48# Fallback to no-PIE if not set
52GCCPIE ??= "" 49GCCPIE ??= ""