summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-05-14 17:17:32 -0700
committerKhem Raj <raj.khem@gmail.com>2023-09-08 09:08:54 -0700
commit85d96727f5532da645053ef913921dd9b1b18668 (patch)
treee335e2fa9a0d2c2996112f0bbb6f7bd19b3b8d3d
parentbfae9575a018fbe0ec250acf71321eb870e3c124 (diff)
downloadmeta-clang-85d96727f5532da645053ef913921dd9b1b18668.tar.gz
clang: Upgrade to trunk/13.0 future series
Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 76e37fafa29e9b2097eb823537b17d6cc638c1d5) Conflicts: - recipes-devtools/clang/common.inc: caused by 3880a395f870ecd8da73d2de1e2b88a855df2ef0, the patches have been kept. The patch introduced in fdb936e80b30f40cbf7ef9a8e124b58eec95f45c is part of LLVM 13 so it has been removed.
-rw-r--r--conf/layer.conf2
-rw-r--r--recipes-devtools/clang/clang.inc6
-rw-r--r--recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch6
-rw-r--r--recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch8
-rw-r--r--recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch2
-rw-r--r--recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch6
-rw-r--r--recipes-devtools/clang/clang/0005-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch (renamed from recipes-devtools/clang/clang/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch)2
-rw-r--r--recipes-devtools/clang/clang/0006-llvm-allow-env-override-of-exe-path.patch (renamed from recipes-devtools/clang/clang/0007-llvm-allow-env-override-of-exe-path.patch)2
-rw-r--r--recipes-devtools/clang/clang/0007-clang-driver-Check-sysroot-for-ldso-path.patch (renamed from recipes-devtools/clang/clang/0008-clang-driver-Check-sysroot-for-ldso-path.patch)10
-rw-r--r--recipes-devtools/clang/clang/0008-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch (renamed from recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch)6
-rw-r--r--recipes-devtools/clang/clang/0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch (renamed from recipes-devtools/clang/clang/0010-clang-musl-ppc-does-not-support-128-bit-long-double.patch)6
-rw-r--r--recipes-devtools/clang/clang/0010-clang-Prepend-trailing-to-sysroot.patch (renamed from recipes-devtools/clang/clang/0011-clang-Prepend-trailing-to-sysroot.patch)6
-rw-r--r--recipes-devtools/clang/clang/0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch (renamed from recipes-devtools/clang/clang/0012-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch)6
-rw-r--r--recipes-devtools/clang/clang/0012-clang-Define-releative-gcc-installation-dir.patch (renamed from recipes-devtools/clang/clang/0013-clang-Define-releative-gcc-installation-dir.patch)29
-rw-r--r--recipes-devtools/clang/clang/0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch (renamed from recipes-devtools/clang/clang/0016-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch)32
-rw-r--r--recipes-devtools/clang/clang/0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch (renamed from recipes-devtools/clang/clang/0017-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch)2
-rw-r--r--recipes-devtools/clang/clang/0014-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch41
-rw-r--r--recipes-devtools/clang/clang/0015-Check-for-atomic-double-intrinsics.patch (renamed from recipes-devtools/clang/clang/0018-Check-for-atomic-double-intrinsics.patch)2
-rw-r--r--recipes-devtools/clang/clang/0015-clang-scan-view-needs-python-2.x.patch24
-rw-r--r--recipes-devtools/clang/clang/0016-clang-Enable-SSP-and-PIE-by-default.patch (renamed from recipes-devtools/clang/clang/0019-clang-Enable-SSP-and-PIE-by-default.patch)82
-rw-r--r--recipes-devtools/clang/clang/0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch (renamed from recipes-devtools/clang/clang/0020-libcxx-Add-compiler-runtime-library-to-link-step-for.patch)10
-rw-r--r--recipes-devtools/clang/clang/0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch (renamed from recipes-devtools/clang/clang/0021-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch)56
-rw-r--r--recipes-devtools/clang/clang/0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch (renamed from recipes-devtools/clang/clang/0022-clang-Fix-resource-dir-location-for-cross-toolchains.patch)6
-rw-r--r--recipes-devtools/clang/clang/0020-fix-path-to-libffi.patch (renamed from recipes-devtools/clang/clang/0023-fix-path-to-libffi.patch)2
-rw-r--r--recipes-devtools/clang/clang/0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch (renamed from recipes-devtools/clang/clang/0024-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch)12
-rw-r--r--recipes-devtools/clang/clang/0022-clang-Use-python3-in-python-scripts.patch (renamed from recipes-devtools/clang/clang/0025-clang-Use-python3-in-python-scripts.patch)23
-rw-r--r--recipes-devtools/clang/clang/0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch (renamed from recipes-devtools/clang/clang/0026-For-x86_64-set-Yocto-based-GCC-install-search-path.patch)10
-rw-r--r--recipes-devtools/clang/clang/0024-compiler-rt-Include-stddef.h.patch (renamed from recipes-devtools/clang/clang/0027-compiler-rt-Include-stddef.h.patch)10
-rw-r--r--recipes-devtools/clang/clang/0025-llvm-Do-not-use-find_library-for-ncurses.patch (renamed from recipes-devtools/clang/clang/0028-llvm-Do-not-use-find_library-for-ncurses.patch)6
-rw-r--r--recipes-devtools/clang/clang/0026-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch (renamed from recipes-devtools/clang/clang/0029-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch)6
-rw-r--r--recipes-devtools/clang/clang/0027-compiler-rt-Use-mcr-based-barrier-on-armv6.patch (renamed from recipes-devtools/clang/clang/0031-compiler-rt-Use-mcr-based-barrier-on-armv6.patch)6
-rw-r--r--recipes-devtools/clang/clang/0028-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch (renamed from recipes-devtools/clang/clang/0032-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch)6
-rw-r--r--recipes-devtools/clang/clang/0030-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch32
-rw-r--r--recipes-devtools/clang/clang/0034-CMake-Installable-find-modules-for-terminfo-and-libf.patch19
-rw-r--r--recipes-devtools/clang/clang/0036-libc-LWG2993-reference_wrapper-T-conversion-from-U.patch379
-rw-r--r--recipes-devtools/clang/clang_git.bb7
-rw-r--r--recipes-devtools/clang/common.inc52
37 files changed, 206 insertions, 716 deletions
diff --git a/conf/layer.conf b/conf/layer.conf
index 19e348b..6fa70ad 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -33,7 +33,7 @@ INHERIT += "clang"
33# Do not include clang in SDK unless user wants to 33# Do not include clang in SDK unless user wants to
34CLANGSDK ??= "0" 34CLANGSDK ??= "0"
35 35
36LLVMVERSION = "12.0.0" 36LLVMVERSION = "13.0.0"
37 37
38require conf/nonclangable.conf 38require conf/nonclangable.conf
39require conf/nonscanable.conf 39require conf/nonscanable.conf
diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc
index 6a08046..86e937f 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 = "12" 7MAJOR_VER = "13"
8MINOR_VER = "0" 8MINOR_VER = "0"
9PATCH_VER = "0" 9PATCH_VER = "0"
10 10
11SRCREV ?= "fa0971b87fb2c9d14d1bba2551e61f02f18f329b" 11SRCREV ?= "08d31ff4f45f795afb6648bc00257d60ff2f8204"
12 12
13PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}" 13PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}"
14BRANCH = "release/${MAJOR_VER}.x" 14BRANCH = "main"
15 15
16LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" 16LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe"
17CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" 17CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343"
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
index c1ba432..5a0c33d 100644
--- 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
@@ -1,4 +1,4 @@
1From 42e6673563ca1d0e433e16c3eefa20b98e280ebd Mon Sep 17 00:00:00 2001 1From b737bad67076c8c5a3f19f0808f7b5e4da616a5b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 22 May 2017 17:36:16 -0700 3Date: Mon, 22 May 2017 17:36:16 -0700
4Subject: [PATCH] lldb: Add -lxml2 to linker cmdline of xml is found 4Subject: [PATCH] lldb: Add -lxml2 to linker cmdline of xml is found
@@ -23,10 +23,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
23 1 file changed, 1 insertion(+), 1 deletion(-) 23 1 file changed, 1 insertion(+), 1 deletion(-)
24 24
25diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt 25diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt
26index 7456cb98bfa1..1a732ec5cb89 100644 26index a018fd6c183d..936bdd461350 100644
27--- a/lldb/source/Host/CMakeLists.txt 27--- a/lldb/source/Host/CMakeLists.txt
28+++ b/lldb/source/Host/CMakeLists.txt 28+++ b/lldb/source/Host/CMakeLists.txt
29@@ -138,7 +138,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "NetBSD") 29@@ -137,7 +137,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "NetBSD")
30 list(APPEND EXTRA_LIBS kvm) 30 list(APPEND EXTRA_LIBS kvm)
31 endif() 31 endif()
32 if (LLDB_ENABLE_LIBXML2) 32 if (LLDB_ENABLE_LIBXML2)
diff --git a/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch b/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
index f101e77..da33f56 100644
--- a/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
+++ b/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
@@ -1,4 +1,4 @@
1From da63df8f02b3a767b68d6de730bb63bba6c3ce33 Mon Sep 17 00:00:00 2001 1From 854f2bcd9770dd31641c89be6fa2603ac339d818 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 426c855288fc..06a62c642898 100644 20index d4eb01ce3888..5fe5b54371d1 100644
21--- a/libcxxabi/CMakeLists.txt 21--- a/libcxxabi/CMakeLists.txt
22+++ b/libcxxabi/CMakeLists.txt 22+++ b/libcxxabi/CMakeLists.txt
23@@ -478,14 +478,9 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}") 23@@ -516,14 +516,9 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}")
24 # Setup Source Code 24 # Setup Source Code
25 #=============================================================================== 25 #===============================================================================
26 26
@@ -36,7 +36,7 @@ index 426c855288fc..06a62c642898 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@@ -496,15 +491,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) 39@@ -534,15 +529,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/0003-compiler-rt-support-a-new-embedded-linux-target.patch b/recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch
index e8536d3..589833e 100644
--- a/recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch
+++ b/recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch
@@ -1,4 +1,4 @@
1From cfeba7ac05c96abddfad1eeb827ba8d0c968ec94 Mon Sep 17 00:00:00 2001 1From c4fa88657785e8ca179e39c6ec819960fd95c0f9 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/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
index 8b8edd8..ab6679a 100644
--- a/recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
+++ b/recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
@@ -1,4 +1,4 @@
1From 6c786d55d560abca076b7c1b718cdcb31ef5b388 Mon Sep 17 00:00:00 2001 1From 4b29b554ef9bfcbbcadd70f355df2f1eca55fade 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 b44ad2c2118e..ed8f4bd80e93 100644 23index c9939acfd710..57fe7bc635ed 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@@ -72,7 +72,16 @@ set(COMPILER_RT_BAREMETAL_BUILD OFF CACHE BOOL 26@@ -74,7 +74,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/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0005-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
index 4e1120a..a22c6dd 100644
--- a/recipes-devtools/clang/clang/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ b/recipes-devtools/clang/clang/0005-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -1,4 +1,4 @@
1From 4afcffd0c4b3317b5b5e08e3372b2923ab471e4b Mon Sep 17 00:00:00 2001 1From 91de17d8a3b8efa9758c7f393ae8647eb159657f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 21 May 2016 00:33:20 +0000 3Date: Sat, 21 May 2016 00:33:20 +0000
4Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are 4Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are
diff --git a/recipes-devtools/clang/clang/0007-llvm-allow-env-override-of-exe-path.patch b/recipes-devtools/clang/clang/0006-llvm-allow-env-override-of-exe-path.patch
index 4df2d62..2901045 100644
--- a/recipes-devtools/clang/clang/0007-llvm-allow-env-override-of-exe-path.patch
+++ b/recipes-devtools/clang/clang/0006-llvm-allow-env-override-of-exe-path.patch
@@ -1,4 +1,4 @@
1From 4ed6b8848edbe1c453ce0d23d33551ff023f4fb2 Mon Sep 17 00:00:00 2001 1From b1c948df03ae8784f0078b9a23d78dff5cdb7175 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
diff --git a/recipes-devtools/clang/clang/0008-clang-driver-Check-sysroot-for-ldso-path.patch b/recipes-devtools/clang/clang/0007-clang-driver-Check-sysroot-for-ldso-path.patch
index ea28de0..ba1466e 100644
--- a/recipes-devtools/clang/clang/0008-clang-driver-Check-sysroot-for-ldso-path.patch
+++ b/recipes-devtools/clang/clang/0007-clang-driver-Check-sysroot-for-ldso-path.patch
@@ -1,4 +1,4 @@
1From 15008103e23b5e1cd65bcc32746aa41579583dc5 Mon Sep 17 00:00:00 2001 1From 3a53f9b0fba8586c531db93fee524a4e4ca2017c 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 9663a7390ada..06b92cc0bf5b 100644 17index e855d337ae64..95d88e0c6d79 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@@ -507,11 +507,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 20@@ -479,11 +479,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 9663a7390ada..06b92cc0bf5b 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@@ -533,6 +541,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 40@@ -505,6 +513,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 9663a7390ada..06b92cc0bf5b 100644
48 break; 48 break;
49 case llvm::Triple::systemz: 49 case llvm::Triple::systemz:
50 LibDir = "lib"; 50 LibDir = "lib";
51@@ -547,6 +559,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 51@@ -519,6 +531,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/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch b/recipes-devtools/clang/clang/0008-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
index a0d116b..3a7da76 100644
--- a/recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
+++ b/recipes-devtools/clang/clang/0008-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
@@ -1,4 +1,4 @@
1From 1b2f69bc1938d4d65dd88c2e43e1bd160312d074 Mon Sep 17 00:00:00 2001 1From f4aa83e324b98622e1174d00d51852289ae1349d 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 1d8a3cdce92a..195a302c8771 100644 16index a27841dc5985..e0be5e43a10b 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@@ -628,6 +628,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, 19@@ -630,6 +630,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/0010-clang-musl-ppc-does-not-support-128-bit-long-double.patch b/recipes-devtools/clang/clang/0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch
index 8c2ddeb..3040407 100644
--- a/recipes-devtools/clang/clang/0010-clang-musl-ppc-does-not-support-128-bit-long-double.patch
+++ b/recipes-devtools/clang/clang/0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch
@@ -1,4 +1,4 @@
1From 7ab52935bc6bd89529a2478af1ea2cdf192eb0d9 Mon Sep 17 00:00:00 2001 1From 081f27d53afe592fb8d7b3c4e8a0e2e8be4ee439 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 56c8f33ef221..b7e7edf270be 100644 12index 554f2174fee0..18bcfd173ede 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@@ -386,6 +386,10 @@ public: 15@@ -389,6 +389,10 @@ public:
16 LongDoubleFormat = &llvm::APFloat::IEEEdouble(); 16 LongDoubleFormat = &llvm::APFloat::IEEEdouble();
17 } 17 }
18 18
diff --git a/recipes-devtools/clang/clang/0011-clang-Prepend-trailing-to-sysroot.patch b/recipes-devtools/clang/clang/0010-clang-Prepend-trailing-to-sysroot.patch
index 88d1868..45ec740 100644
--- a/recipes-devtools/clang/clang/0011-clang-Prepend-trailing-to-sysroot.patch
+++ b/recipes-devtools/clang/clang/0010-clang-Prepend-trailing-to-sysroot.patch
@@ -1,4 +1,4 @@
1From af7639bf4db497300060a22f2cc94b37145b8db5 Mon Sep 17 00:00:00 2001 1From bf9255d8abec8f8589e8700fff96dace5c986ad5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 09:02:13 -0700 3Date: Thu, 16 Mar 2017 09:02:13 -0700
4Subject: [PATCH] clang: Prepend trailing '/' to sysroot 4Subject: [PATCH] clang: Prepend trailing '/' to sysroot
@@ -24,10 +24,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
24 1 file changed, 1 insertion(+), 1 deletion(-) 24 1 file changed, 1 insertion(+), 1 deletion(-)
25 25
26diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 26diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
27index 06b92cc0bf5b..726308413dc9 100644 27index 95d88e0c6d79..d2ccbe635208 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@@ -218,7 +218,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) 30@@ -182,7 +182,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
31 Multilibs = GCCInstallation.getMultilibs(); 31 Multilibs = GCCInstallation.getMultilibs();
32 SelectedMultilib = GCCInstallation.getMultilib(); 32 SelectedMultilib = GCCInstallation.getMultilib();
33 llvm::Triple::ArchType Arch = Triple.getArch(); 33 llvm::Triple::ArchType Arch = Triple.getArch();
diff --git a/recipes-devtools/clang/clang/0012-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/recipes-devtools/clang/clang/0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
index 1e9d395..bde7bf1 100644
--- a/recipes-devtools/clang/clang/0012-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
+++ b/recipes-devtools/clang/clang/0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
@@ -1,4 +1,4 @@
1From f946307a70619c45919ac06fa37c267fd25c3ec8 Mon Sep 17 00:00:00 2001 1From 322063cbeb3de0719183b38ec3aab5334de28641 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 19:06:26 -0700 3Date: Thu, 16 Mar 2017 19:06:26 -0700
4Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime 4Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 1 file changed, 5 insertions(+), 1 deletion(-) 15 1 file changed, 5 insertions(+), 1 deletion(-)
16 16
17diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp 17diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
18index b2ddef141a75..784a946b453f 100644 18index 3342de85fc30..671d308e2efc 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@@ -14,6 +14,7 @@ 21@@ -14,6 +14,7 @@
@@ -26,7 +26,7 @@ index b2ddef141a75..784a946b453f 100644
26 #include "clang/Config/config.h" 26 #include "clang/Config/config.h"
27 #include "clang/Driver/Action.h" 27 #include "clang/Driver/Action.h"
28 #include "clang/Driver/Driver.h" 28 #include "clang/Driver/Driver.h"
29@@ -404,7 +405,10 @@ StringRef ToolChain::getOSLibName() const { 29@@ -407,7 +408,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/0013-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0012-clang-Define-releative-gcc-installation-dir.patch
index 1b07e5a..1acce6c 100644
--- a/recipes-devtools/clang/clang/0013-clang-Define-releative-gcc-installation-dir.patch
+++ b/recipes-devtools/clang/clang/0012-clang-Define-releative-gcc-installation-dir.patch
@@ -1,6 +1,6 @@
1From 9c61a33cec25c8f2e0a90d5109808131d2e51c2d Mon Sep 17 00:00:00 2001 1From 017ff83dee2dce1a0940abdab1e32780cb86bc30 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 21 May 2017 15:38:25 -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
5 5
6This is required for OE gcc installation to work. 6This is required for OE gcc installation to work.
@@ -10,14 +10,14 @@ installation in OE
10 10
11Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12--- 12---
13 clang/lib/Driver/ToolChains/Gnu.cpp | 12 ++++++------ 13 clang/lib/Driver/ToolChains/Gnu.cpp | 14 +++++++-------
14 1 file changed, 6 insertions(+), 6 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 195a302c8771..05d1d3003881 100644 17index e0be5e43a10b..19c13afe048d 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@@ -2514,12 +2514,6 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 20@@ -2529,19 +2529,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[] = {
@@ -30,16 +30,17 @@ index 195a302c8771..05d1d3003881 100644
30 // The Freescale PPC SDK has the gcc libraries in 30 // The Freescale PPC SDK has the gcc libraries in
31 // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well. Only do 31 // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well. Only do
32 // this on Freescale triples, though, since some systems put a *lot* of 32 // this on Freescale triples, though, since some systems put a *lot* of
33@@ -2528,6 +2522,12 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 33 // files in that location, not just GCC installation data.
34 {CandidateTriple.str(), "..",
34 TargetTriple.getVendor() == llvm::Triple::Freescale || 35 TargetTriple.getVendor() == llvm::Triple::Freescale ||
35 TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}, 36- TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}};
36 37+ TargetTriple.getVendor() == llvm::Triple::OpenEmbedded},
38+
37+ // This is the normal place. 39+ // This is the normal place.
38+ {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists}, 40+ {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists},
39+ 41+
40+ // Debian puts cross-compilers in gcc-cross. 42+ // Debian puts cross-compilers in gcc-cross.
41+ {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists}, 43+ {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists}};
42+ 44
43 // Natively multiarch systems sometimes put the GCC triple-specific 45 for (auto &Suffix : Suffixes) {
44 // directory within their multiarch lib directory, resulting in the 46 if (!Suffix.Active)
45 // triple appearing twice.
diff --git a/recipes-devtools/clang/clang/0016-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch b/recipes-devtools/clang/clang/0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
index a785bda..3584d70 100644
--- a/recipes-devtools/clang/clang/0016-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
+++ b/recipes-devtools/clang/clang/0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
@@ -1,4 +1,4 @@
1From c309e121d6aca050119084e3e98371cd8e44ecca Mon Sep 17 00:00:00 2001 1From b40a8752cea684e392a25f45028493711352e1e2 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
@@ -16,25 +16,23 @@ therefore we need to link in libpthread and libdl to fill these symbols
16 16
17Signed-off-by: Khem Raj <raj.khem@gmail.com> 17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18--- 18---
19 clang/lib/Driver/ToolChains/CommonArgs.cpp | 7 ++++++- 19 clang/lib/Driver/ToolChains/CommonArgs.cpp | 5 ++++-
20 1 file changed, 6 insertions(+), 1 deletion(-) 20 1 file changed, 4 insertions(+), 1 deletion(-)
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 bcaea71dca94..95b806e29ef2 100644 23index b74a9fe3eb92..4c7a2ec15a2e 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@@ -1423,8 +1423,13 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, 26@@ -1444,8 +1444,11 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D,
27 // Let the linker choose between libunwind.dll.a and libunwind.a
28 // depending on what's available, and depending on the -static flag
29 CmdArgs.push_back("-lunwind");
30- } else
31+ } else {
32 CmdArgs.push_back("-l:libunwind.so");
33+ if (Args.hasArg(options::OPT_static)) {
34+ CmdArgs.push_back("-lpthread");
35+ CmdArgs.push_back("-ldl");
36+ }
37+ }
38 break; 27 break;
39 } 28 }
40 29 case ToolChain::UNW_CompilerRT:
30- if (LGT == LibGccType::StaticLibGcc)
31+ if (LGT == LibGccType::StaticLibGcc) {
32 CmdArgs.push_back("-l:libunwind.a");
33+ CmdArgs.push_back("-lpthread");
34+ CmdArgs.push_back("-ldl");
35+ }
36 else if (TC.getTriple().isOSCygMing()) {
37 if (LGT == LibGccType::SharedLibGcc)
38 CmdArgs.push_back("-l:libunwind.dll.a");
diff --git a/recipes-devtools/clang/clang/0017-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/recipes-devtools/clang/clang/0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
index 3f2e16b..3b37371 100644
--- a/recipes-devtools/clang/clang/0017-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
+++ b/recipes-devtools/clang/clang/0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
@@ -1,4 +1,4 @@
1From 00449fb89e8ab3b34f03d3a09a4d859e5d0a8245 Mon Sep 17 00:00:00 2001 1From 6cdc2ea0f1d738e8fd03c6f5d29bc1a22d46aeac 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
diff --git a/recipes-devtools/clang/clang/0014-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch b/recipes-devtools/clang/clang/0014-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch
deleted file mode 100644
index 67cc8de..0000000
--- a/recipes-devtools/clang/clang/0014-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 3166a3b59f406de57f04a0b6fd0f3f1eabfaaa37 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 16 Aug 2017 15:16:15 -0700
4Subject: [PATCH] clang: Fix ldso for musl on x86 and x32 architectures
5
6x32 linker is called ld-musl-x32.so.1 and x86 linker
7is called ld-musl-i386.so.1, Currently, linker for
8x86 is returned as ld-musl-i586.so.1, when default
9arch is i586, which is not the right thing
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 clang/lib/Driver/ToolChains/Linux.cpp | 8 ++++++++
14 1 file changed, 8 insertions(+)
15
16diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
17index 726308413dc9..b64396647882 100644
18--- a/clang/lib/Driver/ToolChains/Linux.cpp
19+++ b/clang/lib/Driver/ToolChains/Linux.cpp
20@@ -426,6 +426,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
21 if (Triple.isMusl()) {
22 std::string ArchName;
23 bool IsArm = false;
24+ bool isX32 = false;
25
26 switch (Arch) {
27 case llvm::Triple::arm:
28@@ -438,6 +439,13 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
29 ArchName = "armeb";
30 IsArm = true;
31 break;
32+ case llvm::Triple::x86:
33+ ArchName = "i386";
34+ break;
35+ case llvm::Triple::x86_64:
36+ isX32 = Triple.getEnvironment() == llvm::Triple::GNUX32;
37+ ArchName = isX32 ? "x32" : Triple.getArchName().str();
38+ break;
39 default:
40 ArchName = Triple.getArchName().str();
41 }
diff --git a/recipes-devtools/clang/clang/0018-Check-for-atomic-double-intrinsics.patch b/recipes-devtools/clang/clang/0015-Check-for-atomic-double-intrinsics.patch
index 800b58e..baa2fa4 100644
--- a/recipes-devtools/clang/clang/0018-Check-for-atomic-double-intrinsics.patch
+++ b/recipes-devtools/clang/clang/0015-Check-for-atomic-double-intrinsics.patch
@@ -1,4 +1,4 @@
1From 761be2d8d20d9ebe93fa33719bdd0d25396d812d Mon Sep 17 00:00:00 2001 1From 1a89fa157e92e70a9ca33fecd12fd12743c32b0b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 18 Nov 2019 17:00:29 -0800 3Date: Mon, 18 Nov 2019 17:00:29 -0800
4Subject: [PATCH] Check for atomic<double> intrinsics 4Subject: [PATCH] Check for atomic<double> intrinsics
diff --git a/recipes-devtools/clang/clang/0015-clang-scan-view-needs-python-2.x.patch b/recipes-devtools/clang/clang/0015-clang-scan-view-needs-python-2.x.patch
deleted file mode 100644
index 46b6995..0000000
--- a/recipes-devtools/clang/clang/0015-clang-scan-view-needs-python-2.x.patch
+++ /dev/null
@@ -1,24 +0,0 @@
1From bd42395fa181d5821f0d756d12c534f2cda525c0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 15 May 2018 10:28:43 -0700
4Subject: [PATCH] clang: scan-view needs python 2.x
5
6Some distributions e.g. archlinux have switched to pointing
7python to python3, therefore its better to be specific about
8python version needed.
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 clang/tools/scan-view/bin/scan-view | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view
16index 6165432e7af8..04ad518a60cd 100755
17--- a/clang/tools/scan-view/bin/scan-view
18+++ b/clang/tools/scan-view/bin/scan-view
19@@ -1,4 +1,4 @@
20-#!/usr/bin/env python
21+#!/usr/bin/env python2
22
23 from __future__ import print_function
24
diff --git a/recipes-devtools/clang/clang/0019-clang-Enable-SSP-and-PIE-by-default.patch b/recipes-devtools/clang/clang/0016-clang-Enable-SSP-and-PIE-by-default.patch
index 164503f..1b554df 100644
--- a/recipes-devtools/clang/clang/0019-clang-Enable-SSP-and-PIE-by-default.patch
+++ b/recipes-devtools/clang/clang/0016-clang-Enable-SSP-and-PIE-by-default.patch
@@ -1,4 +1,4 @@
1From d0f788c1fb3d00350c51e88302ecbcf3506e4b53 Mon Sep 17 00:00:00 2001 1From f44a8afe89238ba008d3452c295868aea221ba4b Mon Sep 17 00:00:00 2001
2From: Evangelos Foutras <evangelos@foutrelis.com> 2From: Evangelos Foutras <evangelos@foutrelis.com>
3Date: Thu, 26 Dec 2019 15:46:19 -0800 3Date: Thu, 26 Dec 2019 15:46:19 -0800
4Subject: [PATCH] clang: Enable SSP and PIE by default 4Subject: [PATCH] clang: Enable SSP and PIE by default
@@ -37,10 +37,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
37 13 files changed, 42 insertions(+), 30 deletions(-) 37 13 files changed, 42 insertions(+), 30 deletions(-)
38 38
39diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 39diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
40index b64396647882..604024bb3df4 100644 40index d2ccbe635208..5bd2e5061f3c 100644
41--- a/clang/lib/Driver/ToolChains/Linux.cpp 41--- a/clang/lib/Driver/ToolChains/Linux.cpp
42+++ b/clang/lib/Driver/ToolChains/Linux.cpp 42+++ b/clang/lib/Driver/ToolChains/Linux.cpp
43@@ -856,8 +856,14 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs, 43@@ -671,8 +671,14 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
44 } 44 }
45 45
46 bool Linux::isPIEDefault() const { 46 bool Linux::isPIEDefault() const {
@@ -56,12 +56,12 @@ index b64396647882..604024bb3df4 100644
56+ return true; 56+ return true;
57 } 57 }
58 58
59 bool Linux::isNoExecStackDefault() const { 59 bool Linux::IsAArch64OutlineAtomicsDefault(const ArgList &Args) const {
60diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h 60diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h
61index 6b16b0e64990..582d4bef81df 100644 61index 169a37c44072..b3544a0c7681 100644
62--- a/clang/lib/Driver/ToolChains/Linux.h 62--- a/clang/lib/Driver/ToolChains/Linux.h
63+++ b/clang/lib/Driver/ToolChains/Linux.h 63+++ b/clang/lib/Driver/ToolChains/Linux.h
64@@ -39,6 +39,10 @@ public: 64@@ -46,6 +46,10 @@ public:
65 bool isPIEDefault() const override; 65 bool isPIEDefault() const override;
66 bool isNoExecStackDefault() const override; 66 bool isNoExecStackDefault() const override;
67 bool IsMathErrnoDefault() const override; 67 bool IsMathErrnoDefault() const override;
@@ -73,68 +73,68 @@ index 6b16b0e64990..582d4bef81df 100644
73 void addProfileRTLibs(const llvm::opt::ArgList &Args, 73 void addProfileRTLibs(const llvm::opt::ArgList &Args,
74 llvm::opt::ArgStringList &CmdArgs) const override; 74 llvm::opt::ArgStringList &CmdArgs) const override;
75diff --git a/clang/test/Driver/cross-linux.c b/clang/test/Driver/cross-linux.c 75diff --git a/clang/test/Driver/cross-linux.c b/clang/test/Driver/cross-linux.c
76index 6c2dab260695..c28c5653e348 100644 76index 59f5a97d2d9d..8d0e9e724aa0 100644
77--- a/clang/test/Driver/cross-linux.c 77--- a/clang/test/Driver/cross-linux.c
78+++ b/clang/test/Driver/cross-linux.c 78+++ b/clang/test/Driver/cross-linux.c
79@@ -42,8 +42,8 @@ 79@@ -43,8 +43,8 @@
80 // CHECK-MULTI32-I386: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld" 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]]" 81 // CHECK-MULTI32-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
82 // CHECK-MULTI32-I386: "-m" "elf_i386" 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/4.6.0]]{{/|\\\\}}crtbegin.o" 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]]" 84-// CHECK-MULTI32-I386: "-L[[gcc_install]]"
85+// CHECK-MULTI32-I386: "crti.o" "crtbeginS.o" 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/4.6.0]]" 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" 87 // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib32"
88 // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib" 88 // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib"
89 // CHECK-MULTI32-I386: "-L[[sysroot]]/lib" 89 // CHECK-MULTI32-I386: "-L[[sysroot]]/lib"
90@@ -60,8 +60,8 @@ 90@@ -61,8 +61,8 @@
91 // CHECK-MULTI32-X86-64: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld" 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]]" 92 // CHECK-MULTI32-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
93 // CHECK-MULTI32-X86-64: "-m" "elf_x86_64" 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/4.6.0]]/64{{/|\\\\}}crtbegin.o" 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" 95-// CHECK-MULTI32-X86-64: "-L[[gcc_install]]/64"
96+// CHECK-MULTI32-X86-64: "crti.o" "crtbeginS.o" 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/4.6.0]]/64" 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" 98 // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib64"
99 // CHECK-MULTI32-X86-64: "-L[[gcc_install]]"
100 // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib" 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 @@ 101@@ -79,8 +79,8 @@
102 // CHECK-MULTI64-I386: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld" 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]]" 103 // CHECK-MULTI64-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
104 // CHECK-MULTI64-I386: "-m" "elf_i386" 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/4.6.0]]/32{{/|\\\\}}crtbegin.o" 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" 106-// CHECK-MULTI64-I386: "-L[[gcc_install]]/32"
107+// CHECK-MULTI64-I386: "crti.o" "crtbeginS.o" 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/4.6.0]]/32" 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" 109 // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib/../lib32"
110 // CHECK-MULTI64-I386: "-L[[gcc_install]]"
111 // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib" 110 // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib"
112@@ -98,8 +98,8 @@ 111 // CHECK-MULTI64-I386: "-L[[sysroot]]/lib"
113 // CHECK-MULTI64-X86-64: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld" 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]]" 114 // CHECK-MULTI64-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
115 // CHECK-MULTI64-X86-64: "-m" "elf_x86_64" 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/4.6.0]]{{/|\\\\}}crtbegin.o" 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]]" 117-// CHECK-MULTI64-X86-64: "-L[[gcc_install]]"
118+// CHECK-MULTI64-X86-64: "crti.o" "crtbeginS.o" 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/4.6.0]]" 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" 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" 121 // CHECK-MULTI64-X86-64: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib"
122 // CHECK-MULTI64-X86-64: "-L[[sysroot]]/lib" 122 // CHECK-MULTI64-X86-64: "-L[[sysroot]]/lib"
123diff --git a/clang/test/Driver/env.c b/clang/test/Driver/env.c 123diff --git a/clang/test/Driver/env.c b/clang/test/Driver/env.c
124index 0371bc91c4a3..ea89f5251217 100644 124index e9b86cbcf428..47f304c0420d 100644
125--- a/clang/test/Driver/env.c 125--- a/clang/test/Driver/env.c
126+++ b/clang/test/Driver/env.c 126+++ b/clang/test/Driver/env.c
127@@ -20,7 +20,7 @@ 127@@ -22,7 +22,7 @@
128 // 128 //
129 // CHECK-LD-32-NOT: warning: 129 // CHECK-LD-32-NOT: warning:
130 // CHECK-LD-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 130 // CHECK-LD-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
131-// CHECK-LD-32: "{{.*}}/usr/lib/gcc/i386-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 131-// CHECK-LD-32: "{{.*}}/usr/lib/gcc/i386-unknown-linux/10.2.0{{/|\\\\}}crtbegin.o"
132+// CHECK-LD-32: "crtbeginS.o" 132+// CHECK-LD-32: "crtbeginS.o"
133 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0" 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/4.6.0/../../../../i386-unknown-linux/lib" 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]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../.." 135 // CHECK-LD-32: "-L[[SYSROOT]]/lib"
136diff --git a/clang/test/Driver/fsanitize.c b/clang/test/Driver/fsanitize.c 136diff --git a/clang/test/Driver/fsanitize.c b/clang/test/Driver/fsanitize.c
137index 8926d55a0cf4..40f628ccae45 100644 137index 7febfd02a1ad..1381d9018e32 100644
138--- a/clang/test/Driver/fsanitize.c 138--- a/clang/test/Driver/fsanitize.c
139+++ b/clang/test/Driver/fsanitize.c 139+++ b/clang/test/Driver/fsanitize.c
140@@ -330,15 +330,15 @@ 140@@ -330,15 +330,15 @@
@@ -157,7 +157,7 @@ index 8926d55a0cf4..40f628ccae45 100644
157 157
158 // CHECK-NO-PIE-NOT: "-pie" 158 // CHECK-NO-PIE-NOT: "-pie"
159 // CHECK-NO-PIE: "-mrelocation-model" "static" 159 // CHECK-NO-PIE: "-mrelocation-model" "static"
160@@ -667,12 +667,12 @@ 160@@ -673,12 +673,12 @@
161 // RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP 161 // RUN: %clang -fno-sanitize=safe-stack -### %s 2>&1 | FileCheck %s -check-prefix=NOSP
162 // NOSP-NOT: "-fsanitize=safe-stack" 162 // NOSP-NOT: "-fsanitize=safe-stack"
163 163
@@ -174,17 +174,18 @@ index 8926d55a0cf4..40f628ccae45 100644
174 // NO-SP-NOT: stack-protector 174 // NO-SP-NOT: stack-protector
175 // NO-SP: "-fsanitize=safe-stack" 175 // NO-SP: "-fsanitize=safe-stack"
176diff --git a/clang/test/Driver/gcc-toolchain.cpp b/clang/test/Driver/gcc-toolchain.cpp 176diff --git a/clang/test/Driver/gcc-toolchain.cpp b/clang/test/Driver/gcc-toolchain.cpp
177index 6c872f4255c3..f5006d1dd9ab 100644 177index 7cdba0841b8c..e2b3c6b04f08 100644
178--- a/clang/test/Driver/gcc-toolchain.cpp 178--- a/clang/test/Driver/gcc-toolchain.cpp
179+++ b/clang/test/Driver/gcc-toolchain.cpp 179+++ b/clang/test/Driver/gcc-toolchain.cpp
180@@ -26,6 +26,6 @@ 180@@ -23,7 +23,7 @@
181 // the same precise formatting of the path as the '-internal-system' flags 181 // the same precise formatting of the path as the '-internal-system' flags
182 // above, so we just blanket wildcard match the 'crtbegin.o'. 182 // above, so we just blanket wildcard match the 'crtbegin.o'.
183 // CHECK: "{{[^"]*}}ld{{(.exe)?}}" 183 // CHECK: "{{[^"]*}}ld{{(.exe)?}}"
184-// CHECK: "{{[^"]*}}/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 184-// CHECK-SAME: "{{[^"]*}}/usr/lib/gcc/x86_64-linux-gnu/4.8{{/|\\\\}}crtbegin.o"
185+// CHECK: "crtbeginS.o" 185+// CHECK-SAME: "crtbeginS.o"
186 // CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5" 186 // CHECK-SAME: "-L[[TOOLCHAIN]]/usr/lib/gcc/x86_64-linux-gnu/4.8"
187 // CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../.." 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
188diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c 189diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c
189index cc11f9fcba9e..1fe8b5db587b 100644 190index cc11f9fcba9e..1fe8b5db587b 100644
190--- a/clang/test/Driver/hexagon-toolchain-elf.c 191--- a/clang/test/Driver/hexagon-toolchain-elf.c
@@ -221,10 +222,11 @@ index 0959bd7ba0a1..4056a672b6f9 100644
221 // CHECK-SPARCV9PIC: as 222 // CHECK-SPARCV9PIC: as
222 // CHECK-SPARCV9PIC: -64 223 // CHECK-SPARCV9PIC: -64
223diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c 224diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c
224index 24d3c78643f8..9ea22e6e0f64 100644 225index cc505588331b..c7f81d2c5e49 100644
225--- a/clang/test/Driver/linux-ld.c 226--- a/clang/test/Driver/linux-ld.c
226+++ b/clang/test/Driver/linux-ld.c 227+++ b/clang/test/Driver/linux-ld.c
227@@ -1,3 +1,5 @@ 228@@ -1,4 +1,6 @@
229 // UNSUPPORTED: system-windows
228+// XFAIL: linux 230+// XFAIL: linux
229+ 231+
230 // General tests that ld invocations on Linux targets sane. Note that we use 232 // General tests that ld invocations on Linux targets sane. Note that we use
diff --git a/recipes-devtools/clang/clang/0020-libcxx-Add-compiler-runtime-library-to-link-step-for.patch b/recipes-devtools/clang/clang/0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
index 1500fc9..d5a4e5a 100644
--- a/recipes-devtools/clang/clang/0020-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
+++ b/recipes-devtools/clang/clang/0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
@@ -1,4 +1,4 @@
1From 5c0a4264ad87c880ade430022e0f128da86bbf6d Mon Sep 17 00:00:00 2001 1From 405d32adeeba5b003649c75c49db1194d9bd86ba Mon Sep 17 00:00:00 2001
2From: Jeremy Puhlman <jpuhlman@mvista.com> 2From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Thu, 16 Jan 2020 21:16:10 +0000 3Date: Thu, 16 Jan 2020 21:16:10 +0000
4Subject: [PATCH] libcxx: Add compiler runtime library to link step for libcxx 4Subject: [PATCH] libcxx: Add compiler runtime library to link step for libcxx
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 2 insertions(+), 2 deletions(-) 14 1 file changed, 2 insertions(+), 2 deletions(-)
15 15
16diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt 16diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
17index 9965104cb5b2..bee4d80bc67a 100644 17index 87b71f7ba334..412374e8820e 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@@ -177,7 +177,7 @@ split_list(LIBCXX_LINK_FLAGS) 20@@ -189,7 +189,7 @@ split_list(LIBCXX_LINK_FLAGS)
21 if (LIBCXX_ENABLE_SHARED) 21 if (LIBCXX_ENABLE_SHARED)
22 add_library(cxx_shared SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) 22 add_library(cxx_shared SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
23 target_link_libraries(cxx_shared PUBLIC cxx-headers 23 target_link_libraries(cxx_shared PUBLIC cxx-headers
@@ -26,12 +26,12 @@ index 9965104cb5b2..bee4d80bc67a 100644
26 set_target_properties(cxx_shared 26 set_target_properties(cxx_shared
27 PROPERTIES 27 PROPERTIES
28 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}" 28 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
29@@ -252,7 +252,7 @@ endif() 29@@ -266,7 +266,7 @@ set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
30 if (LIBCXX_ENABLE_STATIC) 30 if (LIBCXX_ENABLE_STATIC)
31 add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) 31 add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS})
32 target_link_libraries(cxx_static PUBLIC cxx-headers 32 target_link_libraries(cxx_static PUBLIC cxx-headers
33- PRIVATE ${LIBCXX_LIBRARIES}) 33- PRIVATE ${LIBCXX_LIBRARIES})
34+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)") 34+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)")
35 set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
36 set_target_properties(cxx_static 35 set_target_properties(cxx_static
37 PROPERTIES 36 PROPERTIES
37 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
diff --git a/recipes-devtools/clang/clang/0021-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch b/recipes-devtools/clang/clang/0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
index a9cd7a7..e687742 100644
--- a/recipes-devtools/clang/clang/0021-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
+++ b/recipes-devtools/clang/clang/0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
@@ -1,4 +1,4 @@
1From 12fe6e45d18add7da95fe637f9e21425330666f9 Mon Sep 17 00:00:00 2001 1From 863e525e1ee6621f198ee1602702263f803f3ecd 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
@@ -26,32 +26,24 @@ Upstream-Status: Innapropriate [oe-specific]
26 26
27Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> 27Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
28--- 28---
29 clang/cmake/modules/AddClang.cmake | 8 -------- 29 clang/cmake/modules/AddClang.cmake | 2 --
30 llvm/cmake/modules/AddLLVM.cmake | 18 ------------------ 30 llvm/cmake/modules/AddLLVM.cmake | 6 ------
31 llvm/cmake/modules/TableGen.cmake | 7 ------- 31 llvm/cmake/modules/TableGen.cmake | 7 -------
32 3 files changed, 33 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 704278a0e93b..6ea99c90772c 100644 35index 5752f4277444..f40ea35faf46 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@@ -161,15 +161,8 @@ macro(add_clang_tool name) 38@@ -158,7 +158,6 @@ macro(add_clang_tool name)
39 add_dependencies(${name} clang-resource-headers)
40
41 if (CLANG_BUILD_TOOLS) 39 if (CLANG_BUILD_TOOLS)
42- set(export_to_clangtargets) 40 get_target_export_arg(${name} Clang export_to_clangtargets)
43- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
44- NOT LLVM_DISTRIBUTION_COMPONENTS)
45- set(export_to_clangtargets EXPORT ClangTargets)
46- set_property(GLOBAL PROPERTY CLANG_HAS_EXPORTS True)
47- endif()
48
49 install(TARGETS ${name} 41 install(TARGETS ${name}
50- ${export_to_clangtargets} 42- ${export_to_clangtargets}
51 RUNTIME DESTINATION bin 43 RUNTIME DESTINATION bin
52 COMPONENT ${name}) 44 COMPONENT ${name})
53 45
54@@ -178,7 +171,6 @@ macro(add_clang_tool name) 46@@ -167,7 +166,6 @@ macro(add_clang_tool name)
55 DEPENDS ${name} 47 DEPENDS ${name}
56 COMPONENT ${name}) 48 COMPONENT ${name})
57 endif() 49 endif()
@@ -60,26 +52,18 @@ index 704278a0e93b..6ea99c90772c 100644
60 endmacro() 52 endmacro()
61 53
62diff --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
63index 97c9980c7de3..2cb2ead31ba0 100644 55index f3b27937fd8e..a48040a45275 100644
64--- a/llvm/cmake/modules/AddLLVM.cmake 56--- a/llvm/cmake/modules/AddLLVM.cmake
65+++ b/llvm/cmake/modules/AddLLVM.cmake 57+++ b/llvm/cmake/modules/AddLLVM.cmake
66@@ -1210,15 +1210,8 @@ macro(add_llvm_tool name) 58@@ -1209,7 +1209,6 @@ macro(add_llvm_tool name)
67
68 if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
69 if( LLVM_BUILD_TOOLS ) 59 if( LLVM_BUILD_TOOLS )
70- set(export_to_llvmexports) 60 get_target_export_arg(${name} LLVM export_to_llvmexports)
71- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
72- NOT LLVM_DISTRIBUTION_COMPONENTS)
73- set(export_to_llvmexports EXPORT LLVMExports)
74- set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
75- endif()
76
77 install(TARGETS ${name} 61 install(TARGETS ${name}
78- ${export_to_llvmexports} 62- ${export_to_llvmexports}
79 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR} 63 RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}
80 COMPONENT ${name}) 64 COMPONENT ${name})
81 65
82@@ -1229,9 +1222,6 @@ macro(add_llvm_tool name) 66@@ -1220,9 +1219,6 @@ macro(add_llvm_tool name)
83 endif() 67 endif()
84 endif() 68 endif()
85 endif() 69 endif()
@@ -89,23 +73,15 @@ index 97c9980c7de3..2cb2ead31ba0 100644
89 set_target_properties(${name} PROPERTIES FOLDER "Tools") 73 set_target_properties(${name} PROPERTIES FOLDER "Tools")
90 endmacro(add_llvm_tool name) 74 endmacro(add_llvm_tool name)
91 75
92@@ -1269,15 +1259,8 @@ macro(add_llvm_utility name) 76@@ -1262,7 +1258,6 @@ macro(add_llvm_utility name)
93 set_target_properties(${name} PROPERTIES FOLDER "Utils")
94 if ( ${name} IN_LIST LLVM_TOOLCHAIN_UTILITIES OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
95 if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) 77 if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
96- set(export_to_llvmexports) 78 get_target_export_arg(${name} LLVM export_to_llvmexports)
97- if (${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
98- NOT LLVM_DISTRIBUTION_COMPONENTS)
99- set(export_to_llvmexports EXPORT LLVMExports)
100- set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
101- endif()
102
103 install(TARGETS ${name} 79 install(TARGETS ${name}
104- ${export_to_llvmexports} 80- ${export_to_llvmexports}
105 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} 81 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR}
106 COMPONENT ${name}) 82 COMPONENT ${name})
107 83
108@@ -1286,7 +1269,6 @@ macro(add_llvm_utility name) 84@@ -1271,7 +1266,6 @@ macro(add_llvm_utility name)
109 DEPENDS ${name} 85 DEPENDS ${name}
110 COMPONENT ${name}) 86 COMPONENT ${name})
111 endif() 87 endif()
diff --git a/recipes-devtools/clang/clang/0022-clang-Fix-resource-dir-location-for-cross-toolchains.patch b/recipes-devtools/clang/clang/0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch
index da4e3fe..545cd1f 100644
--- a/recipes-devtools/clang/clang/0022-clang-Fix-resource-dir-location-for-cross-toolchains.patch
+++ b/recipes-devtools/clang/clang/0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch
@@ -1,4 +1,4 @@
1From 6ad331a0e464ee28eac7d0a1c658cd007e831297 Mon Sep 17 00:00:00 2001 1From e12f10a878d1ddb797204f07b4aee3ac52a10591 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 418e1d3e8ec9..44c9f6e59d3f 100644 22index 25af909d9bd2..87dd4a74c99c 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@@ -119,7 +119,13 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath, 25@@ -121,7 +121,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/0023-fix-path-to-libffi.patch b/recipes-devtools/clang/clang/0020-fix-path-to-libffi.patch
index e22c0bd..95b1c36 100644
--- a/recipes-devtools/clang/clang/0023-fix-path-to-libffi.patch
+++ b/recipes-devtools/clang/clang/0020-fix-path-to-libffi.patch
@@ -1,4 +1,4 @@
1From cbcfe7d13dfc5644c9b8a48e951b43bc15d9f4cf Mon Sep 17 00:00:00 2001 1From 0407ee030cf435da660461f3a3cc1c8c7909b8b8 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com> 2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Fri, 3 Apr 2020 15:10:37 +0800 3Date: Fri, 3 Apr 2020 15:10:37 +0800
4Subject: [PATCH] fix path to libffi 4Subject: [PATCH] fix path to libffi
diff --git a/recipes-devtools/clang/clang/0024-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/recipes-devtools/clang/clang/0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
index 521f06d..a36f117 100644
--- a/recipes-devtools/clang/clang/0024-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
+++ b/recipes-devtools/clang/clang/0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
@@ -1,4 +1,4 @@
1From 5f3d1b71c3e87017dfa471f1561f6c28f34a77f8 Mon Sep 17 00:00:00 2001 1From 673c58b89a0ca84a33aa760809c7cc6754928af4 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 604024bb3df4..812599cdaf84 100644 21index 5bd2e5061f3c..8a63dd8c0e60 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@@ -515,8 +515,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 24@@ -479,8 +479,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 604024bb3df4..812599cdaf84 100644
32 LibDir = "lib"; 32 LibDir = "lib";
33 } 33 }
34 break; 34 break;
35@@ -524,8 +524,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 35@@ -488,8 +488,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 604024bb3df4..812599cdaf84 100644
43 LibDir = "lib"; 43 LibDir = "lib";
44 } 44 }
45 break; 45 break;
46@@ -549,8 +549,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 46@@ -513,8 +513,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 604024bb3df4..812599cdaf84 100644
54 LibDir = "lib"; 54 LibDir = "lib";
55 } 55 }
56 break; 56 break;
57@@ -567,8 +567,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 57@@ -531,8 +531,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/0025-clang-Use-python3-in-python-scripts.patch b/recipes-devtools/clang/clang/0022-clang-Use-python3-in-python-scripts.patch
index defbc8d..8c204f0 100644
--- a/recipes-devtools/clang/clang/0025-clang-Use-python3-in-python-scripts.patch
+++ b/recipes-devtools/clang/clang/0022-clang-Use-python3-in-python-scripts.patch
@@ -1,4 +1,4 @@
1From fd3696213eed77e8c217be0ded0e220c0b597f1e Mon Sep 17 00:00:00 2001 1From 00cda4dc84261e3cae5d484d5b6bc0059880852f 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
@@ -14,11 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 clang-tools-extra/clang-tidy/rename_check.py | 2 +- 14 clang-tools-extra/clang-tidy/rename_check.py | 2 +-
15 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py | 2 +- 15 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py | 2 +-
16 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py | 2 +- 16 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py | 2 +-
17 clang/tools/clang-format/clang-format-diff.py | 2 +-
18 clang/tools/clang-format/git-clang-format | 2 +- 17 clang/tools/clang-format/git-clang-format | 2 +-
19 clang/tools/scan-view/bin/scan-view | 2 +- 18 clang/tools/scan-view/bin/scan-view | 2 +-
20 clang/utils/hmaptool/hmaptool | 2 +- 19 clang/utils/hmaptool/hmaptool | 2 +-
21 9 files changed, 9 insertions(+), 9 deletions(-) 20 8 files changed, 8 insertions(+), 8 deletions(-)
22 21
23diff --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 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
24index 8655af137bb2..e95ba59a421c 100755 23index 8655af137bb2..e95ba59a421c 100755
@@ -51,7 +50,7 @@ index 2410041fd5d2..976a02100cd6 100755
51 #===- rename_check.py - clang-tidy check renamer ------------*- python -*--===# 50 #===- rename_check.py - clang-tidy check renamer ------------*- python -*--===#
52 # 51 #
53diff --git a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py 52diff --git a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
54index 17086d15053e..a20b1f1f46b2 100755 53index 6bd05531333b..9e134123ef44 100755
55--- a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py 54--- a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
56+++ b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py 55+++ b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
57@@ -1,4 +1,4 @@ 56@@ -1,4 +1,4 @@
@@ -70,18 +69,8 @@ index 313ecd2f9571..a298e38b1a45 100755
70 # 69 #
71 #===- run-clang-tidy.py - Parallel clang-tidy runner --------*- python -*--===# 70 #===- run-clang-tidy.py - Parallel clang-tidy runner --------*- python -*--===#
72 # 71 #
73diff --git a/clang/tools/clang-format/clang-format-diff.py b/clang/tools/clang-format/clang-format-diff.py
74index 6e653a134289..1c31192a4562 100755
75--- a/clang/tools/clang-format/clang-format-diff.py
76+++ b/clang/tools/clang-format/clang-format-diff.py
77@@ -1,4 +1,4 @@
78-#!/usr/bin/env python
79+#!/usr/bin/env python3
80 #
81 #===- clang-format-diff.py - ClangFormat Diff Reformatter ----*- python -*--===#
82 #
83diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format 72diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format
84index ccd2f50fa4ad..cfcfb9fcbaef 100755 73index 3646b4ff41d7..a6a7393448c9 100755
85--- a/clang/tools/clang-format/git-clang-format 74--- a/clang/tools/clang-format/git-clang-format
86+++ b/clang/tools/clang-format/git-clang-format 75+++ b/clang/tools/clang-format/git-clang-format
87@@ -1,4 +1,4 @@ 76@@ -1,4 +1,4 @@
@@ -91,11 +80,11 @@ index ccd2f50fa4ad..cfcfb9fcbaef 100755
91 #===- git-clang-format - ClangFormat Git Integration ---------*- python -*--===# 80 #===- git-clang-format - ClangFormat Git Integration ---------*- python -*--===#
92 # 81 #
93diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view 82diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view
94index 04ad518a60cd..07effbca5969 100755 83index 6165432e7af8..07effbca5969 100755
95--- a/clang/tools/scan-view/bin/scan-view 84--- a/clang/tools/scan-view/bin/scan-view
96+++ b/clang/tools/scan-view/bin/scan-view 85+++ b/clang/tools/scan-view/bin/scan-view
97@@ -1,4 +1,4 @@ 86@@ -1,4 +1,4 @@
98-#!/usr/bin/env python2 87-#!/usr/bin/env python
99+#!/usr/bin/env python3 88+#!/usr/bin/env python3
100 89
101 from __future__ import print_function 90 from __future__ import print_function
diff --git a/recipes-devtools/clang/clang/0026-For-x86_64-set-Yocto-based-GCC-install-search-path.patch b/recipes-devtools/clang/clang/0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
index 801696e..5b23945 100644
--- a/recipes-devtools/clang/clang/0026-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
+++ b/recipes-devtools/clang/clang/0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
@@ -1,4 +1,4 @@
1From 13dedb0bbf780f7d66ddad8b1b33b3a1e0de2d25 Mon Sep 17 00:00:00 2001 1From 9601dddb6366e90725b364be6a21ddaa584557e2 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 05d1d3003881..33b1d7fb7061 100644 60index 19c13afe048d..458acb47a45d 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@@ -2109,6 +2109,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( 63@@ -2111,6 +2111,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", "x86_64-linux-android"};
69 static const char *const X32LibDirs[] = {"/libx32"}; 69 static const char *const X32Triples[] = {"x86_64-linux-gnux32",
70 static const char *const X86LibDirs[] = {"/lib32", "/lib"}; 70 "x86_64-pc-linux-gnux32"};
diff --git a/recipes-devtools/clang/clang/0027-compiler-rt-Include-stddef.h.patch b/recipes-devtools/clang/clang/0024-compiler-rt-Include-stddef.h.patch
index 3bd41ea..773911b 100644
--- a/recipes-devtools/clang/clang/0027-compiler-rt-Include-stddef.h.patch
+++ b/recipes-devtools/clang/clang/0024-compiler-rt-Include-stddef.h.patch
@@ -1,4 +1,4 @@
1From f5367ee64b6e74039c0957e1f7d81dc8d597804d Mon Sep 17 00:00:00 2001 1From 574ba321d2e58b8aa791b32a4bdbc3110e0978e0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 6 Feb 2021 12:44:30 -0800 3Date: Sat, 6 Feb 2021 12:44:30 -0800
4Subject: [PATCH] compiler-rt: Include stddef.h 4Subject: [PATCH] compiler-rt: Include stddef.h
@@ -14,14 +14,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 1 insertion(+) 14 1 file changed, 1 insertion(+)
15 15
16diff --git a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp 16diff --git a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
17index b87798603fda..34e11727d77b 100644 17index b87798603fda..d5b0a42fd3fb 100644
18--- a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp 18--- a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
19+++ b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp 19+++ b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp
20@@ -26,6 +26,7 @@ 20@@ -25,6 +25,7 @@
21 }
21 22
22 #include <cassert> 23 #include <cassert>
23 #include <cstdint>
24+#include <cstddef> // for size_t 24+#include <cstddef> // for size_t
25 #include <cstdint>
25 #include <dlfcn.h> // for dlsym() 26 #include <dlfcn.h> // for dlsym()
26 27
27 static void *getFuncAddr(const char *name, uintptr_t wrapper_addr) {
diff --git a/recipes-devtools/clang/clang/0028-llvm-Do-not-use-find_library-for-ncurses.patch b/recipes-devtools/clang/clang/0025-llvm-Do-not-use-find_library-for-ncurses.patch
index ef9b2ed..4c2d54c 100644
--- a/recipes-devtools/clang/clang/0028-llvm-Do-not-use-find_library-for-ncurses.patch
+++ b/recipes-devtools/clang/clang/0025-llvm-Do-not-use-find_library-for-ncurses.patch
@@ -1,4 +1,4 @@
1From 6660c7d48601df4276fb3f51156c96fff103fb79 Mon Sep 17 00:00:00 2001 1From 6db98ec43e4dab2d4638a97caa81e5ef4b3f7310 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 7 Feb 2021 23:58:41 -0800 3Date: Sun, 7 Feb 2021 23:58:41 -0800
4Subject: [PATCH] llvm: Do not use find_library for ncurses 4Subject: [PATCH] llvm: Do not use find_library for ncurses
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
17 2 files changed, 2 insertions(+), 2 deletions(-) 17 2 files changed, 2 insertions(+), 2 deletions(-)
18 18
19diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake 19diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
20index 196aa62fd01c..49bbbd257d97 100644 20index 0b5b81259492..d9e6fd1083d8 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@@ -140,7 +140,7 @@ else() 23@@ -140,7 +140,7 @@ else()
@@ -30,7 +30,7 @@ index 196aa62fd01c..49bbbd257d97 100644
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/config-ix.cmake b/llvm/cmake/config-ix.cmake
33index 818fafbce148..2f8ad6652334 100644 33index d4cbf37d19a2..a320cf97b306 100644
34--- a/llvm/cmake/config-ix.cmake 34--- a/llvm/cmake/config-ix.cmake
35+++ b/llvm/cmake/config-ix.cmake 35+++ b/llvm/cmake/config-ix.cmake
36@@ -175,7 +175,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") 36@@ -175,7 +175,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
diff --git a/recipes-devtools/clang/clang/0029-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch b/recipes-devtools/clang/clang/0026-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
index a9658b3..00daa04 100644
--- a/recipes-devtools/clang/clang/0029-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
+++ b/recipes-devtools/clang/clang/0026-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
@@ -1,4 +1,4 @@
1From 7bc8252aff944f2efeaad92c431b1f1c5cf606b1 Mon Sep 17 00:00:00 2001 1From 09a9c6735b682a4c622930cff3e0d549e9d638d2 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 4f483c965282..ffd20d223133 100644 21index 88311546354b..8b2745deae88 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@@ -489,7 +489,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { 24@@ -496,7 +496,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/0031-compiler-rt-Use-mcr-based-barrier-on-armv6.patch b/recipes-devtools/clang/clang/0027-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
index 1f3af25..f015308 100644
--- a/recipes-devtools/clang/clang/0031-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
+++ b/recipes-devtools/clang/clang/0027-compiler-rt-Use-mcr-based-barrier-on-armv6.patch
@@ -1,4 +1,4 @@
1From 4f45514fb8841a08d8d3bb68d9cb84b607e652f2 Mon Sep 17 00:00:00 2001 1From 16ee97fc3d678472f761e7ab8254ffef12ad6502 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 f6ce6a9fccff..5c6cd9376ac4 100644 54index 9c015059af5a..aec4ff59beb7 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@@ -181,6 +181,14 @@ 57@@ -183,6 +183,14 @@
58 JMP(ip) 58 JMP(ip)
59 #endif 59 #endif
60 60
diff --git a/recipes-devtools/clang/clang/0032-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch b/recipes-devtools/clang/clang/0028-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch
index a022a71..d52eb94 100644
--- a/recipes-devtools/clang/clang/0032-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch
+++ b/recipes-devtools/clang/clang/0028-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch
@@ -1,4 +1,4 @@
1From 1d07b3e71bf073da0a25b30efb135adaa876e3df Mon Sep 17 00:00:00 2001 1From 43733c59ee8fb7a4867f6f51fda1f449d6ce9013 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 15 Apr 2021 18:58:07 -0700 3Date: Thu, 15 Apr 2021 18:58:07 -0700
4Subject: [PATCH] clang: Switch defaults to dwarf-5 debug info on Linux 4Subject: [PATCH] clang: Switch defaults to dwarf-5 debug info on Linux
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 2 insertions(+) 14 1 file changed, 2 insertions(+)
15 15
16diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h 16diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h
17index 582d4bef81df..82c9494c744e 100644 17index b3544a0c7681..ae421580a017 100644
18--- a/clang/lib/Driver/ToolChains/Linux.h 18--- a/clang/lib/Driver/ToolChains/Linux.h
19+++ b/clang/lib/Driver/ToolChains/Linux.h 19+++ b/clang/lib/Driver/ToolChains/Linux.h
20@@ -58,6 +58,8 @@ public: 20@@ -65,6 +65,8 @@ public:
21 const llvm::opt::ArgList &DriverArgs, const JobAction &JA, 21 const llvm::opt::ArgList &DriverArgs, const JobAction &JA,
22 const llvm::fltSemantics *FPType = nullptr) const override; 22 const llvm::fltSemantics *FPType = nullptr) const override;
23 23
diff --git a/recipes-devtools/clang/clang/0030-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch b/recipes-devtools/clang/clang/0030-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch
deleted file mode 100644
index 8093de0..0000000
--- a/recipes-devtools/clang/clang/0030-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 4d51447a11ee6796594fd55718ea62575ecebc78 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 27 Nov 2020 10:11:08 +0000
4Subject: [PATCH] AsmMatcherEmitter: sort ClassInfo lists by name as well
5
6Otherwise, there are instances which are identical in
7every other field and therefore sort non-reproducibly
8(which breaks binary and source reproducibiliy).
9
10Upstream-Status: Pending
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 llvm/utils/TableGen/AsmMatcherEmitter.cpp | 5 ++++-
15 1 file changed, 4 insertions(+), 1 deletion(-)
16
17diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
18index 9d304910ba4e..d1b50b04fc71 100644
19--- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp
20+++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
21@@ -359,7 +359,10 @@ public:
22 // name of a class shouldn't be significant. However, some of the backends
23 // accidentally rely on this behaviour, so it will have to stay like this
24 // until they are fixed.
25- return ValueName < RHS.ValueName;
26+ if (ValueName != RHS.ValueName)
27+ return ValueName < RHS.ValueName;
28+ // All else being equal, we should sort by name, for source and binary reproducibility
29+ return Name < RHS.Name;
30 }
31 };
32
diff --git a/recipes-devtools/clang/clang/0034-CMake-Installable-find-modules-for-terminfo-and-libf.patch b/recipes-devtools/clang/clang/0034-CMake-Installable-find-modules-for-terminfo-and-libf.patch
index cefbf02..68b8e44 100644
--- a/recipes-devtools/clang/clang/0034-CMake-Installable-find-modules-for-terminfo-and-libf.patch
+++ b/recipes-devtools/clang/clang/0034-CMake-Installable-find-modules-for-terminfo-and-libf.patch
@@ -1,7 +1,7 @@
1From 9583baa3f6787236a2452937bbf962a2418f6423 Mon Sep 17 00:00:00 2001 1From 81360dd267eae6c34c4ab1000a1343b6488d84d5 Mon Sep 17 00:00:00 2001
2From: Jack Andersen <jackoalan@gmail.com> 2From: Jack Andersen <jackoalan@gmail.com>
3Date: Sun, 5 Dec 2021 14:45:33 -0500 3Date: Sun, 5 Dec 2021 14:45:33 -0500
4Subject: [PATCH] [CMake] Installable find modules for terminfo and libffi 4Subject: [PATCH] Installable find modules for terminfo and libffi
5 5
6Improves cross-distro portability of LLVM cmake package by resolving paths for 6Improves cross-distro portability of LLVM cmake package by resolving paths for
7terminfo and libffi via import targets. 7terminfo and libffi via import targets.
@@ -16,6 +16,7 @@ environment of the LLVM package importer.
16Reviewed By: JDevlieghere 16Reviewed By: JDevlieghere
17 17
18Differential Revision: https://reviews.llvm.org/D114327 18Differential Revision: https://reviews.llvm.org/D114327
19
19--- 20---
20 llvm/cmake/config-ix.cmake | 50 +++--------- 21 llvm/cmake/config-ix.cmake | 50 +++---------
21 llvm/cmake/modules/FindFFI.cmake | 81 +++++++++++++++++++ 22 llvm/cmake/modules/FindFFI.cmake | 81 +++++++++++++++++++
@@ -28,7 +29,7 @@ Differential Revision: https://reviews.llvm.org/D114327
28 create mode 100644 llvm/cmake/modules/FindTerminfo.cmake 29 create mode 100644 llvm/cmake/modules/FindTerminfo.cmake
29 30
30diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake 31diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake
31index 2f8ad6652334..ea0cd107a783 100644 32index a320cf97b306..21cadf1893c6 100644
32--- a/llvm/cmake/config-ix.cmake 33--- a/llvm/cmake/config-ix.cmake
33+++ b/llvm/cmake/config-ix.cmake 34+++ b/llvm/cmake/config-ix.cmake
34@@ -169,18 +169,13 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") 35@@ -169,18 +169,13 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
@@ -56,7 +57,7 @@ index 2f8ad6652334..ea0cd107a783 100644
56 endif() 57 endif()
57 else() 58 else()
58 set(LLVM_ENABLE_TERMINFO 0) 59 set(LLVM_ENABLE_TERMINFO 0)
59@@ -318,38 +313,19 @@ if (LLVM_ENABLE_DOXYGEN) 60@@ -325,38 +320,19 @@ if (LLVM_ENABLE_DOXYGEN)
60 llvm_find_program(dot) 61 llvm_find_program(dot)
61 endif () 62 endif ()
62 63
@@ -100,8 +101,8 @@ index 2f8ad6652334..ea0cd107a783 100644
100-endif( LLVM_ENABLE_FFI ) 101-endif( LLVM_ENABLE_FFI )
101+endif() 102+endif()
102 103
103 # Whether we can use std::is_trivially_copyable to verify llvm::is_trivially_copyable. 104 check_symbol_exists(proc_pid_rusage "libproc.h" HAVE_PROC_PID_RUSAGE)
104 CHECK_CXX_SOURCE_COMPILES(" 105
105diff --git a/llvm/cmake/modules/FindFFI.cmake b/llvm/cmake/modules/FindFFI.cmake 106diff --git a/llvm/cmake/modules/FindFFI.cmake b/llvm/cmake/modules/FindFFI.cmake
106new file mode 100644 107new file mode 100644
107index 000000000000..b0d859af8959 108index 000000000000..b0d859af8959
@@ -239,7 +240,7 @@ index 000000000000..65edb80fa69a
239+ endif() 240+ endif()
240+endif() 241+endif()
241diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in 242diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
242index ac053141b008..42c1ea819717 100644 243index a71bef19fd0c..5a2fea5be399 100644
243--- a/llvm/cmake/modules/LLVMConfig.cmake.in 244--- a/llvm/cmake/modules/LLVMConfig.cmake.in
244+++ b/llvm/cmake/modules/LLVMConfig.cmake.in 245+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
245@@ -2,6 +2,9 @@ 246@@ -2,6 +2,9 @@
@@ -294,7 +295,7 @@ index 9930e01559e9..14522ba2a1bf 100644
294+ target_link_libraries( LLVMInterpreter PRIVATE FFI::ffi ) 295+ target_link_libraries( LLVMInterpreter PRIVATE FFI::ffi )
295 endif() 296 endif()
296diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt 297diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt
297index cdee11412eb5..5909eeef056a 100644 298index 2242b0ec60ab..5cf80c1bb59d 100644
298--- a/llvm/lib/Support/CMakeLists.txt 299--- a/llvm/lib/Support/CMakeLists.txt
299+++ b/llvm/lib/Support/CMakeLists.txt 300+++ b/llvm/lib/Support/CMakeLists.txt
300@@ -24,7 +24,7 @@ elseif( CMAKE_HOST_UNIX ) 301@@ -24,7 +24,7 @@ elseif( CMAKE_HOST_UNIX )
@@ -306,7 +307,7 @@ index cdee11412eb5..5909eeef056a 100644
306 endif() 307 endif()
307 if( LLVM_ENABLE_THREADS AND (HAVE_LIBATOMIC OR HAVE_CXX_LIBATOMICS64) ) 308 if( LLVM_ENABLE_THREADS AND (HAVE_LIBATOMIC OR HAVE_CXX_LIBATOMICS64) )
308 set(system_libs ${system_libs} atomic) 309 set(system_libs ${system_libs} atomic)
309@@ -249,7 +249,10 @@ if(LLVM_ENABLE_ZLIB) 310@@ -256,7 +256,10 @@ if(LLVM_ENABLE_ZLIB)
310 endif() 311 endif()
311 312
312 if(LLVM_ENABLE_TERMINFO) 313 if(LLVM_ENABLE_TERMINFO)
diff --git a/recipes-devtools/clang/clang/0036-libc-LWG2993-reference_wrapper-T-conversion-from-U.patch b/recipes-devtools/clang/clang/0036-libc-LWG2993-reference_wrapper-T-conversion-from-U.patch
deleted file mode 100644
index aa9b2e7..0000000
--- a/recipes-devtools/clang/clang/0036-libc-LWG2993-reference_wrapper-T-conversion-from-U.patch
+++ /dev/null
@@ -1,379 +0,0 @@
1From eec04092d67b94f47439a9065b6bd4cd60165be2 Mon Sep 17 00:00:00 2001
2From: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
3Date: Sat, 5 Dec 2020 19:37:41 -0500
4Subject: [PATCH] [libc++] [LWG2993] reference_wrapper<T> conversion from U&&
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Implement the resolution of LWG2993. Replace a deleted constructor
10with a constructor that SFINAEs away in appropriate circumstances.
11Also, now that the constructor is templated, we must have an
12explicit deduction guide to make CTAD work.
13
14Some tests have been merged in from Agustín Bergé's D40259.
15
16Differential Revision: https://reviews.llvm.org/D92725
17
18Upstream-Status: Backport
19
20---
21 libcxx/docs/Cxx2aStatusIssuesStatus.csv | 2 +-
22 libcxx/include/__functional_base | 21 ++++-
23 libcxx/include/functional | 7 +-
24 .../refwrap.assign/copy_assign.pass.cpp | 20 +++++
25 .../refwrap/refwrap.const/deduct.pass.cpp | 31 +++++++
26 .../refwrap.const/type_conv_ctor.pass.cpp | 81 +++++++++++++++++++
27 .../refwrap.const/type_conv_ctor2.pass.cpp | 61 ++++++++++++++
28 .../refwrap/refwrap.const/type_ctor.pass.cpp | 17 ++++
29 8 files changed, 234 insertions(+), 6 deletions(-)
30 create mode 100644 libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp
31 create mode 100644 libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp
32 create mode 100644 libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp
33
34diff --git a/libcxx/docs/Cxx2aStatusIssuesStatus.csv b/libcxx/docs/Cxx2aStatusIssuesStatus.csv
35index d2adde69d9d2..b411f12d0ce3 100644
36--- a/libcxx/docs/Cxx2aStatusIssuesStatus.csv
37+++ b/libcxx/docs/Cxx2aStatusIssuesStatus.csv
38@@ -35,7 +35,7 @@
39 "`2981 <https://wg21.link/LWG2981>`__","Remove redundant deduction guides from standard library","Albuquerque","",""
40 "`2982 <https://wg21.link/LWG2982>`__","Making size_type consistent in associative container deduction guides","Albuquerque","",""
41 "`2988 <https://wg21.link/LWG2988>`__","Clause 32 cleanup missed one typename","Albuquerque","",""
42-"`2993 <https://wg21.link/LWG2993>`__","reference_wrapper<T> conversion from T&&","Albuquerque","",""
43+"`2993 <https://wg21.link/LWG2993>`__","reference_wrapper<T> conversion from T&&","Albuquerque","|Complete|","13.0"
44 "`2998 <https://wg21.link/LWG2998>`__","Requirements on function objects passed to {``forward_``,}list-specific algorithms","Albuquerque","|Nothing To Do|",""
45 "`3001 <https://wg21.link/LWG3001>`__","weak_ptr::element_type needs remove_extent_t","Albuquerque","",""
46 "`3024 <https://wg21.link/LWG3024>`__","variant's copies must be deleted instead of disabled via SFINAE","Albuquerque","|Complete|",""
47diff --git a/libcxx/include/__functional_base b/libcxx/include/__functional_base
48index 1c02e960d5f0..caa746036bf5 100644
49--- a/libcxx/include/__functional_base
50+++ b/libcxx/include/__functional_base
51@@ -380,13 +380,24 @@ public:
52 private:
53 type* __f_;
54
55+#ifndef _LIBCPP_CXX03_LANG
56+ static void __fun(_Tp&) _NOEXCEPT;
57+ static void __fun(_Tp&&) = delete;
58+#endif
59+
60 public:
61 // construct/copy/destroy
62- _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
63+#ifdef _LIBCPP_CXX03_LANG
64+ _LIBCPP_INLINE_VISIBILITY
65 reference_wrapper(type& __f) _NOEXCEPT
66 : __f_(_VSTD::addressof(__f)) {}
67-#ifndef _LIBCPP_CXX03_LANG
68- private: reference_wrapper(type&&); public: // = delete; // do not bind to temps
69+#else
70+ template <class _Up, class = _EnableIf<!__is_same_uncvref<_Up, reference_wrapper>::value, decltype(__fun(_VSTD::declval<_Up>())) >>
71+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
72+ reference_wrapper(_Up&& __u) _NOEXCEPT_(noexcept(__fun(_VSTD::declval<_Up>()))) {
73+ type& __f = static_cast<_Up&&>(__u);
74+ __f_ = _VSTD::addressof(__f);
75+ }
76 #endif
77
78 // access
79@@ -511,6 +522,10 @@ public:
80 #endif // _LIBCPP_CXX03_LANG
81 };
82
83+#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
84+template <class _Tp>
85+reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
86+#endif
87
88 template <class _Tp>
89 inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
90diff --git a/libcxx/include/functional b/libcxx/include/functional
91index 67baa5bd4b77..f8565e7e6e67 100644
92--- a/libcxx/include/functional
93+++ b/libcxx/include/functional
94@@ -42,8 +42,8 @@ public:
95 typedef see below result_type; // Not always defined
96
97 // construct/copy/destroy
98- reference_wrapper(T&) noexcept;
99- reference_wrapper(T&&) = delete; // do not bind to temps
100+ template<class U>
101+ reference_wrapper(U&&);
102 reference_wrapper(const reference_wrapper<T>& x) noexcept;
103
104 // assignment
105@@ -59,6 +59,9 @@ public:
106 operator() (ArgTypes&&...) const;
107 };
108
109+template <class T>
110+ reference_wrapper(T&) -> reference_wrapper<T>;
111+
112 template <class T> reference_wrapper<T> ref(T& t) noexcept;
113 template <class T> void ref(const T&& t) = delete;
114 template <class T> reference_wrapper<T> ref(reference_wrapper<T>t) noexcept;
115diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp
116index f82ee72de915..5058a7477581 100644
117--- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp
118+++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp
119@@ -21,6 +21,12 @@ class functor1
120 {
121 };
122
123+struct convertible_to_int_ref {
124+ int val = 0;
125+ operator int&() { return val; }
126+ operator int const&() const { return val; }
127+};
128+
129 template <class T>
130 void
131 test(T& t)
132@@ -56,5 +62,19 @@ int main(int, char**)
133 const int j = 0;
134 test(j);
135
136+#if TEST_STD_VER >= 11
137+ convertible_to_int_ref convi;
138+ test(convi);
139+ convertible_to_int_ref const convic;
140+ test(convic);
141+
142+ {
143+ using Ref = std::reference_wrapper<int>;
144+ static_assert((std::is_assignable<Ref&, int&>::value), "");
145+ static_assert((!std::is_assignable<Ref&, int>::value), "");
146+ static_assert((!std::is_assignable<Ref&, int&&>::value), "");
147+ }
148+#endif
149+
150 return 0;
151 }
152diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp
153new file mode 100644
154index 000000000000..4e197e8fc3f3
155--- /dev/null
156+++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp
157@@ -0,0 +1,31 @@
158+//===----------------------------------------------------------------------===//
159+//
160+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
161+// See https://llvm.org/LICENSE.txt for license information.
162+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
163+//
164+//===----------------------------------------------------------------------===//
165+
166+// UNSUPPORTED: c++03, c++11, c++14
167+// UNSUPPORTED: libcpp-no-deduction-guides
168+
169+// <functional>
170+
171+// template <class T>
172+// reference_wrapper(T&) -> reference_wrapper<T>;
173+
174+#include <functional>
175+
176+int main()
177+{
178+ int i = 0;
179+ std::reference_wrapper ri(i);
180+ static_assert(std::is_same_v<decltype(ri), std::reference_wrapper<int>>);
181+ std::reference_wrapper ri2(ri);
182+ static_assert(std::is_same_v<decltype(ri2), std::reference_wrapper<int>>);
183+ const int j = 0;
184+ std::reference_wrapper rj(j);
185+ static_assert(std::is_same_v<decltype(rj), std::reference_wrapper<const int>>);
186+ std::reference_wrapper rj2(rj);
187+ static_assert(std::is_same_v<decltype(rj2), std::reference_wrapper<const int>>);
188+}
189diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp
190new file mode 100644
191index 000000000000..d8ad18215fb7
192--- /dev/null
193+++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp
194@@ -0,0 +1,81 @@
195+//===----------------------------------------------------------------------===//
196+//
197+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
198+// See https://llvm.org/LICENSE.txt for license information.
199+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
200+//
201+//===----------------------------------------------------------------------===//
202+
203+// UNSUPPORTED: c++03
204+
205+// <functional>
206+//
207+// reference_wrapper
208+//
209+// template <class U>
210+// reference_wrapper(U&&) noexcept(see below);
211+
212+#include <functional>
213+#include <cassert>
214+
215+struct convertible_to_int_ref {
216+ int val = 0;
217+ operator int&() { return val; }
218+ operator int const&() const { return val; }
219+};
220+
221+template <bool IsNothrow>
222+struct nothrow_convertible {
223+ int val = 0;
224+ operator int&() noexcept(IsNothrow) { return val; }
225+};
226+
227+struct convertible_from_int {
228+ convertible_from_int(int) {}
229+};
230+
231+void meow(std::reference_wrapper<int>) {}
232+void meow(convertible_from_int) {}
233+
234+int gi;
235+std::reference_wrapper<int> purr() { return gi; };
236+
237+template <class T>
238+void
239+test(T& t)
240+{
241+ std::reference_wrapper<T> r(t);
242+ assert(&r.get() == &t);
243+}
244+
245+void f() {}
246+
247+int main()
248+{
249+ convertible_to_int_ref convi;
250+ test(convi);
251+ convertible_to_int_ref const convic;
252+ test(convic);
253+
254+ {
255+ using Ref = std::reference_wrapper<int>;
256+ static_assert((std::is_nothrow_constructible<Ref, nothrow_convertible<true>>::value), "");
257+ static_assert((!std::is_nothrow_constructible<Ref, nothrow_convertible<false>>::value), "");
258+ }
259+
260+ {
261+ meow(0);
262+ (true) ? purr() : 0;
263+ }
264+
265+#ifdef __cpp_deduction_guides
266+ {
267+ int i = 0;
268+ std::reference_wrapper ri(i);
269+ static_assert((std::is_same<decltype(ri), std::reference_wrapper<int>>::value), "" );
270+ const int j = 0;
271+ std::reference_wrapper rj(j);
272+ static_assert((std::is_same<decltype(rj), std::reference_wrapper<const int>>::value), "" );
273+ }
274+#endif
275+}
276diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp
277new file mode 100644
278index 000000000000..debdc12c8588
279--- /dev/null
280+++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp
281@@ -0,0 +1,61 @@
282+//===----------------------------------------------------------------------===//
283+//
284+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
285+// See https://llvm.org/LICENSE.txt for license information.
286+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
287+//
288+//===----------------------------------------------------------------------===//
289+
290+// UNSUPPORTED: c++03
291+
292+// <functional>
293+//
294+// reference_wrapper
295+//
296+// template <class U>
297+// reference_wrapper(U&&);
298+
299+#include <functional>
300+#include <cassert>
301+
302+struct B {} b;
303+
304+struct A1 {
305+ operator B& () const { return b; }
306+};
307+struct A2 {
308+ operator B& () const noexcept { return b; }
309+};
310+
311+int main()
312+{
313+ {
314+ std::reference_wrapper<B> b1 = A1();
315+ assert(&b1.get() == &b);
316+ b1 = A1();
317+ assert(&b1.get() == &b);
318+
319+ static_assert(std::is_convertible<A1, std::reference_wrapper<B>>::value, "");
320+ static_assert(!std::is_nothrow_constructible<std::reference_wrapper<B>, A1>::value, "");
321+#if TEST_STD_VER >= 20
322+ static_assert(!std::is_nothrow_convertible_v<A1, std::reference_wrapper<B>>);
323+#endif
324+ static_assert(std::is_assignable<std::reference_wrapper<B>, A1>::value, "");
325+ static_assert(!std::is_nothrow_assignable<std::reference_wrapper<B>, A1>::value, "");
326+ }
327+
328+ {
329+ std::reference_wrapper<B> b2 = A2();
330+ assert(&b2.get() == &b);
331+ b2 = A2();
332+ assert(&b2.get() == &b);
333+
334+ static_assert(std::is_convertible<A2, std::reference_wrapper<B>>::value, "");
335+ static_assert(std::is_nothrow_constructible<std::reference_wrapper<B>, A2>::value, "");
336+#if TEST_STD_VER >= 20
337+ static_assert(std::is_nothrow_convertible_v<A2, std::reference_wrapper<B>>);
338+#endif
339+ static_assert(std::is_assignable<std::reference_wrapper<B>, A2>::value, "");
340+ static_assert(std::is_nothrow_assignable<std::reference_wrapper<B>, A2>::value, "");
341+ }
342+}
343diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp
344index 4d536a20411d..af2273452612 100644
345--- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp
346+++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp
347@@ -14,6 +14,7 @@
348
349 #include <functional>
350 #include <cassert>
351+#include <type_traits>
352
353 #include "test_macros.h"
354
355@@ -43,5 +44,21 @@ int main(int, char**)
356 const int j = 0;
357 test(j);
358
359+ {
360+ using Ref = std::reference_wrapper<int>;
361+ static_assert((std::is_constructible<Ref, int&>::value), "");
362+ static_assert((!std::is_constructible<Ref, int>::value), "");
363+ static_assert((!std::is_constructible<Ref, int&&>::value), "");
364+ }
365+
366+#if TEST_STD_VER >= 11
367+ {
368+ using Ref = std::reference_wrapper<int>;
369+ static_assert((std::is_nothrow_constructible<Ref, int&>::value), "");
370+ static_assert((!std::is_nothrow_constructible<Ref, int>::value), "");
371+ static_assert((!std::is_nothrow_constructible<Ref, int&&>::value), "");
372+ }
373+#endif
374+
375 return 0;
376 }
377--
3782.34.1
379
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index b0c81f1..a7a9822 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -86,7 +86,7 @@ LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAM
86CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\ 86CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\
87LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\ 87LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\
88PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\ 88PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\
89LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT; \ 89LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;\
90CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\ 90CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\
91" 91"
92# 92#
@@ -134,7 +134,7 @@ EXTRA_OECMAKE_append_class-native = "\
134" 134"
135EXTRA_OECMAKE_append_class-nativesdk = "\ 135EXTRA_OECMAKE_append_class-nativesdk = "\
136 -DCMAKE_CROSSCOMPILING:BOOL=ON \ 136 -DCMAKE_CROSSCOMPILING:BOOL=ON \
137 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ 137 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
138 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ 138 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
139 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ 139 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
140 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 140 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
@@ -143,11 +143,13 @@ EXTRA_OECMAKE_append_class-nativesdk = "\
143 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 143 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
144 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \ 144 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
145 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ 145 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
146 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
146 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \ 147 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
147 -DPYTHON_EXECUTABLE='${PYTHON}' \ 148 -DPYTHON_EXECUTABLE='${PYTHON}' \
148" 149"
149EXTRA_OECMAKE_append_class-target = "\ 150EXTRA_OECMAKE_append_class-target = "\
150 -DCMAKE_CROSSCOMPILING:BOOL=ON \ 151 -DCMAKE_CROSSCOMPILING:BOOL=ON \
152 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR}' \
151 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 153 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
152 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 154 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
153 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \ 155 -DLLDB_TABLEGEN=${STAGING_BINDIR_NATIVE}/lldb-tblgen \
@@ -158,6 +160,7 @@ EXTRA_OECMAKE_append_class-target = "\
158 -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ 160 -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \
159 -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \ 161 -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \
160 -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \ 162 -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \
163 -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \
161 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ 164 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
162 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \ 165 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
163 -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ 166 -DLLVM_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc
index ed3c2c0..06a5ecb 100644
--- a/recipes-devtools/clang/common.inc
+++ b/recipes-devtools/clang/common.inc
@@ -13,37 +13,33 @@ SRC_URI = "\
13 file://0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \ 13 file://0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \
14 file://0003-compiler-rt-support-a-new-embedded-linux-target.patch \ 14 file://0003-compiler-rt-support-a-new-embedded-linux-target.patch \
15 file://0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \ 15 file://0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \
16 file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ 16 file://0005-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
17 file://0007-llvm-allow-env-override-of-exe-path.patch \ 17 file://0006-llvm-allow-env-override-of-exe-path.patch \
18 file://0008-clang-driver-Check-sysroot-for-ldso-path.patch \ 18 file://0007-clang-driver-Check-sysroot-for-ldso-path.patch \
19 file://0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \ 19 file://0008-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \
20 file://0010-clang-musl-ppc-does-not-support-128-bit-long-double.patch \ 20 file://0009-clang-musl-ppc-does-not-support-128-bit-long-double.patch \
21 file://0011-clang-Prepend-trailing-to-sysroot.patch \ 21 file://0010-clang-Prepend-trailing-to-sysroot.patch \
22 file://0012-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \ 22 file://0011-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \
23 file://0013-clang-Define-releative-gcc-installation-dir.patch \ 23 file://0012-clang-Define-releative-gcc-installation-dir.patch \
24 file://0014-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch \ 24 file://0013-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \
25 file://0015-clang-scan-view-needs-python-2.x.patch \ 25 file://0014-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \
26 file://0016-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \ 26 file://0015-Check-for-atomic-double-intrinsics.patch \
27 file://0017-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \ 27 file://0016-clang-Enable-SSP-and-PIE-by-default.patch \
28 file://0018-Check-for-atomic-double-intrinsics.patch \ 28 file://0017-libcxx-Add-compiler-runtime-library-to-link-step-for.patch \
29 file://0019-clang-Enable-SSP-and-PIE-by-default.patch \ 29 file://0018-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch \
30 file://0020-libcxx-Add-compiler-runtime-library-to-link-step-for.patch \ 30 file://0019-clang-Fix-resource-dir-location-for-cross-toolchains.patch \
31 file://0021-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch \ 31 file://0020-fix-path-to-libffi.patch \
32 file://0022-clang-Fix-resource-dir-location-for-cross-toolchains.patch \ 32 file://0021-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \
33 file://0023-fix-path-to-libffi.patch \ 33 file://0022-clang-Use-python3-in-python-scripts.patch \
34 file://0024-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ 34 file://0023-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \
35 file://0025-clang-Use-python3-in-python-scripts.patch \ 35 file://0024-compiler-rt-Include-stddef.h.patch \
36 file://0026-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \ 36 file://0025-llvm-Do-not-use-find_library-for-ncurses.patch \
37 file://0027-compiler-rt-Include-stddef.h.patch \ 37 file://0026-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \
38 file://0028-llvm-Do-not-use-find_library-for-ncurses.patch \ 38 file://0027-compiler-rt-Use-mcr-based-barrier-on-armv6.patch \
39 file://0029-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \ 39 file://0028-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch \
40 file://0030-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \
41 file://0031-compiler-rt-Use-mcr-based-barrier-on-armv6.patch \
42 file://0032-clang-Switch-defaults-to-dwarf-5-debug-info-on-Linux.patch \
43 file://0033-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch \ 40 file://0033-compiler-rt-Link-scudo-with-SANITIZER_CXX_ABI_LIBRAR.patch \
44 file://0034-CMake-Installable-find-modules-for-terminfo-and-libf.patch \ 41 file://0034-CMake-Installable-find-modules-for-terminfo-and-libf.patch \
45 file://0035-llvm-Do-not-use-standard-search-paths-in-find_librar.patch \ 42 file://0035-llvm-Do-not-use-standard-search-paths-in-find_librar.patch \
46 file://0036-libc-LWG2993-reference_wrapper-T-conversion-from-U.patch \
47" 43"
48# Fallback to no-PIE if not set 44# Fallback to no-PIE if not set
49GCCPIE ??= "" 45GCCPIE ??= ""