summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2022-02-04 09:08:36 -0800
committerKhem Raj <raj.khem@gmail.com>2022-02-16 08:24:58 -0800
commit6b79646f85f3293e0fbedf07592a94860d659053 (patch)
tree974c06cc6fb34b680ae9217d77c1c49645fc9393
parent03648d617e04ec46c227a52e35f5eff766f79814 (diff)
downloadmeta-clang-6b79646f85f3293e0fbedf07592a94860d659053.tar.gz
clang: Upgrade to upcoming clang14 release branch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--conf/layer.conf2
-rw-r--r--recipes-devtools/clang/clang.inc8
-rw-r--r--recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch (renamed from recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch)8
-rw-r--r--recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch37
-rw-r--r--recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch (renamed from recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch)2
-rw-r--r--recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch (renamed from recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch)6
-rw-r--r--recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch (renamed from recipes-devtools/clang/clang/0005-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch)8
-rw-r--r--recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-path.patch (renamed from recipes-devtools/clang/clang/0006-llvm-allow-env-override-of-exe-path.patch)4
-rw-r--r--recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch (renamed from recipes-devtools/clang/clang/0007-clang-driver-Check-sysroot-for-ldso-path.patch)10
-rw-r--r--recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch (renamed from recipes-devtools/clang/clang/0008-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch)6
-rw-r--r--recipes-devtools/clang/clang/0008-clang-musl-ppc-does-not-support-128-bit-long-double.patch (renamed from recipes-devtools/clang/clang/0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch)6
-rw-r--r--recipes-devtools/clang/clang/0009-clang-Prepend-trailing-to-sysroot.patch (renamed from recipes-devtools/clang/clang/0010-clang-Prepend-trailing-to-sysroot.patch)4
-rw-r--r--recipes-devtools/clang/clang/0010-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch (renamed from recipes-devtools/clang/clang/0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch)8
-rw-r--r--recipes-devtools/clang/clang/0011-clang-Define-releative-gcc-installation-dir.patch (renamed from recipes-devtools/clang/clang/0012-clang-Define-releative-gcc-installation-dir.patch)6
-rw-r--r--recipes-devtools/clang/clang/0012-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch (renamed from recipes-devtools/clang/clang/0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch)6
-rw-r--r--recipes-devtools/clang/clang/0013-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch (renamed from recipes-devtools/clang/clang/0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch)8
-rw-r--r--recipes-devtools/clang/clang/0014-Check-for-atomic-double-intrinsics.patch (renamed from recipes-devtools/clang/clang/0015-Check-for-atomic-double-intrinsics.patch)4
-rw-r--r--recipes-devtools/clang/clang/0015-libcxx-Add-compiler-runtime-library-to-link-step-for.patch (renamed from recipes-devtools/clang/clang/0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch)12
-rw-r--r--recipes-devtools/clang/clang/0016-clang-Enable-SSP-and-PIE-by-default.patch312
-rw-r--r--recipes-devtools/clang/clang/0016-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch (renamed from recipes-devtools/clang/clang/0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch)26
-rw-r--r--recipes-devtools/clang/clang/0017-clang-Fix-resource-dir-location-for-cross-toolchains.patch (renamed from recipes-devtools/clang/clang/0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch)6
-rw-r--r--recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch (renamed from recipes-devtools/clang/clang/0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch)12
-rw-r--r--recipes-devtools/clang/clang/0019-clang-Use-python3-in-python-scripts.patch (renamed from recipes-devtools/clang/clang/0022-clang-Use-python3-in-python-scripts.patch)23
-rw-r--r--recipes-devtools/clang/clang/0020-For-x86_64-set-Yocto-based-GCC-install-search-path.patch (renamed from recipes-devtools/clang/clang/0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch)8
-rw-r--r--recipes-devtools/clang/clang/0020-fix-path-to-libffi.patch26
-rw-r--r--recipes-devtools/clang/clang/0021-llvm-Do-not-use-find_library-for-ncurses.patch (renamed from recipes-devtools/clang/clang/0024-llvm-Do-not-use-find_library-for-ncurses.patch)38
-rw-r--r--recipes-devtools/clang/clang/0022-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch (renamed from recipes-devtools/clang/clang/0025-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch)6
-rw-r--r--recipes-devtools/clang/clang/0023-compiler-rt-Use-mcr-based-barrier-on-armv6.patch (renamed from recipes-devtools/clang/clang/0026-compiler-rt-Use-mcr-based-barrier-on-armv6.patch)6
-rw-r--r--recipes-devtools/clang/clang/0024-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch (renamed from recipes-devtools/clang/clang/0028-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch)2
-rw-r--r--recipes-devtools/clang/clang/0025-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch (renamed from recipes-devtools/clang/clang/0029-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch)6
-rw-r--r--recipes-devtools/clang/clang/0026-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch (renamed from recipes-devtools/clang/clang/0030-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch)6
-rw-r--r--recipes-devtools/clang/clang/0027-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch28
-rw-r--r--recipes-devtools/clang/clang/0027-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch (renamed from recipes-devtools/clang/clang/0031-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch)4
-rw-r--r--recipes-devtools/clang/clang/0028-libunwind-Added-unw_backtrace-method.patch (renamed from recipes-devtools/clang/clang/0032-libunwind-Added-unw_backtrace-method.patch)8
-rw-r--r--recipes-devtools/clang/clang/0029-Do-not-force-thumb-mode-directive.patch (renamed from recipes-devtools/clang/clang/0034-compiler-rt-Do-not-force-thumb-mode-directive.patch)4
-rw-r--r--recipes-devtools/clang/clang/0030-clang-Do-not-use-install-relative-libc-headers.patch (renamed from recipes-devtools/clang/clang/0035-clang-Do-not-use-install-relative-libc-headers.patch)6
-rw-r--r--recipes-devtools/clang/clang/0031-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch (renamed from recipes-devtools/clang/clang/0036-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch)8
-rw-r--r--recipes-devtools/clang/clang/0032-Fix-lib-paths-for-OpenEmbedded-Host.patch (renamed from recipes-devtools/clang/clang/0037-Fix-lib-paths-for-OpenEmbedded-Host.patch)12
-rw-r--r--recipes-devtools/clang/clang/0033-Correct-library-search-path-for-OpenEmbedded-Host.patch (renamed from recipes-devtools/clang/clang/0038-Correct-library-search-path-for-OpenEmbedded-Host.patch)16
-rw-r--r--recipes-devtools/clang/clang/0033-compiler-rt-Use-uintptr_t-instead-of-_Unwind_Word.patch35
-rw-r--r--recipes-devtools/clang/clang/0034-lldb-Link-with-libatomic-on-x86.patch33
-rw-r--r--recipes-devtools/clang/clang/0035-clang-exclude-openembedded-distributions-from-settin.patch35
-rw-r--r--recipes-devtools/clang/clang/0039-run-clang-tidy-on-unique-files-only.patch31
-rw-r--r--recipes-devtools/clang/clang_git.bb20
-rw-r--r--recipes-devtools/clang/common.inc73
-rw-r--r--recipes-devtools/clang/openmp_git.bb4
46 files changed, 266 insertions, 673 deletions
diff --git a/conf/layer.conf b/conf/layer.conf
index 6a80ffc..9e1fb1f 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -31,7 +31,7 @@ INHERIT += "clang"
31# Do not include clang in SDK unless user wants to 31# Do not include clang in SDK unless user wants to
32CLANGSDK ??= "0" 32CLANGSDK ??= "0"
33 33
34LLVMVERSION = "13.0.1" 34LLVMVERSION = "14.0.0"
35 35
36require conf/nonclangable.conf 36require conf/nonclangable.conf
37require conf/nonscanable.conf 37require conf/nonscanable.conf
diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc
index 8b1cc80..7e90e2d 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 = "13" 7MAJOR_VER = "14"
8MINOR_VER = "0" 8MINOR_VER = "0"
9PATCH_VER = "1" 9PATCH_VER = "0"
10 10
11SRCREV ?= "75e33f71c2dae584b13a7d1186ae0a038ba98838" 11SRCREV ?= "b2ca48a8412270e323ac8441772d0d69190a8417"
12 12
13PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}" 13PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}"
14BRANCH = "release/13.x" 14BRANCH = "release/14.x"
15 15
16LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" 16LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe"
17CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" 17CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343"
diff --git a/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch b/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
index 0829f18..1bf7480 100644
--- a/recipes-devtools/clang/clang/0002-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 581275e8e40784c6a3f30e69bb5cc7513fe3b475 Mon Sep 17 00:00:00 2001 1From 5b502aa8a8a8e33082912e46e48ba43d7eb0f196 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
@@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
17 1 file changed, 11 insertions(+), 10 deletions(-) 17 1 file changed, 11 insertions(+), 10 deletions(-)
18 18
19diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt 19diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
20index f3060a5d1f93..bca2178f3203 100644 20index 58c21059c602..7709aedf0bde 100644
21--- a/libcxxabi/CMakeLists.txt 21--- a/libcxxabi/CMakeLists.txt
22+++ b/libcxxabi/CMakeLists.txt 22+++ b/libcxxabi/CMakeLists.txt
23@@ -511,14 +511,9 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}") 23@@ -525,14 +525,9 @@ endif()
24 # Setup Source Code 24 # Setup Source Code
25 #=============================================================================== 25 #===============================================================================
26 26
@@ -36,7 +36,7 @@ index f3060a5d1f93..bca2178f3203 100644
36 PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES} 36 PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES}
37 ${LIBCXXABI_LIBUNWIND_PATH}/include 37 ${LIBCXXABI_LIBUNWIND_PATH}/include
38 ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES} 38 ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES}
39@@ -529,15 +524,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) 39@@ -543,15 +538,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM)
40 NO_CMAKE_FIND_ROOT_PATH 40 NO_CMAKE_FIND_ROOT_PATH
41 ) 41 )
42 42
diff --git a/recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch b/recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch
deleted file mode 100644
index 999bc5e..0000000
--- a/recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 1b71b8fb344a065903ac2fc5b7680e99742be721 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 22 May 2017 17:36:16 -0700
4Subject: [PATCH] lldb: Add -lxml2 to linker cmdline of xml is found
5
6When cross compiling for systems where static libs
7for libxml are not available cmake's detection mechanism
8resort to linking with libxml.so but doesnt use -lxml2
9liblldbHost.a however requires libxml on linker
10cmdline _after_ itself so its use of symbols from libxml2
11can be resolved. Here check for libxml2 being detected and
12add it if its found.
13
14Fixes
15
16| ../../../../lib/liblldbHost.a(XML.cpp.o): In function `lldb_private::XMLDocument::Clear()':
17| /usr/src/debug/lldb/5.0.0+gitAUTOINC+69edad7913_08d6b47db9_cf6c5b3386-r0/git/tools/lldb/source/Host/common/XML.cpp:29: undefined reference to `xmlFreeDoc'
18| /usr/src/debug/lldb/5.0.0+gitAUTOINC+69edad7913_08d6b47db9_cf6c5b3386-r0/git/tools/lldb/source/Host/common/XML.cpp:29: undefined reference to `xmlFreeDoc'
19
20Signed-off-by: Khem Raj <raj.khem@gmail.com>
21---
22 lldb/source/Host/CMakeLists.txt | 2 +-
23 1 file changed, 1 insertion(+), 1 deletion(-)
24
25diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt
26index a018fd6c183d..936bdd461350 100644
27--- a/lldb/source/Host/CMakeLists.txt
28+++ b/lldb/source/Host/CMakeLists.txt
29@@ -137,7 +137,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
30 list(APPEND EXTRA_LIBS kvm)
31 endif()
32 if (LLDB_ENABLE_LIBXML2)
33- list(APPEND EXTRA_LIBS ${LIBXML2_LIBRARIES})
34+ list(APPEND EXTRA_LIBS xml2)
35 endif()
36 if (HAVE_LIBDL)
37 list(APPEND EXTRA_LIBS ${CMAKE_DL_LIBS})
diff --git a/recipes-devtools/clang/clang/0003-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 10124a6..89ac3d1 100644
--- a/recipes-devtools/clang/clang/0003-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 f02e1904c58e43119ba49c9c8f5831b47e5d6ebe Mon Sep 17 00:00:00 2001 1From a21dbb76c8ef5812b2e05cf93682da02650b6166 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/0004-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 5717dce..b573ad8 100644
--- a/recipes-devtools/clang/clang/0004-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 02d7443ec851ccdd64953ec49b12018c1f66a292 Mon Sep 17 00:00:00 2001 1From 1a7e174cddac6738c5bc28fd642be8cc687138bf 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 e12d1eb1cebf..522a3a6a421c 100644 23index 3a41aa43e406..3bbfbca1f645 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@@ -78,7 +78,16 @@ set(COMPILER_RT_BAREMETAL_BUILD OFF CACHE BOOL 26@@ -67,7 +67,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/0005-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
index 6d58e94..897b4c3 100644
--- a/recipes-devtools/clang/clang/0005-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 57cc5e82da381cc6a69376dcf9398caa82a59648 Mon Sep 17 00:00:00 2001 1From cac469f7a8ea6fe4bfb4e6151a5dd058dfa62947 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
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 1 file changed, 21 insertions(+) 13 1 file changed, 21 insertions(+)
14 14
15diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def 15diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
16index ded53617b304..da612e9b4352 100644 16index 9c1abef33b28..29d2a79ddecc 100644
17--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def 17--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def
18+++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def 18+++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
19@@ -815,6 +815,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl") 19@@ -815,6 +815,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
@@ -66,7 +66,7 @@ index ded53617b304..da612e9b4352 100644
66 TLI_DEFINE_ENUM_INTERNAL(lstat64) 66 TLI_DEFINE_ENUM_INTERNAL(lstat64)
67 TLI_DEFINE_STRING_INTERNAL("lstat64") 67 TLI_DEFINE_STRING_INTERNAL("lstat64")
68 /// void *malloc(size_t size); 68 /// void *malloc(size_t size);
69@@ -1256,6 +1271,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf") 69@@ -1262,6 +1277,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
70 TLI_DEFINE_ENUM_INTERNAL(stat) 70 TLI_DEFINE_ENUM_INTERNAL(stat)
71 TLI_DEFINE_STRING_INTERNAL("stat") 71 TLI_DEFINE_STRING_INTERNAL("stat")
72 /// int stat64(const char *path, struct stat64 *buf); 72 /// int stat64(const char *path, struct stat64 *buf);
@@ -76,7 +76,7 @@ index ded53617b304..da612e9b4352 100644
76 TLI_DEFINE_ENUM_INTERNAL(stat64) 76 TLI_DEFINE_ENUM_INTERNAL(stat64)
77 TLI_DEFINE_STRING_INTERNAL("stat64") 77 TLI_DEFINE_STRING_INTERNAL("stat64")
78 /// int statvfs(const char *path, struct statvfs *buf); 78 /// int statvfs(const char *path, struct statvfs *buf);
79@@ -1391,6 +1409,9 @@ TLI_DEFINE_STRING_INTERNAL("times") 79@@ -1397,6 +1415,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
80 TLI_DEFINE_ENUM_INTERNAL(tmpfile) 80 TLI_DEFINE_ENUM_INTERNAL(tmpfile)
81 TLI_DEFINE_STRING_INTERNAL("tmpfile") 81 TLI_DEFINE_STRING_INTERNAL("tmpfile")
82 /// FILE *tmpfile64(void) 82 /// FILE *tmpfile64(void)
diff --git a/recipes-devtools/clang/clang/0006-llvm-allow-env-override-of-exe-path.patch b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-path.patch
index 9923b54..beb0091 100644
--- a/recipes-devtools/clang/clang/0006-llvm-allow-env-override-of-exe-path.patch
+++ b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-path.patch
@@ -1,4 +1,4 @@
1From 5d8ea7590df4cb9d1973a137ddf260e1df137010 Mon Sep 17 00:00:00 2001 1From 8402337515bc0c75af621551dca9eb1cfc4ae611 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 path 4Subject: [PATCH] llvm: allow env override of exe path
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 1 file changed, 7 insertions(+) 15 1 file changed, 7 insertions(+)
16 16
17diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp 17diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp
18index 1a2f04552d13..019d8f2b5c5e 100644 18index 8ed88f33ead4..0b9ee0ee0008 100644
19--- a/llvm/tools/llvm-config/llvm-config.cpp 19--- a/llvm/tools/llvm-config/llvm-config.cpp
20+++ b/llvm/tools/llvm-config/llvm-config.cpp 20+++ b/llvm/tools/llvm-config/llvm-config.cpp
21@@ -247,6 +247,13 @@ Typical components:\n\ 21@@ -247,6 +247,13 @@ Typical components:\n\
diff --git a/recipes-devtools/clang/clang/0007-clang-driver-Check-sysroot-for-ldso-path.patch b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch
index 61d4761..b32f18e 100644
--- a/recipes-devtools/clang/clang/0007-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 964f0d68fe16e003c42c75ebfc17fbd01676f652 Mon Sep 17 00:00:00 2001 1From 5c8b6edfe03a72a75e698db7cbc7c409f08e3c45 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 c9360fc67165..4b1d6bff7231 100644 17index f85c04df4f6c..97e987c37e4a 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@@ -476,11 +476,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 20@@ -493,11 +493,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 c9360fc67165..4b1d6bff7231 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@@ -502,6 +510,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 40@@ -519,6 +527,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 c9360fc67165..4b1d6bff7231 100644
48 break; 48 break;
49 case llvm::Triple::systemz: 49 case llvm::Triple::systemz:
50 LibDir = "lib"; 50 LibDir = "lib";
51@@ -516,6 +528,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 51@@ -533,6 +545,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/0008-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 2c29869..fccc41d 100644
--- a/recipes-devtools/clang/clang/0008-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 7cf3b10fa0664d856d65ac0ad991e1875ac28be5 Mon Sep 17 00:00:00 2001 1From 00484dc7cdf327f97fe09389fe5fe2ebd9e8fba4 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 da39f29e4619..9103b153d461 100644 16index 7a9570a686f4..633daa58590d 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@@ -630,6 +630,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, 19@@ -622,6 +622,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/0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch b/recipes-devtools/clang/clang/0008-clang-musl-ppc-does-not-support-128-bit-long-double.patch
index 81d18dd..a8f6335 100644
--- a/recipes-devtools/clang/clang/0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch
+++ b/recipes-devtools/clang/clang/0008-clang-musl-ppc-does-not-support-128-bit-long-double.patch
@@ -1,4 +1,4 @@
1From db02270329248b6af2e174f12532245eb7f6aaa0 Mon Sep 17 00:00:00 2001 1From bcf28119ce4c70e6d9c140d3393d556af897ddce Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 10 May 2016 02:00:11 -0700 3Date: Tue, 10 May 2016 02:00:11 -0700
4Subject: [PATCH] clang: musl/ppc does not support 128-bit long double 4Subject: [PATCH] clang: musl/ppc does not support 128-bit long double
@@ -9,10 +9,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
9 1 file changed, 4 insertions(+) 9 1 file changed, 4 insertions(+)
10 10
11diff --git a/clang/lib/Basic/Targets/PPC.h b/clang/lib/Basic/Targets/PPC.h 11diff --git a/clang/lib/Basic/Targets/PPC.h b/clang/lib/Basic/Targets/PPC.h
12index 7c14a4eb9410..b182ef53348f 100644 12index ac52eb219f54..ff2eb80b7d64 100644
13--- a/clang/lib/Basic/Targets/PPC.h 13--- a/clang/lib/Basic/Targets/PPC.h
14+++ b/clang/lib/Basic/Targets/PPC.h 14+++ b/clang/lib/Basic/Targets/PPC.h
15@@ -392,6 +392,10 @@ public: 15@@ -395,6 +395,10 @@ public:
16 LongDoubleFormat = &llvm::APFloat::IEEEdouble(); 16 LongDoubleFormat = &llvm::APFloat::IEEEdouble();
17 } 17 }
18 18
diff --git a/recipes-devtools/clang/clang/0010-clang-Prepend-trailing-to-sysroot.patch b/recipes-devtools/clang/clang/0009-clang-Prepend-trailing-to-sysroot.patch
index 964ecdb..5f41f6a 100644
--- a/recipes-devtools/clang/clang/0010-clang-Prepend-trailing-to-sysroot.patch
+++ b/recipes-devtools/clang/clang/0009-clang-Prepend-trailing-to-sysroot.patch
@@ -1,4 +1,4 @@
1From 9a6c282dd14e88b477593a185822635fee21330e Mon Sep 17 00:00:00 2001 1From 6ee100ac3386d411e03855c5cdb9df7545a127de 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,7 +24,7 @@ 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 4b1d6bff7231..9daf35aefc4e 100644 27index 97e987c37e4a..f9e233f15dfc 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@@ -181,7 +181,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
diff --git a/recipes-devtools/clang/clang/0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/recipes-devtools/clang/clang/0010-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
index fefa00c..c735b40 100644
--- a/recipes-devtools/clang/clang/0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
+++ b/recipes-devtools/clang/clang/0010-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
@@ -1,4 +1,4 @@
1From c85d06487d397894aa0fd14ff210789b453d78fc Mon Sep 17 00:00:00 2001 1From 17bf3579a12359af825ca2815e273470a483ebb7 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,18 +15,18 @@ 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 6c1b88141c45..ee6a257a6cb4 100644 18index d657d21bfcdb..e83a556b708c 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 @@
22 #include "ToolChains/Flang.h" 22 #include "ToolChains/InterfaceStubs.h"
23 #include "clang/Basic/ObjCRuntime.h" 23 #include "clang/Basic/ObjCRuntime.h"
24 #include "clang/Basic/Sanitizers.h" 24 #include "clang/Basic/Sanitizers.h"
25+#include "clang/Basic/Version.h" 25+#include "clang/Basic/Version.h"
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@@ -410,7 +411,10 @@ StringRef ToolChain::getOSLibName() const { 29@@ -419,7 +420,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/0012-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0011-clang-Define-releative-gcc-installation-dir.patch
index d1a572e..bbe4eb7 100644
--- a/recipes-devtools/clang/clang/0012-clang-Define-releative-gcc-installation-dir.patch
+++ b/recipes-devtools/clang/clang/0011-clang-Define-releative-gcc-installation-dir.patch
@@ -1,4 +1,4 @@
1From 71e923b1d1b611ce3a4ae2a08408059a0162b99f Mon Sep 17 00:00:00 2001 1From 8f44109cb3b837966d401233daf2887a0a0d579b 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 9103b153d461..4f12262bbf47 100644 17index 633daa58590d..d22eaf698eb8 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@@ -2529,19 +2529,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 20@@ -2517,19 +2517,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/0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch b/recipes-devtools/clang/clang/0012-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
index baa612c..4d91a7a 100644
--- a/recipes-devtools/clang/clang/0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
+++ b/recipes-devtools/clang/clang/0012-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
@@ -1,4 +1,4 @@
1From f033f7183eb509f3b99d8f197eb5d5159f961c0b Mon Sep 17 00:00:00 2001 1From 7d99f8a3c0ddd74d188d54f82f957843456bcdde 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,10 +20,10 @@ 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 0ffe95795381..358eb98cf528 100644 23index 6364cd133e0b..60ba461ea0f5 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@@ -1450,6 +1450,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, 26@@ -1472,6 +1472,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");
diff --git a/recipes-devtools/clang/clang/0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/recipes-devtools/clang/clang/0013-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
index e6998fb..4bbe6b5 100644
--- a/recipes-devtools/clang/clang/0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
+++ b/recipes-devtools/clang/clang/0013-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
@@ -1,4 +1,4 @@
1From 6e6960945953dead105f229da0cd34d860ebfe6c Mon Sep 17 00:00:00 2001 1From b6b764295a5d003264dd5b843ff1f513a3c40991 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,11 +10,11 @@ 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 01cd37124841..f50be9d967df 100644 13index 2a39b6a40a28..8a441729c943 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@@ -79,6 +79,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)
17 -DLLVM_EXTERNAL_PROJECTS="${llvm_external_projects_arg}" 17 -DLLVM_ENABLE_RUNTIMES="${llvm_enable_runtimes_arg}"
18 ${external_project_source_dirs} 18 ${external_project_source_dirs}
19 -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}" 19 -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}"
20+ -DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}" 20+ -DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}"
diff --git a/recipes-devtools/clang/clang/0015-Check-for-atomic-double-intrinsics.patch b/recipes-devtools/clang/clang/0014-Check-for-atomic-double-intrinsics.patch
index 04e8abc..4e5ad63 100644
--- a/recipes-devtools/clang/clang/0015-Check-for-atomic-double-intrinsics.patch
+++ b/recipes-devtools/clang/clang/0014-Check-for-atomic-double-intrinsics.patch
@@ -1,4 +1,4 @@
1From 806b95e07916c0647957e7ed1ee1d4d6bcf55bc9 Mon Sep 17 00:00:00 2001 1From 1b1bcc66f885233a3378ba9819c9a20323490cea 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
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 1 file changed, 2 insertions(+), 1 deletion(-) 15 1 file changed, 2 insertions(+), 1 deletion(-)
16 16
17diff --git a/llvm/cmake/modules/CheckAtomic.cmake b/llvm/cmake/modules/CheckAtomic.cmake 17diff --git a/llvm/cmake/modules/CheckAtomic.cmake b/llvm/cmake/modules/CheckAtomic.cmake
18index 04eed1448482..e890cfecd139 100644 18index 3c5ba72993a3..34a1b950bbed 100644
19--- a/llvm/cmake/modules/CheckAtomic.cmake 19--- a/llvm/cmake/modules/CheckAtomic.cmake
20+++ b/llvm/cmake/modules/CheckAtomic.cmake 20+++ b/llvm/cmake/modules/CheckAtomic.cmake
21@@ -30,10 +30,11 @@ function(check_working_cxx_atomics64 varname) 21@@ -30,10 +30,11 @@ function(check_working_cxx_atomics64 varname)
diff --git a/recipes-devtools/clang/clang/0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch b/recipes-devtools/clang/clang/0015-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
index e089ebb..cc22366 100644
--- a/recipes-devtools/clang/clang/0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
+++ b/recipes-devtools/clang/clang/0015-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
@@ -1,4 +1,4 @@
1From ddbda1f2de59192ff883ba49c68dfac8e2fb98b3 Mon Sep 17 00:00:00 2001 1From cc0a281fbf68db9fadc74cee24d63b12a0b4d1eb 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,21 +14,21 @@ 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 496429f3841e..99ca892533b1 100644 17index 12dcdf954405..54e446e2aecd 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@@ -194,7 +194,7 @@ split_list(LIBCXX_LINK_FLAGS) 20@@ -212,7 +212,7 @@ if (LIBCXX_ENABLE_SHARED)
21 if (LIBCXX_ENABLE_SHARED)
22 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})
23 target_link_libraries(cxx_shared PUBLIC cxx-headers 23 target_link_libraries(cxx_shared PUBLIC cxx-headers
24- PRIVATE ${LIBCXX_LIBRARIES}) 24- PRIVATE ${LIBCXX_LIBRARIES})
25+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)") 25+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)")
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@@ -272,7 +272,7 @@ set(CMAKE_STATIC_LIBRARY_PREFIX "lib") 29@@ -290,7 +290,7 @@ if (LIBCXX_ENABLE_STATIC)
30 if (LIBCXX_ENABLE_STATIC)
31 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})
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)")
diff --git a/recipes-devtools/clang/clang/0016-clang-Enable-SSP-and-PIE-by-default.patch b/recipes-devtools/clang/clang/0016-clang-Enable-SSP-and-PIE-by-default.patch
deleted file mode 100644
index e1e7cbf..0000000
--- a/recipes-devtools/clang/clang/0016-clang-Enable-SSP-and-PIE-by-default.patch
+++ /dev/null
@@ -1,312 +0,0 @@
1From 64d8a913cfee1e8d0cf4019a18ead5edaadb6303 Mon Sep 17 00:00:00 2001
2From: Evangelos Foutras <evangelos@foutrelis.com>
3Date: Thu, 26 Dec 2019 15:46:19 -0800
4Subject: [PATCH] clang: Enable SSP and PIE by default
5
6This is a minimal set of changes needed to make clang use SSP and PIE by
7default on Arch Linux. Tests that were easy to adjust have been changed
8accordingly; only test/Driver/linux-ld.c has been marked as "expected
9failure" due to the number of changes it would require (mostly replacing
10crtbegin.o with crtbeginS.o).
11
12Doing so is needed in order to align clang with the new default GCC
13behavior in Arch which generates PIE executables by default and also
14defaults to -fstack-protector-strong. It is not meant to be a long term
15solution, but a simple temporary fix.
16
17Hopefully these changes will be obsoleted by the introduction upstream
18of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410)
19
20Taken from ArchLinux - https://git.archlinux.org/svntogit/packages.git/plain/trunk/enable-SSP-and-PIE-by-default.patch?h=packages/clang
21
22Signed-off-by: Khem Raj <raj.khem@gmail.com>
23---
24 clang/lib/Driver/ToolChains/Linux.cpp | 10 ++++++++--
25 clang/lib/Driver/ToolChains/Linux.h | 4 ++++
26 clang/test/Driver/cross-linux.c | 16 ++++++++--------
27 clang/test/Driver/env.c | 2 +-
28 clang/test/Driver/fsanitize.c | 14 +++++++-------
29 clang/test/Driver/gcc-toolchain.cpp | 2 +-
30 clang/test/Driver/hexagon-toolchain-elf.c | 2 +-
31 clang/test/Driver/linux-as.c | 4 ++--
32 clang/test/Driver/linux-ld.c | 2 ++
33 clang/test/Driver/ppc-abi.c | 4 ++--
34 clang/test/Driver/riscv32-toolchain.c | 4 ++--
35 clang/test/Driver/riscv64-toolchain.c | 4 ++--
36 clang/test/Driver/stack-protector.c | 4 ++--
37 13 files changed, 42 insertions(+), 30 deletions(-)
38
39diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
40index 9daf35aefc4e..8c6102f47192 100644
41--- a/clang/lib/Driver/ToolChains/Linux.cpp
42+++ b/clang/lib/Driver/ToolChains/Linux.cpp
43@@ -668,8 +668,14 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
44 }
45
46 bool Linux::isPIEDefault() const {
47- return (getTriple().isAndroid() && !getTriple().isAndroidVersionLT(16)) ||
48- getTriple().isMusl() || getSanitizerArgs().requiresPIE();
49+ const bool IsMips = getTriple().isMIPS();
50+ const bool IsAndroid = getTriple().isAndroid();
51+
52+ if (IsMips || IsAndroid)
53+ return (getTriple().isAndroid() && !getTriple().isAndroidVersionLT(16)) ||
54+ getTriple().isMusl() || getSanitizerArgs().requiresPIE();
55+
56+ return true;
57 }
58
59 bool Linux::IsAArch64OutlineAtomicsDefault(const ArgList &Args) const {
60diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h
61index 169a37c44072..b3544a0c7681 100644
62--- a/clang/lib/Driver/ToolChains/Linux.h
63+++ b/clang/lib/Driver/ToolChains/Linux.h
64@@ -46,6 +46,10 @@ public:
65 bool isPIEDefault() const override;
66 bool isNoExecStackDefault() const override;
67 bool IsMathErrnoDefault() const override;
68+ virtual LangOptions::StackProtectorMode
69+ GetDefaultStackProtectorLevel(bool KernelOrKext) const override {
70+ return LangOptions::SSPStrong;
71+ }
72 SanitizerMask getSupportedSanitizers() const override;
73 void addProfileRTLibs(const llvm::opt::ArgList &Args,
74 llvm::opt::ArgStringList &CmdArgs) const override;
75diff --git a/clang/test/Driver/cross-linux.c b/clang/test/Driver/cross-linux.c
76index 59f5a97d2d9d..8d0e9e724aa0 100644
77--- a/clang/test/Driver/cross-linux.c
78+++ b/clang/test/Driver/cross-linux.c
79@@ -43,8 +43,8 @@
80 // CHECK-MULTI32-I386: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld"
81 // CHECK-MULTI32-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
82 // CHECK-MULTI32-I386: "-m" "elf_i386"
83-// CHECK-MULTI32-I386: "crti.o" "[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0]]{{/|\\\\}}crtbegin.o"
84-// CHECK-MULTI32-I386: "-L[[gcc_install]]"
85+// CHECK-MULTI32-I386: "crti.o" "crtbeginS.o"
86+// CHECK-MULTI32-I386: "-L[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0]]"
87 // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib32"
88 // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib"
89 // CHECK-MULTI32-I386: "-L[[sysroot]]/lib"
90@@ -61,8 +61,8 @@
91 // CHECK-MULTI32-X86-64: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld"
92 // CHECK-MULTI32-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
93 // CHECK-MULTI32-X86-64: "-m" "elf_x86_64"
94-// CHECK-MULTI32-X86-64: "crti.o" "[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0]]/64{{/|\\\\}}crtbegin.o"
95-// CHECK-MULTI32-X86-64: "-L[[gcc_install]]/64"
96+// CHECK-MULTI32-X86-64: "crti.o" "crtbeginS.o"
97+// CHECK-MULTI32-X86-64: "-L[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0]]/64"
98 // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib64"
99 // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib"
100 // CHECK-MULTI32-X86-64: "-L[[sysroot]]/lib"
101@@ -79,8 +79,8 @@
102 // CHECK-MULTI64-I386: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld"
103 // CHECK-MULTI64-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
104 // CHECK-MULTI64-I386: "-m" "elf_i386"
105-// CHECK-MULTI64-I386: "crti.o" "[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0]]/32{{/|\\\\}}crtbegin.o"
106-// CHECK-MULTI64-I386: "-L[[gcc_install]]/32"
107+// CHECK-MULTI64-I386: "crti.o" "crtbeginS.o"
108+// CHECK-MULTI64-I386: "-L[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0]]/32"
109 // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib/../lib32"
110 // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib"
111 // CHECK-MULTI64-I386: "-L[[sysroot]]/lib"
112@@ -97,8 +97,8 @@
113 // CHECK-MULTI64-X86-64: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld"
114 // CHECK-MULTI64-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
115 // CHECK-MULTI64-X86-64: "-m" "elf_x86_64"
116-// CHECK-MULTI64-X86-64: "crti.o" "[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0]]{{/|\\\\}}crtbegin.o"
117-// CHECK-MULTI64-X86-64: "-L[[gcc_install]]"
118+// CHECK-MULTI64-X86-64: "crti.o" "crtbeginS.o"
119+// CHECK-MULTI64-X86-64: "-L[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0]]"
120 // CHECK-MULTI64-X86-64: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib/../lib64"
121 // CHECK-MULTI64-X86-64: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib"
122 // CHECK-MULTI64-X86-64: "-L[[sysroot]]/lib"
123diff --git a/clang/test/Driver/env.c b/clang/test/Driver/env.c
124index e9b86cbcf428..47f304c0420d 100644
125--- a/clang/test/Driver/env.c
126+++ b/clang/test/Driver/env.c
127@@ -22,7 +22,7 @@
128 //
129 // CHECK-LD-32-NOT: warning:
130 // CHECK-LD-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
131-// CHECK-LD-32: "{{.*}}/usr/lib/gcc/i386-unknown-linux/10.2.0{{/|\\\\}}crtbegin.o"
132+// CHECK-LD-32: "crtbeginS.o"
133 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/10.2.0"
134 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/10.2.0/../../../../i386-unknown-linux/lib"
135 // CHECK-LD-32: "-L[[SYSROOT]]/lib"
136diff --git a/clang/test/Driver/fsanitize.c b/clang/test/Driver/fsanitize.c
137index b7d61abe7ec5..461b69b0ac15 100644
138--- a/clang/test/Driver/fsanitize.c
139+++ b/clang/test/Driver/fsanitize.c
140@@ -344,15 +344,15 @@
141 // RUN: %clang -target x86_64-linux-gnu -fsanitize=vptr -fno-sanitize=vptr -fsanitize=undefined,address %s -### 2>&1
142 // OK
143
144-// RUN: %clang -target x86_64-linux-gnu -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE
145-// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE
146+// RUN: %clang -target x86_64-linux-gnu -fsanitize=thread %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
147+// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
148 // RUN: %clang -target x86_64-unknown-freebsd -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
149 // RUN: %clang -target aarch64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
150 // RUN: %clang -target arm-linux-androideabi -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIC-NO-PIE
151 // RUN: %clang -target arm-linux-androideabi24 -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
152 // RUN: %clang -target aarch64-linux-android -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
153-// RUN: %clang -target x86_64-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE
154-// RUN: %clang -target i386-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-PIE
155+// RUN: %clang -target x86_64-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
156+// RUN: %clang -target i386-linux-gnu -fsanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-PIE
157
158 // CHECK-NO-PIE-NOT: "-pie"
159 // CHECK-NO-PIE: "-mrelocation-model" "static"
160@@ -687,12 +687,12 @@
161 // RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP
162 // NOSP-NOT: "-fsanitize=safe-stack"
163
164-// RUN: %clang -target x86_64-linux-gnu -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
165+// RUN: %clang -target x86_64-linux-gnu -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
166 // RUN: %clang -target x86_64-linux-gnu -fsanitize=address,safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP-ASAN
167 // RUN: %clang -target x86_64-linux-gnu -fstack-protector -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
168 // RUN: %clang -target x86_64-linux-gnu -fsanitize=safe-stack -fstack-protector-all -### %s 2>&1 | FileCheck %s -check-prefix=SP
169-// RUN: %clang -target arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
170-// RUN: %clang -target aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
171+// RUN: %clang -target arm-linux-androideabi -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
172+// RUN: %clang -target aarch64-linux-android -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=SP
173 // RUN: %clang -target i386-contiki-unknown -fsanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NO-SP
174 // NO-SP-NOT: stack-protector
175 // NO-SP: "-fsanitize=safe-stack"
176diff --git a/clang/test/Driver/gcc-toolchain.cpp b/clang/test/Driver/gcc-toolchain.cpp
177index 7cdba0841b8c..e2b3c6b04f08 100644
178--- a/clang/test/Driver/gcc-toolchain.cpp
179+++ b/clang/test/Driver/gcc-toolchain.cpp
180@@ -23,7 +23,7 @@
181 // the same precise formatting of the path as the '-internal-system' flags
182 // above, so we just blanket wildcard match the 'crtbegin.o'.
183 // CHECK: "{{[^"]*}}ld{{(.exe)?}}"
184-// CHECK-SAME: "{{[^"]*}}/usr/lib/gcc/x86_64-linux-gnu/4.8{{/|\\\\}}crtbegin.o"
185+// CHECK-SAME: "crtbeginS.o"
186 // CHECK-SAME: "-L[[TOOLCHAIN]]/usr/lib/gcc/x86_64-linux-gnu/4.8"
187 /// On x86_64, there is an extra usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu but we should not test it.
188
189diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c
190index cc11f9fcba9e..1fe8b5db587b 100644
191--- a/clang/test/Driver/hexagon-toolchain-elf.c
192+++ b/clang/test/Driver/hexagon-toolchain-elf.c
193@@ -487,7 +487,7 @@
194 // RUN: %s 2>&1 \
195 // RUN: | FileCheck -check-prefix=CHECK042 %s
196 // CHECK042: "-cc1"
197-// CHECK042: "-mrelocation-model" "static"
198+// CHECK042: "-mrelocation-model" "pic"
199 // CHECK042: "-mllvm" "-hexagon-small-data-threshold=8"
200 // CHECK042-NEXT: llvm-mc
201 // CHECK042: "-gpsize=8"
202diff --git a/clang/test/Driver/linux-as.c b/clang/test/Driver/linux-as.c
203index 0959bd7ba0a1..4056a672b6f9 100644
204--- a/clang/test/Driver/linux-as.c
205+++ b/clang/test/Driver/linux-as.c
206@@ -164,7 +164,7 @@
207 // CHECK-PPC-NO-MCPU-NOT: as{{.*}} "-mcpu=invalid-cpu"
208 //
209 // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \
210-// RUN: -no-integrated-as -c %s 2>&1 \
211+// RUN: -no-integrated-as -fno-pic -c %s 2>&1 \
212 // RUN: | FileCheck -check-prefix=CHECK-SPARCV9 %s
213 // CHECK-SPARCV9: as
214 // CHECK-SPARCV9: -64
215@@ -173,7 +173,7 @@
216 // CHECK-SPARCV9: -o
217 //
218 // RUN: %clang -target sparc64-linux -mcpu=invalid-cpu -### \
219-// RUN: -no-integrated-as -fpic -c %s 2>&1 \
220+// RUN: -no-integrated-as -c %s 2>&1 \
221 // RUN: | FileCheck -check-prefix=CHECK-SPARCV9PIC %s
222 // CHECK-SPARCV9PIC: as
223 // CHECK-SPARCV9PIC: -64
224diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c
225index cc505588331b..c7f81d2c5e49 100644
226--- a/clang/test/Driver/linux-ld.c
227+++ b/clang/test/Driver/linux-ld.c
228@@ -1,4 +1,6 @@
229 // UNSUPPORTED: system-windows
230+// XFAIL: linux
231+
232 // General tests that ld invocations on Linux targets sane. Note that we use
233 // sysroot to make these tests independent of the host system.
234 //
235diff --git a/clang/test/Driver/ppc-abi.c b/clang/test/Driver/ppc-abi.c
236index a74a19953ca2..0ba4a14ab74f 100644
237--- a/clang/test/Driver/ppc-abi.c
238+++ b/clang/test/Driver/ppc-abi.c
239@@ -26,9 +26,9 @@
240
241 // CHECK-ELFv1: "-mrelocation-model" "static"
242 // CHECK-ELFv1: "-target-abi" "elfv1"
243-// CHECK-ELFv1-LE: "-mrelocation-model" "static"
244+// CHECK-ELFv1-LE: "-mrelocation-model" "pic" "-pic-level" "2"
245 // CHECK-ELFv1-LE: "-target-abi" "elfv1"
246-// CHECK-ELFv2: "-mrelocation-model" "static"
247+// CHECK-ELFv2: "-mrelocation-model" "pic" "-pic-level" "2"
248 // CHECK-ELFv2: "-target-abi" "elfv2"
249 // CHECK-ELFv2-BE: "-mrelocation-model" "static"
250 // CHECK-ELFv2-BE: "-target-abi" "elfv2"
251diff --git a/clang/test/Driver/riscv32-toolchain.c b/clang/test/Driver/riscv32-toolchain.c
252index a5852f5f3997..233d9ef003cf 100644
253--- a/clang/test/Driver/riscv32-toolchain.c
254+++ b/clang/test/Driver/riscv32-toolchain.c
255@@ -84,7 +84,7 @@
256 // C-RV32-LINUX-MULTI-ILP32: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot"
257 // C-RV32-LINUX-MULTI-ILP32: "-m" "elf32lriscv"
258 // C-RV32-LINUX-MULTI-ILP32: "-dynamic-linker" "/lib/ld-linux-riscv32-ilp32.so.1"
259-// C-RV32-LINUX-MULTI-ILP32: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32{{/|\\\\}}crtbegin.o"
260+// C-RV32-LINUX-MULTI-ILP32: "crtbeginS.o"
261 // C-RV32-LINUX-MULTI-ILP32: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32"
262 // C-RV32-LINUX-MULTI-ILP32: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib32/ilp32"
263 // C-RV32-LINUX-MULTI-ILP32: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib32/ilp32"
264@@ -99,7 +99,7 @@
265 // C-RV32-LINUX-MULTI-ILP32D: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot"
266 // C-RV32-LINUX-MULTI-ILP32D: "-m" "elf32lriscv"
267 // C-RV32-LINUX-MULTI-ILP32D: "-dynamic-linker" "/lib/ld-linux-riscv32-ilp32d.so.1"
268-// C-RV32-LINUX-MULTI-ILP32D: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32d{{/|\\\\}}crtbegin.o"
269+// C-RV32-LINUX-MULTI-ILP32D: "crtbeginS.o"
270 // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib32/ilp32d"
271 // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib32/ilp32d"
272 // C-RV32-LINUX-MULTI-ILP32D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib32/ilp32d"
273diff --git a/clang/test/Driver/riscv64-toolchain.c b/clang/test/Driver/riscv64-toolchain.c
274index e727f20bb601..a801e5eee462 100644
275--- a/clang/test/Driver/riscv64-toolchain.c
276+++ b/clang/test/Driver/riscv64-toolchain.c
277@@ -84,7 +84,7 @@
278 // C-RV64-LINUX-MULTI-LP64: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot"
279 // C-RV64-LINUX-MULTI-LP64: "-m" "elf64lriscv"
280 // C-RV64-LINUX-MULTI-LP64: "-dynamic-linker" "/lib/ld-linux-riscv64-lp64.so.1"
281-// C-RV64-LINUX-MULTI-LP64: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64{{/|\\\\}}crtbegin.o"
282+// C-RV64-LINUX-MULTI-LP64: "crtbeginS.o"
283 // C-RV64-LINUX-MULTI-LP64: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64"
284 // C-RV64-LINUX-MULTI-LP64: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib64/lp64"
285 // C-RV64-LINUX-MULTI-LP64: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib64/lp64"
286@@ -99,7 +99,7 @@
287 // C-RV64-LINUX-MULTI-LP64D: "--sysroot={{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot"
288 // C-RV64-LINUX-MULTI-LP64D: "-m" "elf64lriscv"
289 // C-RV64-LINUX-MULTI-LP64D: "-dynamic-linker" "/lib/ld-linux-riscv64-lp64d.so.1"
290-// C-RV64-LINUX-MULTI-LP64D: "{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64d{{/|\\\\}}crtbegin.o"
291+// C-RV64-LINUX-MULTI-LP64D: "crtbeginS.o"
292 // C-RV64-LINUX-MULTI-LP64D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/lib/gcc/riscv64-unknown-linux-gnu/7.2.0/lib64/lp64d"
293 // C-RV64-LINUX-MULTI-LP64D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/lib64/lp64d"
294 // C-RV64-LINUX-MULTI-LP64D: "-L{{.*}}/Inputs/multilib_riscv_linux_sdk/sysroot/usr/lib64/lp64d"
295diff --git a/clang/test/Driver/stack-protector.c b/clang/test/Driver/stack-protector.c
296index a3e40b50eed8..dfffe0d6cf85 100644
297--- a/clang/test/Driver/stack-protector.c
298+++ b/clang/test/Driver/stack-protector.c
299@@ -3,11 +3,11 @@
300 // NOSSP-NOT: "-stack-protector-buffer-size"
301
302 // RUN: %clang -target i386-unknown-linux -fstack-protector -### %s 2>&1 | FileCheck %s -check-prefix=SSP
303-// SSP: "-stack-protector" "1"
304+// SSP: "-stack-protector" "2"
305 // SSP-NOT: "-stack-protector-buffer-size"
306
307 // RUN: %clang -target i386-unknown-linux -fstack-protector --param ssp-buffer-size=16 -### %s 2>&1 | FileCheck %s -check-prefix=SSP-BUF
308-// SSP-BUF: "-stack-protector" "1"
309+// SSP-BUF: "-stack-protector" "2"
310 // SSP-BUF: "-stack-protector-buffer-size" "16"
311
312 // RUN: %clang -target i386-pc-openbsd -### %s 2>&1 | FileCheck %s -check-prefix=OPENBSD
diff --git a/recipes-devtools/clang/clang/0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch b/recipes-devtools/clang/clang/0016-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
index 1c342c6..ba988e0 100644
--- a/recipes-devtools/clang/clang/0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
+++ b/recipes-devtools/clang/clang/0016-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
@@ -1,4 +1,4 @@
1From 4c9bb41e62058144e041a0f850a6d2ad5df03e0d Mon Sep 17 00:00:00 2001 1From ce947e2ae1759e393b387ac115d5540ec6f471f1 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,18 +32,18 @@ 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 5752f4277444..f40ea35faf46 100644 35index 9bbbfc032b7d..7ee5170bbc71 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@@ -158,7 +158,6 @@ macro(add_clang_tool name) 38@@ -159,7 +159,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 bin 43 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
44 COMPONENT ${name}) 44 COMPONENT ${name})
45 45
46@@ -167,7 +166,6 @@ macro(add_clang_tool name) 46@@ -168,7 +167,6 @@ macro(add_clang_tool name)
47 DEPENDS ${name} 47 DEPENDS ${name}
48 COMPONENT ${name}) 48 COMPONENT ${name})
49 endif() 49 endif()
@@ -52,10 +52,10 @@ index 5752f4277444..f40ea35faf46 100644
52 endmacro() 52 endmacro()
53 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 5a9480aa6768..0f199f91e67c 100644 55index 37bc98f9e021..d34083fa52ec 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@@ -1233,7 +1233,6 @@ macro(add_llvm_tool name) 58@@ -1251,7 +1251,6 @@ macro(add_llvm_tool 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}
@@ -63,7 +63,7 @@ index 5a9480aa6768..0f199f91e67c 100644
63 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR} 63 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}
64 COMPONENT ${name}) 64 COMPONENT ${name})
65 65
66@@ -1244,9 +1243,6 @@ macro(add_llvm_tool name) 66@@ -1262,9 +1261,6 @@ macro(add_llvm_tool name)
67 endif() 67 endif()
68 endif() 68 endif()
69 endif() 69 endif()
@@ -73,7 +73,7 @@ index 5a9480aa6768..0f199f91e67c 100644
73 set_target_properties(${name} PROPERTIES FOLDER "Tools") 73 set_target_properties(${name} PROPERTIES FOLDER "Tools")
74 endmacro(add_llvm_tool name) 74 endmacro(add_llvm_tool name)
75 75
76@@ -1286,7 +1282,6 @@ macro(add_llvm_utility name) 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 5a9480aa6768..0f199f91e67c 100644
81 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} 81 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR}
82 COMPONENT ${name}) 82 COMPONENT ${name})
83 83
84@@ -1295,7 +1290,6 @@ macro(add_llvm_utility name) 84@@ -1313,7 +1308,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 5a9480aa6768..0f199f91e67c 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 5e9e2674405e..3c72df35b308 100644 93index 59fd0d3b0733..3b9ac56ed37f 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@@ -179,14 +179,8 @@ macro(add_tablegen target project) 96@@ -183,14 +183,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)
@@ -108,7 +108,7 @@ index 5e9e2674405e..3c72df35b308 100644
108 COMPONENT ${target} 108 COMPONENT ${target}
109 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}) 109 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR})
110 if(NOT LLVM_ENABLE_IDE) 110 if(NOT LLVM_ENABLE_IDE)
111@@ -195,5 +189,4 @@ macro(add_tablegen target project) 111@@ -199,5 +193,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/0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch b/recipes-devtools/clang/clang/0017-clang-Fix-resource-dir-location-for-cross-toolchains.patch
index f1cc2a3..3a2b179 100644
--- a/recipes-devtools/clang/clang/0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch
+++ b/recipes-devtools/clang/clang/0017-clang-Fix-resource-dir-location-for-cross-toolchains.patch
@@ -1,4 +1,4 @@
1From 3bb1761c3685792ccbcb96a9106dab6595ea11d2 Mon Sep 17 00:00:00 2001 1From 85a600c78bcb5befd0f51e5551d0dd2f4c6b6f54 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 94a7553e273b..5b353e6670f0 100644 22index 3bfddeefc7b2..8a806efb292b 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@@ -122,7 +122,13 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath, 25@@ -176,7 +176,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/0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
index 5ddc7d6..70de0a3 100644
--- a/recipes-devtools/clang/clang/0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
+++ b/recipes-devtools/clang/clang/0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
@@ -1,4 +1,4 @@
1From 2d6e13dbd89ab50125e86ef8f240e50d0c8dd576 Mon Sep 17 00:00:00 2001 1From 26c596cf7f4c3fbac5df62a8f19ebca083fd4d2c 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 8c6102f47192..4b39c2bdf14d 100644 21index f9e233f15dfc..bf73b1ef27db 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@@ -476,8 +476,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 24@@ -493,8 +493,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 8c6102f47192..4b39c2bdf14d 100644
32 LibDir = "lib"; 32 LibDir = "lib";
33 } 33 }
34 break; 34 break;
35@@ -485,8 +485,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 35@@ -502,8 +502,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 8c6102f47192..4b39c2bdf14d 100644
43 LibDir = "lib"; 43 LibDir = "lib";
44 } 44 }
45 break; 45 break;
46@@ -510,8 +510,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 46@@ -527,8 +527,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 8c6102f47192..4b39c2bdf14d 100644
54 LibDir = "lib"; 54 LibDir = "lib";
55 } 55 }
56 break; 56 break;
57@@ -528,8 +528,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 57@@ -545,8 +545,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/0022-clang-Use-python3-in-python-scripts.patch b/recipes-devtools/clang/clang/0019-clang-Use-python3-in-python-scripts.patch
index ac014b1..078bc61 100644
--- a/recipes-devtools/clang/clang/0022-clang-Use-python3-in-python-scripts.patch
+++ b/recipes-devtools/clang/clang/0019-clang-Use-python3-in-python-scripts.patch
@@ -1,4 +1,4 @@
1From 40138d88b4371d1e253dc5a86fe517bceba655aa Mon Sep 17 00:00:00 2001 1From df4a3eb433329f68dc6ba74b9bd03664c3a62299 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
@@ -16,8 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
16 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py | 2 +- 16 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py | 2 +-
17 clang/tools/clang-format/git-clang-format | 2 +- 17 clang/tools/clang-format/git-clang-format | 2 +-
18 clang/tools/scan-view/bin/scan-view | 2 +- 18 clang/tools/scan-view/bin/scan-view | 2 +-
19 clang/utils/hmaptool/hmaptool | 2 +- 19 7 files changed, 7 insertions(+), 7 deletions(-)
20 8 files changed, 8 insertions(+), 8 deletions(-)
21 20
22diff --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 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
23index 8655af137bb2..e95ba59a421c 100755 22index 8655af137bb2..e95ba59a421c 100755
@@ -30,7 +29,7 @@ index 8655af137bb2..e95ba59a421c 100755
30 #=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=# 29 #=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=#
31 # 30 #
32diff --git a/clang-tools-extra/clang-tidy/add_new_check.py b/clang-tools-extra/clang-tidy/add_new_check.py 31diff --git a/clang-tools-extra/clang-tidy/add_new_check.py b/clang-tools-extra/clang-tidy/add_new_check.py
33index 14fcfe8d49ff..ee7e682690b7 100755 32index 50a220b3f975..ea40cbc48dd2 100755
34--- a/clang-tools-extra/clang-tidy/add_new_check.py 33--- a/clang-tools-extra/clang-tidy/add_new_check.py
35+++ b/clang-tools-extra/clang-tidy/add_new_check.py 34+++ b/clang-tools-extra/clang-tidy/add_new_check.py
36@@ -1,4 +1,4 @@ 35@@ -1,4 +1,4 @@
@@ -40,7 +39,7 @@ index 14fcfe8d49ff..ee7e682690b7 100755
40 #===- add_new_check.py - clang-tidy check generator ---------*- python -*--===# 39 #===- add_new_check.py - clang-tidy check generator ---------*- python -*--===#
41 # 40 #
42diff --git a/clang-tools-extra/clang-tidy/rename_check.py b/clang-tools-extra/clang-tidy/rename_check.py 41diff --git a/clang-tools-extra/clang-tidy/rename_check.py b/clang-tools-extra/clang-tidy/rename_check.py
43index 2410041fd5d2..976a02100cd6 100755 42index 9c2021751e0e..4bb9af8cbe0a 100755
44--- a/clang-tools-extra/clang-tidy/rename_check.py 43--- a/clang-tools-extra/clang-tidy/rename_check.py
45+++ b/clang-tools-extra/clang-tidy/rename_check.py 44+++ b/clang-tools-extra/clang-tidy/rename_check.py
46@@ -1,4 +1,4 @@ 45@@ -1,4 +1,4 @@
@@ -60,7 +59,7 @@ index 6bd05531333b..9e134123ef44 100755
60 #===- clang-tidy-diff.py - ClangTidy Diff Checker -----------*- python -*--===# 59 #===- clang-tidy-diff.py - ClangTidy Diff Checker -----------*- python -*--===#
61 # 60 #
62diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py 61diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
63index acd1ed6979c0..12bd7f9c7dc3 100755 62index e6cff6a7414d..582c113fb173 100755
64--- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py 63--- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
65+++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py 64+++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
66@@ -1,4 +1,4 @@ 65@@ -1,4 +1,4 @@
@@ -70,7 +69,7 @@ index acd1ed6979c0..12bd7f9c7dc3 100755
70 #===- run-clang-tidy.py - Parallel clang-tidy runner --------*- python -*--===# 69 #===- run-clang-tidy.py - Parallel clang-tidy runner --------*- python -*--===#
71 # 70 #
72diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format 71diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format
73index 0233ceb3a868..16bc55f98762 100755 72index 7968c4387574..268e4dd14782 100755
74--- a/clang/tools/clang-format/git-clang-format 73--- a/clang/tools/clang-format/git-clang-format
75+++ b/clang/tools/clang-format/git-clang-format 74+++ b/clang/tools/clang-format/git-clang-format
76@@ -1,4 +1,4 @@ 75@@ -1,4 +1,4 @@
@@ -89,13 +88,3 @@ index 6165432e7af8..07effbca5969 100755
89 88
90 from __future__ import print_function 89 from __future__ import print_function
91 90
92diff --git a/clang/utils/hmaptool/hmaptool b/clang/utils/hmaptool/hmaptool
93index e647cde6bc46..7ed2fdf674b1 100755
94--- a/clang/utils/hmaptool/hmaptool
95+++ b/clang/utils/hmaptool/hmaptool
96@@ -1,4 +1,4 @@
97-#!/usr/bin/env python
98+#!/usr/bin/env python3
99 from __future__ import absolute_import, division, print_function
100
101 import json
diff --git a/recipes-devtools/clang/clang/0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch b/recipes-devtools/clang/clang/0020-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
index c46e3dd..640562f 100644
--- a/recipes-devtools/clang/clang/0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
+++ b/recipes-devtools/clang/clang/0020-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
@@ -1,4 +1,4 @@
1From c23934d24ed6cbb08e3ce6c67c458509c6d46291 Mon Sep 17 00:00:00 2001 1From abd7f4b0e7e10c7102685012cb9db0551be7037c 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,14 +57,14 @@ 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 4f12262bbf47..9750c42e1f56 100644 60index d22eaf698eb8..6fcd5abe7211 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@@ -2111,6 +2111,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( 63@@ -2105,6 +2105,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",
67+ "x86_64-oe-linux",//CLANG_EXTRA_OE_VENDORS_TRIPLES 67+ "x86_64-oe-linux",//CLANG_EXTRA_OE_VENDORS_TRIPLES
68 "x86_64-amazon-linux", "x86_64-linux-android"}; 68 "x86_64-amazon-linux"};
69 static const char *const X32Triples[] = {"x86_64-linux-gnux32", 69 static const char *const X32Triples[] = {"x86_64-linux-gnux32",
70 "x86_64-pc-linux-gnux32"}; 70 "x86_64-pc-linux-gnux32"};
diff --git a/recipes-devtools/clang/clang/0020-fix-path-to-libffi.patch b/recipes-devtools/clang/clang/0020-fix-path-to-libffi.patch
deleted file mode 100644
index 54c9382..0000000
--- a/recipes-devtools/clang/clang/0020-fix-path-to-libffi.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From 4b2b4a51abcc347176f8c1c6bdfa28e1a2c9e57b Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Fri, 3 Apr 2020 15:10:37 +0800
4Subject: [PATCH] fix path to libffi
5
6FFI_LIBRARY_PATH is the full path to libffi so when building something that links to
7libLLVMInterpreter, we were looking for libffi in clang's recipe-sysroot instead of
8the recipe's sysroot.
9
10Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt b/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
17index 976219830d5e..9930e01559e9 100644
18--- a/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
19+++ b/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
20@@ -22,5 +22,5 @@ add_llvm_component_library(LLVMInterpreter
21 )
22
23 if( LLVM_ENABLE_FFI )
24- target_link_libraries( LLVMInterpreter PRIVATE ${FFI_LIBRARY_PATH} )
25+ target_link_libraries( LLVMInterpreter PRIVATE ffi )
26 endif()
diff --git a/recipes-devtools/clang/clang/0024-llvm-Do-not-use-find_library-for-ncurses.patch b/recipes-devtools/clang/clang/0021-llvm-Do-not-use-find_library-for-ncurses.patch
index caaf668..28ef7ab 100644
--- a/recipes-devtools/clang/clang/0024-llvm-Do-not-use-find_library-for-ncurses.patch
+++ b/recipes-devtools/clang/clang/0021-llvm-Do-not-use-find_library-for-ncurses.patch
@@ -1,4 +1,4 @@
1From 5d9680264c351bc98b1ae385f129deef48ed12a1 Mon Sep 17 00:00:00 2001 1From e06d9bce947249e18bd17f55852dad4e3ea671ac 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
@@ -12,33 +12,33 @@ clang-12: error: linker command failed with exit code 1 (use -v to see invocatio
12 12
13Signed-off-by: Khem Raj <raj.khem@gmail.com> 13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14--- 14---
15 compiler-rt/cmake/config-ix.cmake | 2 +- 15 compiler-rt/cmake/config-ix.cmake | 2 +-
16 llvm/cmake/config-ix.cmake | 2 +- 16 llvm/cmake/modules/FindTerminfo.cmake | 2 +-
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 39b9120f00ad..8ac28303b8ad 100644 20index 4299a0589a7b..cb53b6fd14bd 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@@ -141,7 +141,7 @@ else() 23@@ -149,7 +149,7 @@ else()
24 set(MAYBE_REQUIRED) 24 set(MAYBE_REQUIRED)
25 endif() 25 endif()
26 if(LLVM_ENABLE_TERMINFO) 26 if(LLVM_ENABLE_TERMINFO)
27- find_library(COMPILER_RT_TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED}) 27- find_library(COMPILER_RT_TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED})
28+ set(TERMINFO_LIB tinfo curses ncurses ncursesw) 28+ find_library(COMPILER_RT_TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
29 endif() 29 endif()
30 if(COMPILER_RT_TERMINFO_LIB) 30 if(COMPILER_RT_TERMINFO_LIB)
31 set(LLVM_ENABLE_TERMINFO 1) 31 set(LLVM_ENABLE_TERMINFO 1)
32diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake 32diff --git a/llvm/cmake/modules/FindTerminfo.cmake b/llvm/cmake/modules/FindTerminfo.cmake
33index dd0aaadb47c7..66a50cf01230 100644 33index 65edb80fa69a..a58180be8926 100644
34--- a/llvm/cmake/config-ix.cmake 34--- a/llvm/cmake/modules/FindTerminfo.cmake
35+++ b/llvm/cmake/config-ix.cmake 35+++ b/llvm/cmake/modules/FindTerminfo.cmake
36@@ -176,7 +176,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") 36@@ -11,7 +11,7 @@
37 set(MAYBE_REQUIRED) 37 # Additionally, the following import target will be defined:
38 endif() 38 # Terminfo::terminfo
39 if(LLVM_ENABLE_TERMINFO) 39
40- find_library(TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED}) 40-find_library(Terminfo_LIBRARIES NAMES terminfo tinfo curses ncurses ncursesw)
41+ set(TERMINFO_LIB tinfo curses ncurses ncursesw) 41+find_library(Terminfo_LIBRARIES NAMES terminfo tinfo curses ncurses ncursesw NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
42 endif() 42
43 if(TERMINFO_LIB) 43 if(Terminfo_LIBRARIES)
44 set(LLVM_ENABLE_TERMINFO 1) 44 include(CMakePushCheckState)
diff --git a/recipes-devtools/clang/clang/0025-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch b/recipes-devtools/clang/clang/0022-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
index baf4f1f..c0d2b6d 100644
--- a/recipes-devtools/clang/clang/0025-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
+++ b/recipes-devtools/clang/clang/0022-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
@@ -1,4 +1,4 @@
1From 5fd5e653e9662971e62c03353cc7981ab387d5c7 Mon Sep 17 00:00:00 2001 1From 4a0571cc9e2401504c0675051c3e66143d0d87f6 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 88311546354b..8b2745deae88 100644 21index a9afcc9db96a..dc48caf02616 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@@ -496,7 +496,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { 24@@ -506,7 +506,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/0026-compiler-rt-Use-mcr-based-barrier-on-armv6.patch b/recipes-devtools/clang/clang/0023-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
index cb5397c..b67d8d2 100644
--- a/recipes-devtools/clang/clang/0026-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
+++ b/recipes-devtools/clang/clang/0023-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
@@ -1,4 +1,4 @@
1From 9053e875d68b32c56398a1e07c06cc8575ef6533 Mon Sep 17 00:00:00 2001 1From c4a8eebdbaea9eef3f4422497196627485de920e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 24 Mar 2021 00:32:09 -0700 3Date: Wed, 24 Mar 2021 00:32:09 -0700
4Subject: [PATCH] compiler-rt: Use mcr based barrier on armv6 4Subject: [PATCH] compiler-rt: Use mcr based barrier on armv6
@@ -51,10 +51,10 @@ index c9623249e5d2..7a26170741ad 100644
51 51
52 #define MINMAX_4(rD, rN, rM, cmp_kind) \ 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 53diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h
54index 9c015059af5a..aec4ff59beb7 100644 54index 69a3d8620f92..60bac86df218 100644
55--- a/compiler-rt/lib/builtins/assembly.h 55--- a/compiler-rt/lib/builtins/assembly.h
56+++ b/compiler-rt/lib/builtins/assembly.h 56+++ b/compiler-rt/lib/builtins/assembly.h
57@@ -183,6 +183,14 @@ 57@@ -189,6 +189,14 @@
58 JMP(ip) 58 JMP(ip)
59 #endif 59 #endif
60 60
diff --git a/recipes-devtools/clang/clang/0028-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch b/recipes-devtools/clang/clang/0024-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
index 731df51..639563d 100644
--- a/recipes-devtools/clang/clang/0028-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
+++ b/recipes-devtools/clang/clang/0024-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
@@ -1,4 +1,4 @@
1From a1bd4222dea53463bd2c15c6a98842be715a7b8f Mon Sep 17 00:00:00 2001 1From 5ffa9adacd28053b6ff42d30907991fedb2ce75a 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/0029-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch b/recipes-devtools/clang/clang/0025-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
index d58ea76..56c97b6 100644
--- a/recipes-devtools/clang/clang/0029-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
+++ b/recipes-devtools/clang/clang/0025-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
@@ -1,4 +1,4 @@
1From 24ace165961972b9c228cd580eb5cacfde006c4c Mon Sep 17 00:00:00 2001 1From a92c1148c71e0152d6b2027bf59c8eb46ecee800 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 4b39c2bdf14d..46c83b002e6c 100644 15index bf73b1ef27db..eb92a037c930 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@@ -619,6 +619,9 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, 18@@ -636,6 +636,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/0030-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch b/recipes-devtools/clang/clang/0026-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch
index 8c0eaa4..da038e2 100644
--- a/recipes-devtools/clang/clang/0030-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch
+++ b/recipes-devtools/clang/clang/0026-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch
@@ -1,4 +1,4 @@
1From adbadcc16f0dc7c323644bfc2f0e5752644f9e4c Mon Sep 17 00:00:00 2001 1From 1caf16b9a0a6d195bc66da996d6bcd3f66eeff07 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,10 +15,10 @@ 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 e580d6d1408b..c14d7636e291 100644 18index 995e853e2a4d..25b79a8d17e8 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@@ -12,6 +12,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)
22 append_list_if(COMPILER_RT_HAS_LIBRT rt SCUDO_MINIMAL_DYNAMIC_LIBS) 22 append_list_if(COMPILER_RT_HAS_LIBRT rt SCUDO_MINIMAL_DYNAMIC_LIBS)
23 append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread SCUDO_MINIMAL_DYNAMIC_LIBS) 23 append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread SCUDO_MINIMAL_DYNAMIC_LIBS)
24 append_list_if(COMPILER_RT_HAS_LIBLOG log SCUDO_MINIMAL_DYNAMIC_LIBS) 24 append_list_if(COMPILER_RT_HAS_LIBLOG log SCUDO_MINIMAL_DYNAMIC_LIBS)
diff --git a/recipes-devtools/clang/clang/0027-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch b/recipes-devtools/clang/clang/0027-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch
deleted file mode 100644
index af3a940..0000000
--- a/recipes-devtools/clang/clang/0027-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From e636f163882891bc71e45f6cf4051e9909fe624c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 15 Apr 2021 18:58:07 -0700
4Subject: [PATCH] clang: Switch defaults to dwarf-5 debug info on Linux
5
6GCC 11 has defaulted to DWARF-5 as well, this matches
7debug info formats, so mix and match of components with GCC 11
8works.
9
10Upstream-Status: Pending
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 clang/lib/Driver/ToolChains/Linux.h | 2 ++
14 1 file changed, 2 insertions(+)
15
16diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h
17index b3544a0c7681..ae421580a017 100644
18--- a/clang/lib/Driver/ToolChains/Linux.h
19+++ b/clang/lib/Driver/ToolChains/Linux.h
20@@ -65,6 +65,8 @@ public:
21 const llvm::opt::ArgList &DriverArgs, const JobAction &JA,
22 const llvm::fltSemantics *FPType = nullptr) const override;
23
24+ unsigned GetDefaultDwarfVersion() const override { return 5; }
25+
26 protected:
27 Tool *buildAssembler() const override;
28 Tool *buildLinker() const override;
diff --git a/recipes-devtools/clang/clang/0031-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch b/recipes-devtools/clang/clang/0027-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch
index 94f9272..4585eed 100644
--- a/recipes-devtools/clang/clang/0031-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch
+++ b/recipes-devtools/clang/clang/0027-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch
@@ -1,4 +1,4 @@
1From 019c9ff3e7ae0d5710618d1562995359805f9aea Mon Sep 17 00:00:00 2001 1From 8653885e3f7f0a90fe49b8d0bfbffc011ff44407 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 21 May 2021 08:14:29 -0700 3Date: Fri, 21 May 2021 08:14:29 -0700
4Subject: [PATCH] compiler-rt: Link scudo standalone with libatomic on mips 4Subject: [PATCH] compiler-rt: Link scudo standalone with libatomic on mips
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 1 file changed, 4 insertions(+) 13 1 file changed, 4 insertions(+)
14 14
15diff --git a/compiler-rt/lib/scudo/standalone/CMakeLists.txt b/compiler-rt/lib/scudo/standalone/CMakeLists.txt 15diff --git a/compiler-rt/lib/scudo/standalone/CMakeLists.txt b/compiler-rt/lib/scudo/standalone/CMakeLists.txt
16index d6ffa448d7e0..22caf11f6223 100644 16index 739f131bdefd..5862545b842b 100644
17--- a/compiler-rt/lib/scudo/standalone/CMakeLists.txt 17--- a/compiler-rt/lib/scudo/standalone/CMakeLists.txt
18+++ b/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) 19@@ -137,6 +137,10 @@ append_list_if(COMPILER_RT_HAS_LIBPTHREAD -pthread SCUDO_LINK_FLAGS)
diff --git a/recipes-devtools/clang/clang/0032-libunwind-Added-unw_backtrace-method.patch b/recipes-devtools/clang/clang/0028-libunwind-Added-unw_backtrace-method.patch
index 5a99074..f4a7c09 100644
--- a/recipes-devtools/clang/clang/0032-libunwind-Added-unw_backtrace-method.patch
+++ b/recipes-devtools/clang/clang/0028-libunwind-Added-unw_backtrace-method.patch
@@ -1,4 +1,4 @@
1From 014e2f701a92e9cd82a1f1dbccb0037057825ac4 Mon Sep 17 00:00:00 2001 1From 2ee8622a6471cfd38878e8f83f72338c275cee8b 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,7 +12,7 @@ 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 0feecd7bd6fc..670cfa3ed71d 100644 15index 9a74faa48d6f..f7480c9cf27a 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@@ -127,6 +127,7 @@ extern int unw_is_fpreg(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL;
@@ -24,10 +24,10 @@ index 0feecd7bd6fc..670cfa3ed71d 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 1faf000ce44a..1edbdea6a19e 100644 27index 03f8b75b5bba..730e2393a8f8 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@@ -295,7 +295,25 @@ void __unw_remove_dynamic_fde(unw_word_t fde) { 30@@ -326,7 +326,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/0034-compiler-rt-Do-not-force-thumb-mode-directive.patch b/recipes-devtools/clang/clang/0029-Do-not-force-thumb-mode-directive.patch
index 515f980..f22fd5c 100644
--- a/recipes-devtools/clang/clang/0034-compiler-rt-Do-not-force-thumb-mode-directive.patch
+++ b/recipes-devtools/clang/clang/0029-Do-not-force-thumb-mode-directive.patch
@@ -1,7 +1,7 @@
1From 16736f026aeb9db163fb296e088316252f2578e0 Mon Sep 17 00:00:00 2001 1From 026dc43875ab8c0c3a28ae4650c5685cd530bb37 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Jun 2021 08:42:36 -0700 3Date: Sat, 12 Jun 2021 08:42:36 -0700
4Subject: [PATCH] compiler-rt: Do not force thumb mode directive 4Subject: [PATCH] Do not force thumb mode directive
5 5
6.thumb_func was not switching mode until [1] 6.thumb_func was not switching mode until [1]
7so it did not show up but now that .thumb_func (without argument) is 7so it did not show up but now that .thumb_func (without argument) is
diff --git a/recipes-devtools/clang/clang/0035-clang-Do-not-use-install-relative-libc-headers.patch b/recipes-devtools/clang/clang/0030-clang-Do-not-use-install-relative-libc-headers.patch
index f17c35f..6f17144 100644
--- a/recipes-devtools/clang/clang/0035-clang-Do-not-use-install-relative-libc-headers.patch
+++ b/recipes-devtools/clang/clang/0030-clang-Do-not-use-install-relative-libc-headers.patch
@@ -1,4 +1,4 @@
1From 75fbe5c2c8f4798dbffca047d18e5831de61aef5 Mon Sep 17 00:00:00 2001 1From d60663adf9941780ed5365a5a919cbcd8946ff74 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 9750c42e1f56..553cb985737f 100644 19index 6fcd5abe7211..0d04a199a7af 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@@ -2928,7 +2928,9 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, 22@@ -2919,7 +2919,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/0036-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch b/recipes-devtools/clang/clang/0031-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch
index 43efcfb..8bc5dee 100644
--- a/recipes-devtools/clang/clang/0036-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch
+++ b/recipes-devtools/clang/clang/0031-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch
@@ -1,4 +1,4 @@
1From 46b27761196036bc0d076bfe31636bdb43f4df6b Mon Sep 17 00:00:00 2001 1From 9b9306ec9e11864631d64d8717763eaec4e25e8f 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 553cb985737f..355c7798a7aa 100644 34index 0d04a199a7af..1e5a3cc2c1f1 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@@ -1652,18 +1652,29 @@ static void findRISCVMultilibs(const Driver &D, 37@@ -1641,18 +1641,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 553cb985737f..355c7798a7aa 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@@ -2561,13 +2572,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 77@@ -2549,13 +2560,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/0037-Fix-lib-paths-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0032-Fix-lib-paths-for-OpenEmbedded-Host.patch
index 2a2fff3..1668dd5 100644
--- a/recipes-devtools/clang/clang/0037-Fix-lib-paths-for-OpenEmbedded-Host.patch
+++ b/recipes-devtools/clang/clang/0032-Fix-lib-paths-for-OpenEmbedded-Host.patch
@@ -1,4 +1,4 @@
1From 76e66abe135908b9d987e9a96aab0176391ee38a Mon Sep 17 00:00:00 2001 1From 6c066a1d1930ddaa95b0530c678bac71f47378b5 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
@@ -42,12 +42,13 @@ to follow above form.
42Upstream-Status: Inappropriate [oe specific] 42Upstream-Status: Inappropriate [oe specific]
43 43
44Signed-off-by: Changqing Li <changqing.li@windriver.com> 44Signed-off-by: Changqing Li <changqing.li@windriver.com>
45Signed-off-by: Khem Raj <raj.khem@gmail.com>
45--- 46---
46 clang/lib/Driver/ToolChains/Gnu.cpp | 5 ++++- 47 clang/lib/Driver/ToolChains/Gnu.cpp | 5 ++++-
47 1 file changed, 4 insertions(+), 1 deletion(-) 48 1 file changed, 4 insertions(+), 1 deletion(-)
48 49
49diff --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
50index 3350bda709f5..c03a839d1c72 100644 51index 1e5a3cc2c1f1..d3574b86cb26 100644
51--- a/clang/lib/Driver/ToolChains/Gnu.cpp 52--- a/clang/lib/Driver/ToolChains/Gnu.cpp
52+++ b/clang/lib/Driver/ToolChains/Gnu.cpp 53+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
53@@ -22,6 +22,7 @@ 54@@ -22,6 +22,7 @@
@@ -58,7 +59,7 @@ index 3350bda709f5..c03a839d1c72 100644
58 #include "llvm/Option/ArgList.h" 59 #include "llvm/Option/ArgList.h"
59 #include "llvm/Support/CodeGen.h" 60 #include "llvm/Support/CodeGen.h"
60 #include "llvm/Support/Path.h" 61 #include "llvm/Support/Path.h"
61@@ -2530,6 +2531,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 62@@ -2518,6 +2519,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
62 const llvm::Triple &TargetTriple, const ArgList &Args, 63 const llvm::Triple &TargetTriple, const ArgList &Args,
63 const std::string &LibDir, StringRef CandidateTriple, 64 const std::string &LibDir, StringRef CandidateTriple,
64 bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) { 65 bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) {
@@ -66,7 +67,7 @@ index 3350bda709f5..c03a839d1c72 100644
66 // 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
67 // directories might reside. 68 // directories might reside.
68 struct GCCLibSuffix { 69 struct GCCLibSuffix {
69@@ -2547,7 +2549,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 70@@ -2535,7 +2537,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
70 // files in that location, not just GCC installation data. 71 // files in that location, not just GCC installation data.
71 {CandidateTriple.str(), "..", 72 {CandidateTriple.str(), "..",
72 TargetTriple.getVendor() == llvm::Triple::Freescale || 73 TargetTriple.getVendor() == llvm::Triple::Freescale ||
@@ -76,6 +77,3 @@ index 3350bda709f5..c03a839d1c72 100644
76 77
77 // This is the normal place. 78 // This is the normal place.
78 {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists}, 79 {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists},
79--
802.32.0
81
diff --git a/recipes-devtools/clang/clang/0038-Correct-library-search-path-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0033-Correct-library-search-path-for-OpenEmbedded-Host.patch
index b114483..4c365dd 100644
--- a/recipes-devtools/clang/clang/0038-Correct-library-search-path-for-OpenEmbedded-Host.patch
+++ b/recipes-devtools/clang/clang/0033-Correct-library-search-path-for-OpenEmbedded-Host.patch
@@ -1,4 +1,4 @@
1From f790cf664e6d7ac2da4bf24caa82e7f166d592d8 Mon Sep 17 00:00:00 2001 1From 504d643d31a52421c6dc03f617c17e287a1c4ff0 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
@@ -31,6 +31,7 @@ libraries: =/build/tmp-glibc/work/x84_64-linux/compiler-rt-native/13.0.1-r0/reci
31Upstream-Status: Inappropriate [oe specific] 31Upstream-Status: Inappropriate [oe specific]
32 32
33Signed-off-by: Changqing Li <changqing.li@windriver.com> 33Signed-off-by: Changqing Li <changqing.li@windriver.com>
34Signed-off-by: Khem Raj <raj.khem@gmail.com>
34--- 35---
35 clang/include/clang/Driver/Distro.h | 2 ++ 36 clang/include/clang/Driver/Distro.h | 2 ++
36 clang/lib/Driver/Distro.cpp | 1 + 37 clang/lib/Driver/Distro.cpp | 1 +
@@ -38,10 +39,10 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
38 3 files changed, 4 insertions(+) 39 3 files changed, 4 insertions(+)
39 40
40diff --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
41index 0d2a0939639e..5556f473899f 100644 42index 2723f75e8945..cd43e8f11574 100644
42--- a/clang/include/clang/Driver/Distro.h 43--- a/clang/include/clang/Driver/Distro.h
43+++ b/clang/include/clang/Driver/Distro.h 44+++ b/clang/include/clang/Driver/Distro.h
44@@ -43,6 +43,7 @@ public: 45@@ -44,6 +44,7 @@ public:
45 RHEL7, 46 RHEL7,
46 Fedora, 47 Fedora,
47 Gentoo, 48 Gentoo,
@@ -49,7 +50,7 @@ index 0d2a0939639e..5556f473899f 100644
49 OpenSUSE, 50 OpenSUSE,
50 UbuntuHardy, 51 UbuntuHardy,
51 UbuntuIntrepid, 52 UbuntuIntrepid,
52@@ -130,6 +131,7 @@ public: 53@@ -132,6 +133,7 @@ public:
53 54
54 bool IsGentoo() const { return DistroVal == Gentoo; } 55 bool IsGentoo() const { return DistroVal == Gentoo; }
55 56
@@ -58,7 +59,7 @@ index 0d2a0939639e..5556f473899f 100644
58 }; 59 };
59 60
60diff --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
61index c4cf4e48b5b8..2695c0ab85c2 100644 62index 5ac38c34d112..f20dd4b526e5 100644
62--- a/clang/lib/Driver/Distro.cpp 63--- a/clang/lib/Driver/Distro.cpp
63+++ b/clang/lib/Driver/Distro.cpp 64+++ b/clang/lib/Driver/Distro.cpp
64@@ -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) {
@@ -70,7 +71,7 @@ index c4cf4e48b5b8..2695c0ab85c2 100644
70 return Version; 71 return Version;
71 } 72 }
72diff --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
73index 46c83b002e6c..e356616229c1 100644 74index eb92a037c930..c92cef442005 100644
74--- a/clang/lib/Driver/ToolChains/Linux.cpp 75--- a/clang/lib/Driver/ToolChains/Linux.cpp
75+++ b/clang/lib/Driver/ToolChains/Linux.cpp 76+++ b/clang/lib/Driver/ToolChains/Linux.cpp
76@@ -77,6 +77,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, 77@@ -77,6 +77,7 @@ std::string Linux::getMultiarchTriple(const Driver &D,
@@ -81,6 +82,3 @@ index 46c83b002e6c..e356616229c1 100644
81 return "x86_64-linux-gnu"; 82 return "x86_64-linux-gnu";
82 case llvm::Triple::aarch64: 83 case llvm::Triple::aarch64:
83 if (IsAndroid) 84 if (IsAndroid)
84--
852.32.0
86
diff --git a/recipes-devtools/clang/clang/0033-compiler-rt-Use-uintptr_t-instead-of-_Unwind_Word.patch b/recipes-devtools/clang/clang/0033-compiler-rt-Use-uintptr_t-instead-of-_Unwind_Word.patch
deleted file mode 100644
index 0651406..0000000
--- a/recipes-devtools/clang/clang/0033-compiler-rt-Use-uintptr_t-instead-of-_Unwind_Word.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From ad072b670c36eb51cfc20daa53cfe7ba4cd19e25 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 29 May 2021 13:42:25 -0700
4Subject: [PATCH] compiler-rt: Use uintptr_t instead of _Unwind_Word
5
6_Unwind_Word is defined in compiler specific unwind.h but not in
7libunwind provided unwind.h header, it works in most cases because
8compilers search compiler headers ahead of system headers but for some
9systems e.g. musl bases systems the compiler provided versions are not
10preferred over system headers and therefore relying on _Unwind_Word
11means its expecting this define in all unwind.h headers which is not the
12case, using uintptr_t means we don't need this from unwind.h
13
14See https://reviews.llvm.org/D65699
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 compiler-rt/lib/hwasan/hwasan_exceptions.cpp | 4 ++--
19 1 file changed, 2 insertions(+), 2 deletions(-)
20
21diff --git a/compiler-rt/lib/hwasan/hwasan_exceptions.cpp b/compiler-rt/lib/hwasan/hwasan_exceptions.cpp
22index 169e7876cb58..6ed1da335428 100644
23--- a/compiler-rt/lib/hwasan/hwasan_exceptions.cpp
24+++ b/compiler-rt/lib/hwasan/hwasan_exceptions.cpp
25@@ -29,8 +29,8 @@ typedef _Unwind_Reason_Code PersonalityFn(int version, _Unwind_Action actions,
26 // is statically linked and the sanitizer runtime and the program are linked
27 // against different unwinders. The _Unwind_Context data structure is opaque so
28 // it may be incompatible between unwinders.
29-typedef _Unwind_Word GetGRFn(_Unwind_Context* context, int index);
30-typedef _Unwind_Word GetCFAFn(_Unwind_Context* context);
31+typedef uintptr_t GetGRFn(_Unwind_Context* context, int index);
32+typedef uintptr_t GetCFAFn(_Unwind_Context* context);
33
34 extern "C" SANITIZER_INTERFACE_ATTRIBUTE _Unwind_Reason_Code
35 __hwasan_personality_wrapper(int version, _Unwind_Action actions,
diff --git a/recipes-devtools/clang/clang/0034-lldb-Link-with-libatomic-on-x86.patch b/recipes-devtools/clang/clang/0034-lldb-Link-with-libatomic-on-x86.patch
new file mode 100644
index 0000000..9b142b5
--- /dev/null
+++ b/recipes-devtools/clang/clang/0034-lldb-Link-with-libatomic-on-x86.patch
@@ -0,0 +1,33 @@
1From 31902cb8d8d5df41295b489a47a6010e05a02ad7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 8 Feb 2022 01:31:26 -0800
4Subject: [PATCH] lldb: Link with libatomic on x86
5
6cmake atomic check is not sufficient for i686 target where clang14 still
7generates __atomic_store calls but the check does not entail this
8function and happily thinks that compiler can resolve all atomic via intrinsics
9on i686, but thats not the case, ideally the check for determining
10atomic operation should be make more robust but until then lets ask to
11link with libatomic on i686/linux
12
13Upstream-Status: Inappropriate [OE-Specific]
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 lldb/source/Utility/CMakeLists.txt | 4 ++++
17 1 file changed, 4 insertions(+)
18
19diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt
20index cc0bf5fdb61a..5228bf01c276 100644
21--- a/lldb/source/Utility/CMakeLists.txt
22+++ b/lldb/source/Utility/CMakeLists.txt
23@@ -19,6 +19,10 @@ if (CMAKE_SYSTEM_NAME MATCHES "Windows")
24 list(APPEND LLDB_SYSTEM_LIBS ws2_32 rpcrt4)
25 endif ()
26
27+if (CMAKE_SYSTEM_PROCESSOR MATCHES "i686" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
28+ list(APPEND LLDB_SYSTEM_LIBS atomic)
29+endif()
30+
31 if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
32 list(APPEND LLDB_SYSTEM_LIBS atomic)
33 endif()
diff --git a/recipes-devtools/clang/clang/0035-clang-exclude-openembedded-distributions-from-settin.patch b/recipes-devtools/clang/clang/0035-clang-exclude-openembedded-distributions-from-settin.patch
new file mode 100644
index 0000000..3c2f314
--- /dev/null
+++ b/recipes-devtools/clang/clang/0035-clang-exclude-openembedded-distributions-from-settin.patch
@@ -0,0 +1,35 @@
1From ff6112490dcfa323f8ffe36d822fda2025003b6e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 11 Feb 2022 12:29:14 -0800
4Subject: [PATCH] clang: exclude openembedded distributions from setting rpath
5 on openmp executables
6
7OpenEmbedded based SDKs stage toolchains outsides the target rootfs and
8libomp.so is part of the target rootfs and not part of compiler
9toolchain install or relative to it. It finds the libraries via
10--sysroot during compile. This ensures that -rpath is not added for such
11systems, since it is adding cross-compile paths to rpath which is not
12correct when the binaries are run on real targets.
13
14Upstream-Status: Submitted [https://reviews.llvm.org/D119590]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 clang/lib/Driver/ToolChains/CommonArgs.cpp | 5 +++++
18 1 file changed, 5 insertions(+)
19
20diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
21index 60ba461ea0f5..67d446c0998a 100644
22--- a/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,
25 void tools::addOpenMPRuntimeSpecificRPath(const ToolChain &TC,
26 const ArgList &Args,
27 ArgStringList &CmdArgs) {
28+ // OpenEmbedded/Yocto installs libomp.so into <sysroot>/usr/lib
29+ // therefore using -rpath is not needed, on the contrary it adds
30+ // paths from cross compiler install location which is not correct
31+ if (TC.getTriple().getVendor() == llvm::Triple::OpenEmbedded)
32+ return;
33
34 if (Args.hasFlag(options::OPT_fopenmp_implicit_rpath,
35 options::OPT_fno_openmp_implicit_rpath, true)) {
diff --git a/recipes-devtools/clang/clang/0039-run-clang-tidy-on-unique-files-only.patch b/recipes-devtools/clang/clang/0039-run-clang-tidy-on-unique-files-only.patch
deleted file mode 100644
index 500be31..0000000
--- a/recipes-devtools/clang/clang/0039-run-clang-tidy-on-unique-files-only.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 0dc856ed20e0fb64dd7cb0a10db35c58c3ef95e6 Mon Sep 17 00:00:00 2001
2From: Serikzhan Kazi <se7kazi@gmail.com>
3Date: Sat, 6 Nov 2021 19:53:18 +1300
4Subject: [PATCH] [clang-tidy] run-clang-tidy.py: analyze unique files only
5
6The files in compile-commands.json can potentially include duplicates.
7Change run-clang-tidy.py so that it does not run on the duplicate entries.
8
9Differential Revision: https://reviews.llvm.org/D112926
10---
11 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py | 4 ++--
12 1 file changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
15index acd1ed6979c0..e6cff6a7414d 100755
16--- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
17+++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
18@@ -273,8 +273,8 @@ def main():
19
20 # Load the database and extract all files.
21 database = json.load(open(os.path.join(build_path, db_path)))
22- files = [make_absolute(entry['file'], entry['directory'])
23- for entry in database]
24+ files = set([make_absolute(entry['file'], entry['directory'])
25+ for entry in database])
26
27 max_task = args.j
28 if max_task == 0:
29--
302.34.1
31
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index 0201d44..b282d83 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -90,8 +90,8 @@ LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAM
90CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\ 90CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\
91LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\ 91LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\
92PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\ 92PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\
93LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;\ 93LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;LLDB_PYTHON_EXE_RELATIVE_PATH;\
94CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\ 94LLDB_PYTHON_EXT_SUFFIX;CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\
95CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_UNWINDLIB;\ 95CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_UNWINDLIB;\
96CLANG_DEFAULT_OPENMP_RUNTIME;\ 96CLANG_DEFAULT_OPENMP_RUNTIME;\
97" 97"
@@ -116,6 +116,9 @@ LLDB:riscv64 = ""
116LLDB:mips = "" 116LLDB:mips = ""
117LLDB:mipsel = "" 117LLDB:mipsel = ""
118 118
119# linux hosts (.so) on Windows .pyd
120SOLIBSDEV:mingw32 = ".pyd"
121
119#CMAKE_VERBOSE = "VERBOSE=1" 122#CMAKE_VERBOSE = "VERBOSE=1"
120 123
121EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ 124EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
@@ -144,7 +147,10 @@ EXTRA_OECMAKE:append:class-native = "\
144" 147"
145EXTRA_OECMAKE:append:class-nativesdk = "\ 148EXTRA_OECMAKE:append:class-nativesdk = "\
146 -DCMAKE_CROSSCOMPILING:BOOL=ON \ 149 -DCMAKE_CROSSCOMPILING:BOOL=ON \
147 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ 150 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
151 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON} \
152 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
153 -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
148 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ 154 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
149 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ 155 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
150 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 156 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
@@ -154,12 +160,16 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
154 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \ 160 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
155 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ 161 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
156 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \ 162 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
163 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON} \
164 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
157 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \ 165 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
158 -DPYTHON_EXECUTABLE='${PYTHON}' \ 166 -DPYTHON_EXECUTABLE='${PYTHON}' \
159" 167"
160EXTRA_OECMAKE:append:class-target = "\ 168EXTRA_OECMAKE:append:class-target = "\
161 -DCMAKE_CROSSCOMPILING:BOOL=ON \ 169 -DCMAKE_CROSSCOMPILING:BOOL=ON \
162 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR}' \ 170 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
171 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
172 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON}' \
163 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 173 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
164 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 174 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
165 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \ 175 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
@@ -171,6 +181,8 @@ EXTRA_OECMAKE:append:class-target = "\
171 -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \ 181 -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \
172 -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \ 182 -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \
173 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \ 183 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
184 -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON} \
185 -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \
174 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ 186 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
175 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \ 187 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
176 -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ 188 -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc
index 7d83c10..b8489eb 100644
--- a/recipes-devtools/clang/common.inc
+++ b/recipes-devtools/clang/common.inc
@@ -10,44 +10,41 @@ SRC_URI = "\
10 ${BASEURI} \ 10 ${BASEURI} \
11 file://llvm-config \ 11 file://llvm-config \
12 file://libunwind.pc.in \ 12 file://libunwind.pc.in \
13 file://0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch \ 13 file://0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \
14 file://0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \ 14 file://0002-compiler-rt-support-a-new-embedded-linux-target.patch \
15 file://0003-compiler-rt-support-a-new-embedded-linux-target.patch \ 15 file://0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \
16 file://0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \ 16 file://0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
17 file://0005-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ 17 file://0005-llvm-allow-env-override-of-exe-path.patch \
18 file://0006-llvm-allow-env-override-of-exe-path.patch \ 18 file://0006-clang-driver-Check-sysroot-for-ldso-path.patch \
19 file://0007-clang-driver-Check-sysroot-for-ldso-path.patch \ 19 file://0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \
20 file://0008-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \ 20 file://0008-clang-musl-ppc-does-not-support-128-bit-long-double.patch \
21 file://0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch \ 21 file://0009-clang-Prepend-trailing-to-sysroot.patch \
22 file://0010-clang-Prepend-trailing-to-sysroot.patch \ 22 file://0010-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \
23 file://0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \ 23 file://0011-clang-Define-releative-gcc-installation-dir.patch \
24 file://0012-clang-Define-releative-gcc-installation-dir.patch \ 24 file://0012-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \
25 file://0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \ 25 file://0013-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \
26 file://0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \ 26 file://0014-Check-for-atomic-double-intrinsics.patch \
27 file://0015-Check-for-atomic-double-intrinsics.patch \ 27 file://0015-libcxx-Add-compiler-runtime-library-to-link-step-for.patch \
28 file://0016-clang-Enable-SSP-and-PIE-by-default.patch \ 28 file://0016-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch \
29 file://0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch \ 29 file://0017-clang-Fix-resource-dir-location-for-cross-toolchains.patch \
30 file://0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch \ 30 file://0018-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \
31 file://0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch \ 31 file://0019-clang-Use-python3-in-python-scripts.patch \
32 file://0020-fix-path-to-libffi.patch \ 32 file://0020-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \
33 file://0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ 33 file://0021-llvm-Do-not-use-find_library-for-ncurses.patch \
34 file://0022-clang-Use-python3-in-python-scripts.patch \ 34 file://0022-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \
35 file://0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \ 35 file://0023-compiler-rt-Use-mcr-based-barrier-on-armv6.patch \
36 file://0024-llvm-Do-not-use-find_library-for-ncurses.patch \ 36 file://0024-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \
37 file://0025-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \ 37 file://0025-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \
38 file://0026-compiler-rt-Use-mcr-based-barrier-on-armv6.patch \ 38 file://0026-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch \
39 file://0027-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch \ 39 file://0027-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch \
40 file://0028-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \ 40 file://0028-libunwind-Added-unw_backtrace-method.patch \
41 file://0029-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \ 41 file://0029-Do-not-force-thumb-mode-directive.patch \
42 file://0030-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch \ 42 file://0030-clang-Do-not-use-install-relative-libc-headers.patch \
43 file://0031-compiler-rt-Link-scudo-standalone-with-libatomic-on-.patch \ 43 file://0031-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch \
44 file://0032-libunwind-Added-unw_backtrace-method.patch \ 44 file://0032-Fix-lib-paths-for-OpenEmbedded-Host.patch \
45 file://0033-compiler-rt-Use-uintptr_t-instead-of-_Unwind_Word.patch \ 45 file://0033-Correct-library-search-path-for-OpenEmbedded-Host.patch \
46 file://0034-compiler-rt-Do-not-force-thumb-mode-directive.patch \ 46 file://0034-lldb-Link-with-libatomic-on-x86.patch \
47 file://0035-clang-Do-not-use-install-relative-libc-headers.patch \ 47 file://0035-clang-exclude-openembedded-distributions-from-settin.patch \
48 file://0036-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch \
49 file://0037-Fix-lib-paths-for-OpenEmbedded-Host.patch \
50 file://0038-Correct-library-search-path-for-OpenEmbedded-Host.patch \
51 " 48 "
52# Fallback to no-PIE if not set 49# Fallback to no-PIE if not set
53GCCPIE ??= "" 50GCCPIE ??= ""
diff --git a/recipes-devtools/clang/openmp_git.bb b/recipes-devtools/clang/openmp_git.bb
index 7ce89eb..b1f1a8d 100644
--- a/recipes-devtools/clang/openmp_git.bb
+++ b/recipes-devtools/clang/openmp_git.bb
@@ -35,10 +35,10 @@ PACKAGECONFIG[ompt-tools] = "-DOPENMP_ENABLE_OMPT_TOOLS=ON,-DOPENMP_ENABLE_OMPT_
35PACKAGECONFIG[aliases] = "-DLIBOMP_INSTALL_ALIASES=ON,-DLIBOMP_INSTALL_ALIASES=OFF," 35PACKAGECONFIG[aliases] = "-DLIBOMP_INSTALL_ALIASES=ON,-DLIBOMP_INSTALL_ALIASES=OFF,"
36PACKAGECONFIG[offloading-plugin] = ",,elfutils libffi,libelf libffi" 36PACKAGECONFIG[offloading-plugin] = ",,elfutils libffi,libelf libffi"
37 37
38PACKAGES += "${PN}-libomptarget-amdgcn" 38PACKAGES += "${PN}-libomptarget"
39FILES_SOLIBSDEV = "" 39FILES_SOLIBSDEV = ""
40FILES:${PN} += "${libdir}/lib*${SOLIBSDEV}" 40FILES:${PN} += "${libdir}/lib*${SOLIBSDEV}"
41FILES:${PN}-libomptarget-amdgcn = "${libdir}/libomptarget-amdgcn-*.bc" 41FILES:${PN}-libomptarget = "${libdir}/libomptarget-*.bc"
42INSANE_SKIP:${PN} = "dev-so" 42INSANE_SKIP:${PN} = "dev-so"
43 43
44COMPATIBLE_HOST:mips64 = "null" 44COMPATIBLE_HOST:mips64 = "null"