diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-05-14 17:17:32 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-09-08 09:08:54 -0700 |
commit | 85d96727f5532da645053ef913921dd9b1b18668 (patch) | |
tree | e335e2fa9a0d2c2996112f0bbb6f7bd19b3b8d3d | |
parent | bfae9575a018fbe0ec250acf71321eb870e3c124 (diff) | |
download | meta-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.
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 |
34 | CLANGSDK ??= "0" | 34 | CLANGSDK ??= "0" |
35 | 35 | ||
36 | LLVMVERSION = "12.0.0" | 36 | LLVMVERSION = "13.0.0" |
37 | 37 | ||
38 | require conf/nonclangable.conf | 38 | require conf/nonclangable.conf |
39 | require conf/nonscanable.conf | 39 | require 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}" | |||
4 | LLVM_GIT ?= "git://github.com/llvm" | 4 | LLVM_GIT ?= "git://github.com/llvm" |
5 | LLVM_GIT_PROTOCOL ?= "https" | 5 | LLVM_GIT_PROTOCOL ?= "https" |
6 | 6 | ||
7 | MAJOR_VER = "12" | 7 | MAJOR_VER = "13" |
8 | MINOR_VER = "0" | 8 | MINOR_VER = "0" |
9 | PATCH_VER = "0" | 9 | PATCH_VER = "0" |
10 | 10 | ||
11 | SRCREV ?= "fa0971b87fb2c9d14d1bba2551e61f02f18f329b" | 11 | SRCREV ?= "08d31ff4f45f795afb6648bc00257d60ff2f8204" |
12 | 12 | ||
13 | PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}" | 13 | PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}" |
14 | BRANCH = "release/${MAJOR_VER}.x" | 14 | BRANCH = "main" |
15 | 15 | ||
16 | LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" | 16 | LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" |
17 | CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" | 17 | CLANGMD5SUM = "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 @@ | |||
1 | From 42e6673563ca1d0e433e16c3eefa20b98e280ebd Mon Sep 17 00:00:00 2001 | 1 | From b737bad67076c8c5a3f19f0808f7b5e4da616a5b Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 22 May 2017 17:36:16 -0700 | 3 | Date: Mon, 22 May 2017 17:36:16 -0700 |
4 | Subject: [PATCH] lldb: Add -lxml2 to linker cmdline of xml is found | 4 | Subject: [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 | ||
25 | diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt | 25 | diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt |
26 | index 7456cb98bfa1..1a732ec5cb89 100644 | 26 | index 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 @@ | |||
1 | From da63df8f02b3a767b68d6de730bb63bba6c3ce33 Mon Sep 17 00:00:00 2001 | 1 | From 854f2bcd9770dd31641c89be6fa2603ac339d818 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sun, 27 Aug 2017 10:37:49 -0700 | 3 | Date: Sun, 27 Aug 2017 10:37:49 -0700 |
4 | Subject: [PATCH] libcxxabi: Find libunwind headers when | 4 | Subject: [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 | ||
19 | diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt | 19 | diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt |
20 | index 426c855288fc..06a62c642898 100644 | 20 | index 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 @@ | |||
1 | From cfeba7ac05c96abddfad1eeb827ba8d0c968ec94 Mon Sep 17 00:00:00 2001 | 1 | From c4fa88657785e8ca179e39c6ec819960fd95c0f9 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sun, 19 Apr 2015 15:16:23 -0700 | 3 | Date: Sun, 19 Apr 2015 15:16:23 -0700 |
4 | Subject: [PATCH] compiler-rt: support a new embedded linux target | 4 | Subject: [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 @@ | |||
1 | From 6c786d55d560abca076b7c1b718cdcb31ef5b388 Mon Sep 17 00:00:00 2001 | 1 | From 4b29b554ef9bfcbbcadd70f355df2f1eca55fade Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 19 May 2016 23:11:45 -0700 | 3 | Date: Thu, 19 May 2016 23:11:45 -0700 |
4 | Subject: [PATCH] compiler-rt: Simplify cross-compilation. Don't use | 4 | Subject: [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 | ||
22 | diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt | 22 | diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt |
23 | index b44ad2c2118e..ed8f4bd80e93 100644 | 23 | index 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 @@ | |||
1 | From 4afcffd0c4b3317b5b5e08e3372b2923ab471e4b Mon Sep 17 00:00:00 2001 | 1 | From 91de17d8a3b8efa9758c7f393ae8647eb159657f Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 21 May 2016 00:33:20 +0000 | 3 | Date: Sat, 21 May 2016 00:33:20 +0000 |
4 | Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are | 4 | Subject: [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 @@ | |||
1 | From 4ed6b8848edbe1c453ce0d23d33551ff023f4fb2 Mon Sep 17 00:00:00 2001 | 1 | From b1c948df03ae8784f0078b9a23d78dff5cdb7175 Mon Sep 17 00:00:00 2001 |
2 | From: Martin Kelly <mkelly@xevo.com> | 2 | From: Martin Kelly <mkelly@xevo.com> |
3 | Date: Fri, 19 May 2017 00:22:57 -0700 | 3 | Date: Fri, 19 May 2017 00:22:57 -0700 |
4 | Subject: [PATCH] llvm: allow env override of exe path | 4 | Subject: [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 @@ | |||
1 | From 15008103e23b5e1cd65bcc32746aa41579583dc5 Mon Sep 17 00:00:00 2001 | 1 | From 3a53f9b0fba8586c531db93fee524a4e4ca2017c Mon Sep 17 00:00:00 2001 |
2 | From: Dan McGregor <dan.mcgregor@usask.ca> | 2 | From: Dan McGregor <dan.mcgregor@usask.ca> |
3 | Date: Wed, 26 Apr 2017 20:29:41 -0600 | 3 | Date: Wed, 26 Apr 2017 20:29:41 -0600 |
4 | Subject: [PATCH] clang: driver: Check sysroot for ldso path | 4 | Subject: [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 | ||
16 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 16 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
17 | index 9663a7390ada..06b92cc0bf5b 100644 | 17 | index 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 @@ | |||
1 | From 1b2f69bc1938d4d65dd88c2e43e1bd160312d074 Mon Sep 17 00:00:00 2001 | 1 | From f4aa83e324b98622e1174d00d51852289ae1349d Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 19 May 2016 21:11:06 -0700 | 3 | Date: Thu, 19 May 2016 21:11:06 -0700 |
4 | Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl | 4 | Subject: [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 | ||
15 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 15 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
16 | index 1d8a3cdce92a..195a302c8771 100644 | 16 | index 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 @@ | |||
1 | From 7ab52935bc6bd89529a2478af1ea2cdf192eb0d9 Mon Sep 17 00:00:00 2001 | 1 | From 081f27d53afe592fb8d7b3c4e8a0e2e8be4ee439 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 10 May 2016 02:00:11 -0700 | 3 | Date: Tue, 10 May 2016 02:00:11 -0700 |
4 | Subject: [PATCH] clang: musl/ppc does not support 128-bit long double | 4 | Subject: [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 | ||
11 | diff --git a/clang/lib/Basic/Targets/PPC.h b/clang/lib/Basic/Targets/PPC.h | 11 | diff --git a/clang/lib/Basic/Targets/PPC.h b/clang/lib/Basic/Targets/PPC.h |
12 | index 56c8f33ef221..b7e7edf270be 100644 | 12 | index 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 @@ | |||
1 | From af7639bf4db497300060a22f2cc94b37145b8db5 Mon Sep 17 00:00:00 2001 | 1 | From bf9255d8abec8f8589e8700fff96dace5c986ad5 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 16 Mar 2017 09:02:13 -0700 | 3 | Date: Thu, 16 Mar 2017 09:02:13 -0700 |
4 | Subject: [PATCH] clang: Prepend trailing '/' to sysroot | 4 | Subject: [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 | ||
26 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 26 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
27 | index 06b92cc0bf5b..726308413dc9 100644 | 27 | index 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 @@ | |||
1 | From f946307a70619c45919ac06fa37c267fd25c3ec8 Mon Sep 17 00:00:00 2001 | 1 | From 322063cbeb3de0719183b38ec3aab5334de28641 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 16 Mar 2017 19:06:26 -0700 | 3 | Date: Thu, 16 Mar 2017 19:06:26 -0700 |
4 | Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime | 4 | Subject: [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 | ||
17 | diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp | 17 | diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp |
18 | index b2ddef141a75..784a946b453f 100644 | 18 | index 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 @@ | |||
1 | From 9c61a33cec25c8f2e0a90d5109808131d2e51c2d Mon Sep 17 00:00:00 2001 | 1 | From 017ff83dee2dce1a0940abdab1e32780cb86bc30 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sun, 21 May 2017 15:38:25 -0700 | 3 | Date: Sat, 20 Mar 2021 16:09:16 -0700 |
4 | Subject: [PATCH] clang: Define / releative gcc installation dir | 4 | Subject: [PATCH] clang: Define / releative gcc installation dir |
5 | 5 | ||
6 | This is required for OE gcc installation to work. | 6 | This is required for OE gcc installation to work. |
@@ -10,14 +10,14 @@ installation in OE | |||
10 | 10 | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 11 | Signed-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 | ||
16 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 16 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
17 | index 195a302c8771..05d1d3003881 100644 | 17 | index 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 @@ | |||
1 | From c309e121d6aca050119084e3e98371cd8e44ecca Mon Sep 17 00:00:00 2001 | 1 | From b40a8752cea684e392a25f45028493711352e1e2 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 31 Jul 2019 22:51:39 -0700 | 3 | Date: Wed, 31 Jul 2019 22:51:39 -0700 |
4 | Subject: [PATCH] clang: Add -lpthread and -ldl along with -lunwind for static | 4 | Subject: [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 | ||
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 17 | Signed-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 | ||
22 | diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp | 22 | diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp |
23 | index bcaea71dca94..95b806e29ef2 100644 | 23 | index 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 @@ | |||
1 | From 00449fb89e8ab3b34f03d3a09a4d859e5d0a8245 Mon Sep 17 00:00:00 2001 | 1 | From 6cdc2ea0f1d738e8fd03c6f5d29bc1a22d46aeac Mon Sep 17 00:00:00 2001 |
2 | From: Anuj Mittal <anuj.mittal@intel.com> | 2 | From: Anuj Mittal <anuj.mittal@intel.com> |
3 | Date: Thu, 26 Dec 2019 12:56:16 -0800 | 3 | Date: Thu, 26 Dec 2019 12:56:16 -0800 |
4 | Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build | 4 | Subject: [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 @@ | |||
1 | From 3166a3b59f406de57f04a0b6fd0f3f1eabfaaa37 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 16 Aug 2017 15:16:15 -0700 | ||
4 | Subject: [PATCH] clang: Fix ldso for musl on x86 and x32 architectures | ||
5 | |||
6 | x32 linker is called ld-musl-x32.so.1 and x86 linker | ||
7 | is called ld-musl-i386.so.1, Currently, linker for | ||
8 | x86 is returned as ld-musl-i586.so.1, when default | ||
9 | arch is i586, which is not the right thing | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | clang/lib/Driver/ToolChains/Linux.cpp | 8 ++++++++ | ||
14 | 1 file changed, 8 insertions(+) | ||
15 | |||
16 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | ||
17 | index 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 @@ | |||
1 | From 761be2d8d20d9ebe93fa33719bdd0d25396d812d Mon Sep 17 00:00:00 2001 | 1 | From 1a89fa157e92e70a9ca33fecd12fd12743c32b0b Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 18 Nov 2019 17:00:29 -0800 | 3 | Date: Mon, 18 Nov 2019 17:00:29 -0800 |
4 | Subject: [PATCH] Check for atomic<double> intrinsics | 4 | Subject: [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 @@ | |||
1 | From bd42395fa181d5821f0d756d12c534f2cda525c0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 15 May 2018 10:28:43 -0700 | ||
4 | Subject: [PATCH] clang: scan-view needs python 2.x | ||
5 | |||
6 | Some distributions e.g. archlinux have switched to pointing | ||
7 | python to python3, therefore its better to be specific about | ||
8 | python version needed. | ||
9 | |||
10 | Signed-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 | |||
15 | diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view | ||
16 | index 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 @@ | |||
1 | From d0f788c1fb3d00350c51e88302ecbcf3506e4b53 Mon Sep 17 00:00:00 2001 | 1 | From f44a8afe89238ba008d3452c295868aea221ba4b Mon Sep 17 00:00:00 2001 |
2 | From: Evangelos Foutras <evangelos@foutrelis.com> | 2 | From: Evangelos Foutras <evangelos@foutrelis.com> |
3 | Date: Thu, 26 Dec 2019 15:46:19 -0800 | 3 | Date: Thu, 26 Dec 2019 15:46:19 -0800 |
4 | Subject: [PATCH] clang: Enable SSP and PIE by default | 4 | Subject: [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 | ||
39 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 39 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
40 | index b64396647882..604024bb3df4 100644 | 40 | index 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 { |
60 | diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h | 60 | diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h |
61 | index 6b16b0e64990..582d4bef81df 100644 | 61 | index 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; |
75 | diff --git a/clang/test/Driver/cross-linux.c b/clang/test/Driver/cross-linux.c | 75 | diff --git a/clang/test/Driver/cross-linux.c b/clang/test/Driver/cross-linux.c |
76 | index 6c2dab260695..c28c5653e348 100644 | 76 | index 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" |
123 | diff --git a/clang/test/Driver/env.c b/clang/test/Driver/env.c | 123 | diff --git a/clang/test/Driver/env.c b/clang/test/Driver/env.c |
124 | index 0371bc91c4a3..ea89f5251217 100644 | 124 | index 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" |
136 | diff --git a/clang/test/Driver/fsanitize.c b/clang/test/Driver/fsanitize.c | 136 | diff --git a/clang/test/Driver/fsanitize.c b/clang/test/Driver/fsanitize.c |
137 | index 8926d55a0cf4..40f628ccae45 100644 | 137 | index 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" |
176 | diff --git a/clang/test/Driver/gcc-toolchain.cpp b/clang/test/Driver/gcc-toolchain.cpp | 176 | diff --git a/clang/test/Driver/gcc-toolchain.cpp b/clang/test/Driver/gcc-toolchain.cpp |
177 | index 6c872f4255c3..f5006d1dd9ab 100644 | 177 | index 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 | |||
188 | diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c | 189 | diff --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c |
189 | index cc11f9fcba9e..1fe8b5db587b 100644 | 190 | index 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 |
223 | diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c | 224 | diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c |
224 | index 24d3c78643f8..9ea22e6e0f64 100644 | 225 | index 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 @@ | |||
1 | From 5c0a4264ad87c880ade430022e0f128da86bbf6d Mon Sep 17 00:00:00 2001 | 1 | From 405d32adeeba5b003649c75c49db1194d9bd86ba Mon Sep 17 00:00:00 2001 |
2 | From: Jeremy Puhlman <jpuhlman@mvista.com> | 2 | From: Jeremy Puhlman <jpuhlman@mvista.com> |
3 | Date: Thu, 16 Jan 2020 21:16:10 +0000 | 3 | Date: Thu, 16 Jan 2020 21:16:10 +0000 |
4 | Subject: [PATCH] libcxx: Add compiler runtime library to link step for libcxx | 4 | Subject: [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 | ||
16 | diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt | 16 | diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt |
17 | index 9965104cb5b2..bee4d80bc67a 100644 | 17 | index 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 @@ | |||
1 | From 12fe6e45d18add7da95fe637f9e21425330666f9 Mon Sep 17 00:00:00 2001 | 1 | From 863e525e1ee6621f198ee1602702263f803f3ecd Mon Sep 17 00:00:00 2001 |
2 | From: Ovidiu Panait <ovidiu.panait@windriver.com> | 2 | From: Ovidiu Panait <ovidiu.panait@windriver.com> |
3 | Date: Fri, 31 Jan 2020 10:56:11 +0200 | 3 | Date: Fri, 31 Jan 2020 10:56:11 +0200 |
4 | Subject: [PATCH] clang,llvm: cmake: Fix configure for packages using | 4 | Subject: [PATCH] clang,llvm: cmake: Fix configure for packages using |
@@ -26,32 +26,24 @@ Upstream-Status: Innapropriate [oe-specific] | |||
26 | 26 | ||
27 | Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> | 27 | Signed-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 | ||
34 | diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake | 34 | diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake |
35 | index 704278a0e93b..6ea99c90772c 100644 | 35 | index 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 | ||
62 | diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake | 54 | diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake |
63 | index 97c9980c7de3..2cb2ead31ba0 100644 | 55 | index 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 @@ | |||
1 | From 6ad331a0e464ee28eac7d0a1c658cd007e831297 Mon Sep 17 00:00:00 2001 | 1 | From e12f10a878d1ddb797204f07b4aee3ac52a10591 Mon Sep 17 00:00:00 2001 |
2 | From: Jim Broadus <jbroadus@xevo.com> | 2 | From: Jim Broadus <jbroadus@xevo.com> |
3 | Date: Thu, 26 Mar 2020 16:05:53 -0700 | 3 | Date: Thu, 26 Mar 2020 16:05:53 -0700 |
4 | Subject: [PATCH] clang: Fix resource dir location for cross toolchains | 4 | Subject: [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 | ||
21 | diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp | 21 | diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp |
22 | index 418e1d3e8ec9..44c9f6e59d3f 100644 | 22 | index 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 @@ | |||
1 | From cbcfe7d13dfc5644c9b8a48e951b43bc15d9f4cf Mon Sep 17 00:00:00 2001 | 1 | From 0407ee030cf435da660461f3a3cc1c8c7909b8b8 Mon Sep 17 00:00:00 2001 |
2 | From: Anuj Mittal <anuj.mittal@intel.com> | 2 | From: Anuj Mittal <anuj.mittal@intel.com> |
3 | Date: Fri, 3 Apr 2020 15:10:37 +0800 | 3 | Date: Fri, 3 Apr 2020 15:10:37 +0800 |
4 | Subject: [PATCH] fix path to libffi | 4 | Subject: [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 @@ | |||
1 | From 5f3d1b71c3e87017dfa471f1561f6c28f34a77f8 Mon Sep 17 00:00:00 2001 | 1 | From 673c58b89a0ca84a33aa760809c7cc6754928af4 Mon Sep 17 00:00:00 2001 |
2 | From: Oleksandr Ocheretnyi <oocheret@cisco.com> | 2 | From: Oleksandr Ocheretnyi <oocheret@cisco.com> |
3 | Date: Wed, 15 Apr 2020 00:08:39 +0300 | 3 | Date: Wed, 15 Apr 2020 00:08:39 +0300 |
4 | Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso | 4 | Subject: [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 | ||
20 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 20 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
21 | index 604024bb3df4..812599cdaf84 100644 | 21 | index 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 @@ | |||
1 | From fd3696213eed77e8c217be0ded0e220c0b597f1e Mon Sep 17 00:00:00 2001 | 1 | From 00cda4dc84261e3cae5d484d5b6bc0059880852f Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 14 Oct 2020 22:19:57 -0700 | 3 | Date: Wed, 14 Oct 2020 22:19:57 -0700 |
4 | Subject: [PATCH] clang: Use python3 in python scripts | 4 | Subject: [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 | ||
23 | diff --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 | 22 | diff --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 |
24 | index 8655af137bb2..e95ba59a421c 100755 | 23 | index 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 | # |
53 | diff --git a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py | 52 | diff --git a/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py b/clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py |
54 | index 17086d15053e..a20b1f1f46b2 100755 | 53 | index 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 | # |
73 | diff --git a/clang/tools/clang-format/clang-format-diff.py b/clang/tools/clang-format/clang-format-diff.py | ||
74 | index 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 | # | ||
83 | diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format | 72 | diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format |
84 | index ccd2f50fa4ad..cfcfb9fcbaef 100755 | 73 | index 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 | # |
93 | diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view | 82 | diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view |
94 | index 04ad518a60cd..07effbca5969 100755 | 83 | index 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 @@ | |||
1 | From 13dedb0bbf780f7d66ddad8b1b33b3a1e0de2d25 Mon Sep 17 00:00:00 2001 | 1 | From 9601dddb6366e90725b364be6a21ddaa584557e2 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Mon, 25 Jan 2021 16:14:35 +0800 | 3 | Date: Mon, 25 Jan 2021 16:14:35 +0800 |
4 | Subject: [PATCH] For x86_64, set Yocto based GCC install search path | 4 | Subject: [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 | ||
59 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 59 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
60 | index 05d1d3003881..33b1d7fb7061 100644 | 60 | index 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 @@ | |||
1 | From f5367ee64b6e74039c0957e1f7d81dc8d597804d Mon Sep 17 00:00:00 2001 | 1 | From 574ba321d2e58b8aa791b32a4bdbc3110e0978e0 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 6 Feb 2021 12:44:30 -0800 | 3 | Date: Sat, 6 Feb 2021 12:44:30 -0800 |
4 | Subject: [PATCH] compiler-rt: Include stddef.h | 4 | Subject: [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 | ||
16 | diff --git a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp | 16 | diff --git a/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp b/compiler-rt/lib/fuzzer/FuzzerInterceptors.cpp |
17 | index b87798603fda..34e11727d77b 100644 | 17 | index 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 @@ | |||
1 | From 6660c7d48601df4276fb3f51156c96fff103fb79 Mon Sep 17 00:00:00 2001 | 1 | From 6db98ec43e4dab2d4638a97caa81e5ef4b3f7310 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sun, 7 Feb 2021 23:58:41 -0800 | 3 | Date: Sun, 7 Feb 2021 23:58:41 -0800 |
4 | Subject: [PATCH] llvm: Do not use find_library for ncurses | 4 | Subject: [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 | ||
19 | diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake | 19 | diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake |
20 | index 196aa62fd01c..49bbbd257d97 100644 | 20 | index 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) |
32 | diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake | 32 | diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake |
33 | index 818fafbce148..2f8ad6652334 100644 | 33 | index 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 @@ | |||
1 | From 7bc8252aff944f2efeaad92c431b1f1c5cf606b1 Mon Sep 17 00:00:00 2001 | 1 | From 09a9c6735b682a4c622930cff3e0d549e9d638d2 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 11 Feb 2021 16:42:49 -0800 | 3 | Date: Thu, 11 Feb 2021 16:42:49 -0800 |
4 | Subject: [PATCH] llvm: Insert anchor for adding OE distro vendor names | 4 | Subject: [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 | ||
20 | diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp | 20 | diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp |
21 | index 4f483c965282..ffd20d223133 100644 | 21 | index 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 @@ | |||
1 | From 4f45514fb8841a08d8d3bb68d9cb84b607e652f2 Mon Sep 17 00:00:00 2001 | 1 | From 16ee97fc3d678472f761e7ab8254ffef12ad6502 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 24 Mar 2021 00:32:09 -0700 | 3 | Date: Wed, 24 Mar 2021 00:32:09 -0700 |
4 | Subject: [PATCH] compiler-rt: Use mcr based barrier on armv6 | 4 | Subject: [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) \ |
53 | diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h | 53 | diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h |
54 | index f6ce6a9fccff..5c6cd9376ac4 100644 | 54 | index 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 @@ | |||
1 | From 1d07b3e71bf073da0a25b30efb135adaa876e3df Mon Sep 17 00:00:00 2001 | 1 | From 43733c59ee8fb7a4867f6f51fda1f449d6ce9013 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 15 Apr 2021 18:58:07 -0700 | 3 | Date: Thu, 15 Apr 2021 18:58:07 -0700 |
4 | Subject: [PATCH] clang: Switch defaults to dwarf-5 debug info on Linux | 4 | Subject: [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 | ||
16 | diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h | 16 | diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h |
17 | index 582d4bef81df..82c9494c744e 100644 | 17 | index 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 @@ | |||
1 | From 4d51447a11ee6796594fd55718ea62575ecebc78 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Fri, 27 Nov 2020 10:11:08 +0000 | ||
4 | Subject: [PATCH] AsmMatcherEmitter: sort ClassInfo lists by name as well | ||
5 | |||
6 | Otherwise, there are instances which are identical in | ||
7 | every other field and therefore sort non-reproducibly | ||
8 | (which breaks binary and source reproducibiliy). | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
12 | Signed-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 | |||
17 | diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp | ||
18 | index 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 @@ | |||
1 | From 9583baa3f6787236a2452937bbf962a2418f6423 Mon Sep 17 00:00:00 2001 | 1 | From 81360dd267eae6c34c4ab1000a1343b6488d84d5 Mon Sep 17 00:00:00 2001 |
2 | From: Jack Andersen <jackoalan@gmail.com> | 2 | From: Jack Andersen <jackoalan@gmail.com> |
3 | Date: Sun, 5 Dec 2021 14:45:33 -0500 | 3 | Date: Sun, 5 Dec 2021 14:45:33 -0500 |
4 | Subject: [PATCH] [CMake] Installable find modules for terminfo and libffi | 4 | Subject: [PATCH] Installable find modules for terminfo and libffi |
5 | 5 | ||
6 | Improves cross-distro portability of LLVM cmake package by resolving paths for | 6 | Improves cross-distro portability of LLVM cmake package by resolving paths for |
7 | terminfo and libffi via import targets. | 7 | terminfo and libffi via import targets. |
@@ -16,6 +16,7 @@ environment of the LLVM package importer. | |||
16 | Reviewed By: JDevlieghere | 16 | Reviewed By: JDevlieghere |
17 | 17 | ||
18 | Differential Revision: https://reviews.llvm.org/D114327 | 18 | Differential 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 | ||
30 | diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake | 31 | diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake |
31 | index 2f8ad6652334..ea0cd107a783 100644 | 32 | index 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 | |
105 | diff --git a/llvm/cmake/modules/FindFFI.cmake b/llvm/cmake/modules/FindFFI.cmake | 106 | diff --git a/llvm/cmake/modules/FindFFI.cmake b/llvm/cmake/modules/FindFFI.cmake |
106 | new file mode 100644 | 107 | new file mode 100644 |
107 | index 000000000000..b0d859af8959 | 108 | index 000000000000..b0d859af8959 |
@@ -239,7 +240,7 @@ index 000000000000..65edb80fa69a | |||
239 | + endif() | 240 | + endif() |
240 | +endif() | 241 | +endif() |
241 | diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in | 242 | diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in |
242 | index ac053141b008..42c1ea819717 100644 | 243 | index 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() |
296 | diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt | 297 | diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt |
297 | index cdee11412eb5..5909eeef056a 100644 | 298 | index 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 @@ | |||
1 | From eec04092d67b94f47439a9065b6bd4cd60165be2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arthur O'Dwyer <arthur.j.odwyer@gmail.com> | ||
3 | Date: Sat, 5 Dec 2020 19:37:41 -0500 | ||
4 | Subject: [PATCH] [libc++] [LWG2993] reference_wrapper<T> conversion from U&& | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Implement the resolution of LWG2993. Replace a deleted constructor | ||
10 | with a constructor that SFINAEs away in appropriate circumstances. | ||
11 | Also, now that the constructor is templated, we must have an | ||
12 | explicit deduction guide to make CTAD work. | ||
13 | |||
14 | Some tests have been merged in from AgustÃn Bergé's D40259. | ||
15 | |||
16 | Differential Revision: https://reviews.llvm.org/D92725 | ||
17 | |||
18 | Upstream-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 | |||
34 | diff --git a/libcxx/docs/Cxx2aStatusIssuesStatus.csv b/libcxx/docs/Cxx2aStatusIssuesStatus.csv | ||
35 | index 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|","" | ||
47 | diff --git a/libcxx/include/__functional_base b/libcxx/include/__functional_base | ||
48 | index 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 | ||
90 | diff --git a/libcxx/include/functional b/libcxx/include/functional | ||
91 | index 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; | ||
115 | diff --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 | ||
116 | index 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 | } | ||
152 | diff --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 | ||
153 | new file mode 100644 | ||
154 | index 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 | +} | ||
189 | diff --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 | ||
190 | new file mode 100644 | ||
191 | index 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 | +} | ||
276 | diff --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 | ||
277 | new file mode 100644 | ||
278 | index 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 | +} | ||
343 | diff --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 | ||
344 | index 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 | -- | ||
378 | 2.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 | |||
86 | CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\ | 86 | CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\ |
87 | LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\ | 87 | LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\ |
88 | PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\ | 88 | PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\ |
89 | LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT; \ | 89 | LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;\ |
90 | CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\ | 90 | CMAKE_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 | " |
135 | EXTRA_OECMAKE_append_class-nativesdk = "\ | 135 | EXTRA_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 | " |
149 | EXTRA_OECMAKE_append_class-target = "\ | 150 | EXTRA_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 |
49 | GCCPIE ??= "" | 45 | GCCPIE ??= "" |