diff options
40 files changed, 186 insertions, 800 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index 0a71cb1..1bbdae3 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 = "17.0.6" | 36 | LLVMVERSION = "18.1.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 84185a0..6cde0b0 100644 --- a/recipes-devtools/clang/clang.inc +++ b/recipes-devtools/clang/clang.inc | |||
@@ -4,14 +4,15 @@ 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 = "17" | 7 | MAJOR_VER = "18" |
8 | MINOR_VER = "0" | 8 | MINOR_VER = "1" |
9 | PATCH_VER = "6" | 9 | PATCH_VER = "0" |
10 | 10 | # could be 'rcX' or 'git' or empty ( for release ) | |
11 | SRCREV ?= "6009708b4367171ccdbf4b5905cb6a803753fe18" | 11 | VER_SUFFIX = "" |
12 | 12 | SRCREV ?= "461274b81d8641eab64d494accddc81d7db8a09e" | |
13 | PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}" | 13 | |
14 | BRANCH = "release/17.x" | 14 | PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}${VER_SUFFIX}" |
15 | BRANCH = "release/18.x" | ||
15 | 16 | ||
16 | LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" | 17 | LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" |
17 | CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" | 18 | CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" |
diff --git a/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch b/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch index 6721a2b..bb6fdbe 100644 --- a/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch +++ b/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 6a743f488230aa025016396208d1760835495264 Mon Sep 17 00:00:00 2001 | 1 | From 7065ef64c066b9dadf7e751f72e85232d729e225 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 |
@@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
18 | 1 file changed, 11 insertions(+), 5 deletions(-) | 18 | 1 file changed, 11 insertions(+), 5 deletions(-) |
19 | 19 | ||
20 | diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt | 20 | diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt |
21 | index f380fe6b6b92..145cb9d7ee88 100644 | 21 | index da998d2221dc..936b78e4d6dd 100644 |
22 | --- a/libcxxabi/CMakeLists.txt | 22 | --- a/libcxxabi/CMakeLists.txt |
23 | +++ b/libcxxabi/CMakeLists.txt | 23 | +++ b/libcxxabi/CMakeLists.txt |
24 | @@ -426,7 +426,7 @@ set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH | 24 | @@ -422,7 +422,7 @@ set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH |
25 | "Specify path to libunwind source." FORCE) | 25 | "Specify path to libunwind source." FORCE) |
26 | 26 | ||
27 | if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) | 27 | if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) |
@@ -30,7 +30,7 @@ index f380fe6b6b92..145cb9d7ee88 100644 | |||
30 | PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES} | 30 | PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES} |
31 | ${LIBCXXABI_LIBUNWIND_PATH}/include | 31 | ${LIBCXXABI_LIBUNWIND_PATH}/include |
32 | ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES} | 32 | ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES} |
33 | @@ -437,15 +437,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) | 33 | @@ -433,15 +433,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) |
34 | NO_CMAKE_FIND_ROOT_PATH | 34 | NO_CMAKE_FIND_ROOT_PATH |
35 | ) | 35 | ) |
36 | 36 | ||
diff --git a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch b/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch index df4d620..684d94d 100644 --- a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch +++ b/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 25b8166b829bc987832a7c7b41581f193a4fabe9 Mon Sep 17 00:00:00 2001 | 1 | From 7ca2a8c8590e99cb9edb36e378db39df21c3b0ed 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/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch b/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch index 0262008..9f7bf0f 100644 --- a/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch +++ b/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From fb844bcda4ed86c4f7246b4249d217dca534bc25 Mon Sep 17 00:00:00 2001 | 1 | From f69ce2c951a5346127517715681e2dd47d33cf65 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 |
@@ -21,10 +21,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
21 | 1 file changed, 10 insertions(+), 1 deletion(-) | 21 | 1 file changed, 10 insertions(+), 1 deletion(-) |
22 | 22 | ||
23 | diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt | 23 | diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt |
24 | index 1545340aa8a8..73fad3284810 100644 | 24 | index bbb4e8d7c333..583e5630b03c 100644 |
25 | --- a/compiler-rt/CMakeLists.txt | 25 | --- a/compiler-rt/CMakeLists.txt |
26 | +++ b/compiler-rt/CMakeLists.txt | 26 | +++ b/compiler-rt/CMakeLists.txt |
27 | @@ -80,7 +80,16 @@ if (COMPILER_RT_STANDALONE_BUILD) | 27 | @@ -82,7 +82,16 @@ if (COMPILER_RT_STANDALONE_BUILD) |
28 | set(CMAKE_CXX_EXTENSIONS NO) | 28 | set(CMAKE_CXX_EXTENSIONS NO) |
29 | 29 | ||
30 | if (NOT LLVM_RUNTIMES_BUILD) | 30 | if (NOT LLVM_RUNTIMES_BUILD) |
diff --git a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch index 4d13016..c6189ae 100644 --- a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch +++ b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f258983025dd6a1d8a72f244ac97893c895e5b21 Mon Sep 17 00:00:00 2001 | 1 | From f01b464943203b0094bc8b76794e93afc35d912a 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 |
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 21 insertions(+), 1 deletion(-) | 14 | 1 file changed, 21 insertions(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def | 16 | diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def |
17 | index 03ac422d3e6b..3080b4758894 100644 | 17 | index 6bd922eed89e..9e15466f963a 100644 |
18 | --- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def | 18 | --- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def |
19 | +++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def | 19 | +++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def |
20 | @@ -1348,6 +1348,9 @@ TLI_DEFINE_STRING_INTERNAL("fopen") | 20 | @@ -1348,6 +1348,9 @@ TLI_DEFINE_STRING_INTERNAL("fopen") |
diff --git a/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch index 4447c94..15916a8 100644 --- a/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch +++ b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 588a8694c6540e31140c7e242bfb5e279d6ca08c Mon Sep 17 00:00:00 2001 | 1 | From 6543b333f413bc906c8a3577266f1ff6561b2e05 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 and libdir path | 4 | Subject: [PATCH] llvm: allow env override of exe and libdir path |
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
19 | 1 file changed, 19 insertions(+), 6 deletions(-) | 19 | 1 file changed, 19 insertions(+), 6 deletions(-) |
20 | 20 | ||
21 | diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp | 21 | diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp |
22 | index e86eb2b44b10..7b2abf318dbe 100644 | 22 | index d5b76b1bb6c1..a739f0d8dbea 100644 |
23 | --- a/llvm/tools/llvm-config/llvm-config.cpp | 23 | --- a/llvm/tools/llvm-config/llvm-config.cpp |
24 | +++ b/llvm/tools/llvm-config/llvm-config.cpp | 24 | +++ b/llvm/tools/llvm-config/llvm-config.cpp |
25 | @@ -246,6 +246,13 @@ Typical components:\n\ | 25 | @@ -246,6 +246,13 @@ Typical components:\n\ |
@@ -47,13 +47,13 @@ index e86eb2b44b10..7b2abf318dbe 100644 | |||
47 | ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include"; | 47 | ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include"; |
48 | @@ -366,12 +373,18 @@ int main(int argc, char **argv) { | 48 | @@ -366,12 +373,18 @@ int main(int argc, char **argv) { |
49 | sys::fs::make_absolute(ActivePrefix, Path); | 49 | sys::fs::make_absolute(ActivePrefix, Path); |
50 | ActiveBinDir = std::string(Path.str()); | 50 | ActiveBinDir = std::string(Path); |
51 | } | 51 | } |
52 | - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; | 52 | - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; |
53 | - { | 53 | - { |
54 | - SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR); | 54 | - SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR); |
55 | - sys::fs::make_absolute(ActivePrefix, Path); | 55 | - sys::fs::make_absolute(ActivePrefix, Path); |
56 | - ActiveCMakeDir = std::string(Path.str()); | 56 | - ActiveCMakeDir = std::string(Path); |
57 | + // Hack for Yocto: we need to override the lib path when we are using | 57 | + // Hack for Yocto: we need to override the lib path when we are using |
58 | + // llvm-config from within a target sysroot since LLVM_LIBDIR_SUFFIX | 58 | + // llvm-config from within a target sysroot since LLVM_LIBDIR_SUFFIX |
59 | + // maybe different for host llvm vs target e.g. ppc64 Libdir=lib64 but | 59 | + // maybe different for host llvm vs target e.g. ppc64 Libdir=lib64 but |
diff --git a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch index c3e7086..7d83a1e 100644 --- a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch +++ b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f033c3e6da2f09e627cf8cf8fbd753e07e0ebacd Mon Sep 17 00:00:00 2001 | 1 | From ac8010d0f42375b862be8d020b39862dde2d3739 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 |
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | 1 file changed, 21 insertions(+), 1 deletion(-) | 15 | 1 file changed, 21 insertions(+), 1 deletion(-) |
16 | 16 | ||
17 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 17 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
18 | index 1ba222bf83b1..b2ed29621879 100644 | 18 | index 4300a2bdff17..fe1bea2bde9d 100644 |
19 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 19 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
20 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 20 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
21 | @@ -495,7 +495,11 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 21 | @@ -499,7 +499,11 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
22 | Triple.getEnvironment() == llvm::Triple::GNUEABIHF || | 22 | Triple.getEnvironment() == llvm::Triple::GNUEABIHF || |
23 | tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; | 23 | tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; |
24 | 24 | ||
@@ -31,7 +31,7 @@ index 1ba222bf83b1..b2ed29621879 100644 | |||
31 | Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; | 31 | Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; |
32 | break; | 32 | break; |
33 | } | 33 | } |
34 | @@ -550,11 +554,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 34 | @@ -554,11 +558,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
35 | LibDir = "lib64"; | 35 | LibDir = "lib64"; |
36 | Loader = | 36 | Loader = |
37 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; | 37 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; |
@@ -51,7 +51,7 @@ index 1ba222bf83b1..b2ed29621879 100644 | |||
51 | break; | 51 | break; |
52 | case llvm::Triple::riscv32: { | 52 | case llvm::Triple::riscv32: { |
53 | StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple); | 53 | StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple); |
54 | @@ -576,6 +588,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 54 | @@ -580,6 +592,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
55 | case llvm::Triple::sparcv9: | 55 | case llvm::Triple::sparcv9: |
56 | LibDir = "lib64"; | 56 | LibDir = "lib64"; |
57 | Loader = "ld-linux.so.2"; | 57 | Loader = "ld-linux.so.2"; |
@@ -62,7 +62,7 @@ index 1ba222bf83b1..b2ed29621879 100644 | |||
62 | break; | 62 | break; |
63 | case llvm::Triple::systemz: | 63 | case llvm::Triple::systemz: |
64 | LibDir = "lib"; | 64 | LibDir = "lib"; |
65 | @@ -590,6 +606,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 65 | @@ -594,6 +610,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
66 | 66 | ||
67 | LibDir = X32 ? "libx32" : "lib64"; | 67 | LibDir = X32 ? "libx32" : "lib64"; |
68 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; | 68 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; |
diff --git a/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch b/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch index 48af473..c6207c6 100644 --- a/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch +++ b/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b497f95862cfe82aa2d581798182d2c2112796ae Mon Sep 17 00:00:00 2001 | 1 | From fbf2696149ab70f296b6a36e1867ee487bb5b3d4 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 |
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 6 insertions(+) | 14 | 1 file changed, 6 insertions(+) |
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 40038dce47d8..c642946c5cfb 100644 | 17 | index e5e1b1d77269..7b43cde6b884 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 | @@ -636,6 +636,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, | 20 | @@ -628,6 +628,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, |
21 | if (IsIAMCU) | 21 | if (IsIAMCU) |
22 | CmdArgs.push_back("-lgloss"); | 22 | CmdArgs.push_back("-lgloss"); |
23 | 23 | ||
diff --git a/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch b/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch index ee75cbc..bcdfa75 100644 --- a/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch +++ b/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From acfefc5462044827ba3b7d0ac7512a9d9461a833 Mon Sep 17 00:00:00 2001 | 1 | From 32028d3635b5f5f00a538e60d7fc89a3576d1d1f 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 |
@@ -25,10 +25,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
25 | 1 file changed, 1 insertion(+), 1 deletion(-) | 25 | 1 file changed, 1 insertion(+), 1 deletion(-) |
26 | 26 | ||
27 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 27 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
28 | index b2ed29621879..d2fa4b2f11cf 100644 | 28 | index fe1bea2bde9d..9cfc135ed2c0 100644 |
29 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 29 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
30 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 30 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
31 | @@ -215,7 +215,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) | 31 | @@ -219,7 +219,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) |
32 | Multilibs = GCCInstallation.getMultilibs(); | 32 | Multilibs = GCCInstallation.getMultilibs(); |
33 | SelectedMultilibs.assign({GCCInstallation.getMultilib()}); | 33 | SelectedMultilibs.assign({GCCInstallation.getMultilib()}); |
34 | llvm::Triple::ArchType Arch = Triple.getArch(); | 34 | llvm::Triple::ArchType Arch = Triple.getArch(); |
diff --git a/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch index 2e83358..2a96090 100644 --- a/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch +++ b/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9069a7f709cdb5392c9e0ecd863d62176d080a91 Mon Sep 17 00:00:00 2001 | 1 | From 5a2e2c7600e855782be747d28b16377f7d3354a8 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 |
@@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
16 | 1 file changed, 5 insertions(+), 1 deletion(-) | 16 | 1 file changed, 5 insertions(+), 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp | 18 | diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp |
19 | index 8dafc3d481c2..3e0f7b64b0db 100644 | 19 | index 388030592b48..c59700b4a7ab 100644 |
20 | --- a/clang/lib/Driver/ToolChain.cpp | 20 | --- a/clang/lib/Driver/ToolChain.cpp |
21 | +++ b/clang/lib/Driver/ToolChain.cpp | 21 | +++ b/clang/lib/Driver/ToolChain.cpp |
22 | @@ -15,6 +15,7 @@ | 22 | @@ -15,6 +15,7 @@ |
diff --git a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch index 39f4044..85f0c81 100644 --- a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch +++ b/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From fcc667e02238ad83e5db2ecc1f060af6dcc618f1 Mon Sep 17 00:00:00 2001 | 1 | From 840960c4a146a90a1e9b8d381b1bab64701650a2 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, 20 Mar 2021 16:09:16 -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 |
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | 1 file changed, 7 insertions(+), 7 deletions(-) | 15 | 1 file changed, 7 insertions(+), 7 deletions(-) |
16 | 16 | ||
17 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 17 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
18 | index c642946c5cfb..e1c2cdc0e93b 100644 | 18 | index 7b43cde6b884..1ea6927d06f3 100644 |
19 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp | 19 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp |
20 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp | 20 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp |
21 | @@ -2744,19 +2744,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( | 21 | @@ -2913,19 +2913,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( |
22 | // Whether this library suffix is relevant for the triple. | 22 | // Whether this library suffix is relevant for the triple. |
23 | bool Active; | 23 | bool Active; |
24 | } Suffixes[] = { | 24 | } Suffixes[] = { |
diff --git a/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch b/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch index 6ccc25d..0db75c7 100644 --- a/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch +++ b/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 85230d89fc000068097599df6c8750d75cf84c72 Mon Sep 17 00:00:00 2001 | 1 | From 702335a68f81dfa1ac89b759846faa8a479bdec7 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 |
@@ -21,10 +21,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
21 | 1 file changed, 2 insertions(+) | 21 | 1 file changed, 2 insertions(+) |
22 | 22 | ||
23 | diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp | 23 | diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp |
24 | index 0d6907b8e5c7..778da2b7b4a5 100644 | 24 | index 2b916f000336..de823347a527 100644 |
25 | --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp | 25 | --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp |
26 | +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp | 26 | +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp |
27 | @@ -1820,6 +1820,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, | 27 | @@ -2179,6 +2179,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, |
28 | CmdArgs.push_back("-lunwind"); | 28 | CmdArgs.push_back("-lunwind"); |
29 | } else if (LGT == LibGccType::StaticLibGcc) { | 29 | } else if (LGT == LibGccType::StaticLibGcc) { |
30 | CmdArgs.push_back("-l:libunwind.a"); | 30 | CmdArgs.push_back("-l:libunwind.a"); |
diff --git a/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch index 3f5c9ab..e929194 100644 --- a/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch +++ b/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 84a2bee19c577eb56c381903959c77271a4368e5 Mon Sep 17 00:00:00 2001 | 1 | From b0132d5b8f5b92f66087fe11713885d8916554c2 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 |
@@ -11,14 +11,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
11 | 1 file changed, 1 insertion(+) | 11 | 1 file changed, 1 insertion(+) |
12 | 12 | ||
13 | diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake | 13 | diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake |
14 | index 6af47b51d4c6..bf9adea6814a 100644 | 14 | index 55bf3be75642..71b09ec05b68 100644 |
15 | --- a/llvm/cmake/modules/CrossCompile.cmake | 15 | --- a/llvm/cmake/modules/CrossCompile.cmake |
16 | +++ b/llvm/cmake/modules/CrossCompile.cmake | 16 | +++ b/llvm/cmake/modules/CrossCompile.cmake |
17 | @@ -86,6 +86,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) | 17 | @@ -90,6 +90,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) |
18 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}" | 18 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}" |
19 | -DLLVM_INCLUDE_BENCHMARKS=OFF | 19 | -DLLVM_INCLUDE_BENCHMARKS=OFF |
20 | -DLLVM_INCLUDE_TESTS=OFF | 20 | -DLLVM_INCLUDE_TESTS=OFF |
21 | + -DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}" | 21 | + -DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}" |
22 | ${build_type_flags} ${linker_flag} ${external_clang_dir} | 22 | ${build_type_flags} ${linker_flag} ${external_clang_dir} ${libc_flags} |
23 | ${ARGN} | 23 | ${ARGN} |
24 | WORKING_DIRECTORY ${${project_name}_${target_name}_BUILD} | 24 | WORKING_DIRECTORY ${${project_name}_${target_name}_BUILD} |
diff --git a/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch b/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch index 855d544..4c333a0 100644 --- a/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch +++ b/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 129d994b584cab112d39916075eef8c833813677 Mon Sep 17 00:00:00 2001 | 1 | From b2ed6b57edd6afd6f2a5376a0bdea36d017fc95f 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/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch b/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch index b9d88f8..df22737 100644 --- a/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch +++ b/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From c646fe1dd7b9fcb80de27c8b4da916bd9e0adb7f Mon Sep 17 00:00:00 2001 | 1 | From 762c7af55064261f061fcd5ce0bd2eb93cbd425b 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 35b466527096..f261c1def1ca 100644 | 17 | index 44a088663463..2a8546165f44 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 | @@ -189,7 +189,7 @@ if (LIBCXX_ENABLE_SHARED) | 20 | @@ -198,7 +198,7 @@ if (LIBCXX_ENABLE_SHARED) |
21 | add_library(cxx_shared SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) | 21 | add_library(cxx_shared SHARED ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) |
22 | target_include_directories(cxx_shared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) | 22 | target_include_directories(cxx_shared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) |
23 | target_link_libraries(cxx_shared PUBLIC cxx-headers | 23 | target_link_libraries(cxx_shared PUBLIC cxx-headers |
@@ -26,7 +26,7 @@ index 35b466527096..f261c1def1ca 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 | @@ -282,7 +282,7 @@ if (LIBCXX_ENABLE_STATIC) | 29 | @@ -291,7 +291,7 @@ if (LIBCXX_ENABLE_STATIC) |
30 | add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) | 30 | add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) |
31 | target_include_directories(cxx_static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) | 31 | target_include_directories(cxx_static PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) |
32 | target_link_libraries(cxx_static PUBLIC cxx-headers | 32 | target_link_libraries(cxx_static PUBLIC cxx-headers |
diff --git a/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch b/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch index a421c6c..1e8aedc 100644 --- a/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch +++ b/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ae428248f697ccf8b98c0da5a9983a1f0ff89bd5 Mon Sep 17 00:00:00 2001 | 1 | From e6592691f3f5b13785adfa7cfca938742a35fb29 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 |
@@ -52,10 +52,10 @@ index 75b0080f6715..ddf446a13eca 100644 | |||
52 | endif() | 52 | endif() |
53 | endmacro() | 53 | endmacro() |
54 | 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 |
55 | index 230620c37027..cb5a9bd41ee8 100644 | 55 | index 3bc78b0dc935..bc492ceb90db 100644 |
56 | --- a/llvm/cmake/modules/AddLLVM.cmake | 56 | --- a/llvm/cmake/modules/AddLLVM.cmake |
57 | +++ b/llvm/cmake/modules/AddLLVM.cmake | 57 | +++ b/llvm/cmake/modules/AddLLVM.cmake |
58 | @@ -1353,7 +1353,6 @@ macro(llvm_add_tool project name) | 58 | @@ -1368,7 +1368,6 @@ macro(llvm_add_tool project name) |
59 | if( LLVM_BUILD_TOOLS ) | 59 | if( LLVM_BUILD_TOOLS ) |
60 | get_target_export_arg(${name} LLVM export_to_llvmexports) | 60 | get_target_export_arg(${name} LLVM export_to_llvmexports) |
61 | install(TARGETS ${name} | 61 | install(TARGETS ${name} |
@@ -63,7 +63,7 @@ index 230620c37027..cb5a9bd41ee8 100644 | |||
63 | RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR} | 63 | RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR} |
64 | COMPONENT ${name}) | 64 | COMPONENT ${name}) |
65 | 65 | ||
66 | @@ -1364,9 +1363,6 @@ macro(llvm_add_tool project name) | 66 | @@ -1379,9 +1378,6 @@ macro(llvm_add_tool project name) |
67 | endif() | 67 | endif() |
68 | endif() | 68 | endif() |
69 | endif() | 69 | endif() |
@@ -73,7 +73,7 @@ index 230620c37027..cb5a9bd41ee8 100644 | |||
73 | set_target_properties(${name} PROPERTIES FOLDER "Tools") | 73 | set_target_properties(${name} PROPERTIES FOLDER "Tools") |
74 | endif() | 74 | endif() |
75 | endmacro(llvm_add_tool project name) | 75 | endmacro(llvm_add_tool project name) |
76 | @@ -1411,7 +1407,6 @@ macro(add_llvm_utility name) | 76 | @@ -1426,7 +1422,6 @@ macro(add_llvm_utility name) |
77 | if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) | 77 | if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) |
78 | get_target_export_arg(${name} LLVM export_to_llvmexports) | 78 | get_target_export_arg(${name} LLVM export_to_llvmexports) |
79 | install(TARGETS ${name} | 79 | install(TARGETS ${name} |
@@ -81,7 +81,7 @@ index 230620c37027..cb5a9bd41ee8 100644 | |||
81 | RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} | 81 | RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} |
82 | COMPONENT ${name}) | 82 | COMPONENT ${name}) |
83 | 83 | ||
84 | @@ -1420,7 +1415,6 @@ macro(add_llvm_utility name) | 84 | @@ -1435,7 +1430,6 @@ macro(add_llvm_utility name) |
85 | DEPENDS ${name} | 85 | DEPENDS ${name} |
86 | COMPONENT ${name}) | 86 | COMPONENT ${name}) |
87 | endif() | 87 | endif() |
@@ -90,10 +90,10 @@ index 230620c37027..cb5a9bd41ee8 100644 | |||
90 | set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name}) | 90 | set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name}) |
91 | endif() | 91 | endif() |
92 | diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake | 92 | diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake |
93 | index 7fd6628ef55d..57a996d03755 100644 | 93 | index 1d18fdde2bb9..c9363ffb3376 100644 |
94 | --- a/llvm/cmake/modules/TableGen.cmake | 94 | --- a/llvm/cmake/modules/TableGen.cmake |
95 | +++ b/llvm/cmake/modules/TableGen.cmake | 95 | +++ b/llvm/cmake/modules/TableGen.cmake |
96 | @@ -195,12 +195,7 @@ macro(add_tablegen target project) | 96 | @@ -222,12 +222,7 @@ macro(add_tablegen target project) |
97 | 97 | ||
98 | if (ADD_TABLEGEN_DESTINATION AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND | 98 | if (ADD_TABLEGEN_DESTINATION AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND |
99 | (LLVM_BUILD_UTILS OR ${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS)) | 99 | (LLVM_BUILD_UTILS OR ${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS)) |
@@ -106,7 +106,7 @@ index 7fd6628ef55d..57a996d03755 100644 | |||
106 | COMPONENT ${target} | 106 | COMPONENT ${target} |
107 | RUNTIME DESTINATION "${ADD_TABLEGEN_DESTINATION}") | 107 | RUNTIME DESTINATION "${ADD_TABLEGEN_DESTINATION}") |
108 | if(NOT LLVM_ENABLE_IDE) | 108 | if(NOT LLVM_ENABLE_IDE) |
109 | @@ -211,6 +206,5 @@ macro(add_tablegen target project) | 109 | @@ -238,6 +233,5 @@ macro(add_tablegen target project) |
110 | endif() | 110 | endif() |
111 | if(ADD_TABLEGEN_EXPORT) | 111 | if(ADD_TABLEGEN_EXPORT) |
112 | string(TOUPPER ${ADD_TABLEGEN_EXPORT} export_upper) | 112 | string(TOUPPER ${ADD_TABLEGEN_EXPORT} export_upper) |
diff --git a/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch b/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch index 8e57922..c5c413f 100644 --- a/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch +++ b/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f45ef34d9d5a3ff049c39dd2d3d6aed72eb5b0bc Mon Sep 17 00:00:00 2001 | 1 | From cc868200402deee5203b498d72dc26f944f10a55 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 |
@@ -20,10 +20,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
20 | 1 file changed, 7 insertions(+), 1 deletion(-) | 20 | 1 file changed, 7 insertions(+), 1 deletion(-) |
21 | 21 | ||
22 | diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp | 22 | diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp |
23 | index bdbdad9362e1..a0d4a04b42bb 100644 | 23 | index 93cddf742d52..88291dd125d3 100644 |
24 | --- a/clang/lib/Driver/Driver.cpp | 24 | --- a/clang/lib/Driver/Driver.cpp |
25 | +++ b/clang/lib/Driver/Driver.cpp | 25 | +++ b/clang/lib/Driver/Driver.cpp |
26 | @@ -183,9 +183,15 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath, | 26 | @@ -179,9 +179,15 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath, |
27 | // With a static-library build of libclang, LibClangPath will contain the | 27 | // With a static-library build of libclang, LibClangPath will contain the |
28 | // path of the embedding binary, which for LLVM binaries will be in bin/. | 28 | // path of the embedding binary, which for LLVM binaries will be in bin/. |
29 | // ../lib gets us to lib/ in both cases. | 29 | // ../lib gets us to lib/ in both cases. |
diff --git a/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch index cd111bd..f812fcd 100644 --- a/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch +++ b/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 53138d6a7fe341821a73719f776ee5535d759c3b Mon Sep 17 00:00:00 2001 | 1 | From c6d4b091b470d6a6cff90f19416c990be8b08319 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 |
@@ -19,10 +19,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
19 | 1 file changed, 10 insertions(+), 10 deletions(-) | 19 | 1 file changed, 10 insertions(+), 10 deletions(-) |
20 | 20 | ||
21 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 21 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
22 | index d2fa4b2f11cf..42b88e76a9d5 100644 | 22 | index 9cfc135ed2c0..6df8c58076c9 100644 |
23 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 23 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
24 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 24 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
25 | @@ -496,8 +496,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 25 | @@ -500,8 +500,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
26 | tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; | 26 | tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; |
27 | 27 | ||
28 | LibDir = "lib32"; | 28 | LibDir = "lib32"; |
@@ -33,7 +33,7 @@ index d2fa4b2f11cf..42b88e76a9d5 100644 | |||
33 | LibDir = "lib"; | 33 | LibDir = "lib"; |
34 | } | 34 | } |
35 | Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; | 35 | Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; |
36 | @@ -554,8 +554,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 36 | @@ -558,8 +558,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
37 | LibDir = "lib64"; | 37 | LibDir = "lib64"; |
38 | Loader = | 38 | Loader = |
39 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; | 39 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; |
@@ -44,7 +44,7 @@ index d2fa4b2f11cf..42b88e76a9d5 100644 | |||
44 | LibDir = "lib"; | 44 | LibDir = "lib"; |
45 | } | 45 | } |
46 | break; | 46 | break; |
47 | @@ -563,8 +563,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 47 | @@ -567,8 +567,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
48 | LibDir = "lib64"; | 48 | LibDir = "lib64"; |
49 | Loader = | 49 | Loader = |
50 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; | 50 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; |
@@ -55,7 +55,7 @@ index d2fa4b2f11cf..42b88e76a9d5 100644 | |||
55 | LibDir = "lib"; | 55 | LibDir = "lib"; |
56 | } | 56 | } |
57 | break; | 57 | break; |
58 | @@ -588,8 +588,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 58 | @@ -592,8 +592,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
59 | case llvm::Triple::sparcv9: | 59 | case llvm::Triple::sparcv9: |
60 | LibDir = "lib64"; | 60 | LibDir = "lib64"; |
61 | Loader = "ld-linux.so.2"; | 61 | Loader = "ld-linux.so.2"; |
@@ -66,7 +66,7 @@ index d2fa4b2f11cf..42b88e76a9d5 100644 | |||
66 | LibDir = "lib"; | 66 | LibDir = "lib"; |
67 | } | 67 | } |
68 | break; | 68 | break; |
69 | @@ -606,8 +606,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 69 | @@ -610,8 +610,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
70 | 70 | ||
71 | LibDir = X32 ? "libx32" : "lib64"; | 71 | LibDir = X32 ? "libx32" : "lib64"; |
72 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; | 72 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; |
diff --git a/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch b/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch index 6de7a36..f9a7e73 100644 --- a/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch +++ b/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 61de53f94868705c7a0379c3f20e6b9de76c6198 Mon Sep 17 00:00:00 2001 | 1 | From 376554f8f40211f36444a23011e80ad950274723 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 |
diff --git a/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch b/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch index 412b1c5..988bbd1 100644 --- a/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch +++ b/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 83fc70ac26c2412382341be61978e51bbd2e6c4f Mon Sep 17 00:00:00 2001 | 1 | From fc730bc3b01378f457f43d5c684bc4cee818abc3 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,10 +57,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
57 | 1 file changed, 1 insertion(+) | 57 | 1 file changed, 1 insertion(+) |
58 | 58 | ||
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 e1c2cdc0e93b..0b355d9a3f4b 100644 | 60 | index 1ea6927d06f3..185ea3df16f5 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 | @@ -2334,6 +2334,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( | 63 | @@ -2488,6 +2488,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( |
64 | "x86_64-redhat-linux", "x86_64-suse-linux", | 64 | "x86_64-redhat-linux", "x86_64-suse-linux", |
65 | "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", | 65 | "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", |
66 | "x86_64-slackware-linux", "x86_64-unknown-linux", | 66 | "x86_64-slackware-linux", "x86_64-unknown-linux", |
diff --git a/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch b/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch index db94867..a31be84 100644 --- a/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch +++ b/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 45a0c6817175c12aac685b4d45badf761bd7f4fc Mon Sep 17 00:00:00 2001 | 1 | From ce223c530a076c7e41b1ea23c747d12dde9e1120 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 |
@@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
18 | 2 files changed, 2 insertions(+), 2 deletions(-) | 18 | 2 files changed, 2 insertions(+), 2 deletions(-) |
19 | 19 | ||
20 | diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake | 20 | diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake |
21 | index 8d3dc8d208b2..14dfbe147bdd 100644 | 21 | index 2ca18ebb4ad4..51c56f1e0b8b 100644 |
22 | --- a/compiler-rt/cmake/config-ix.cmake | 22 | --- a/compiler-rt/cmake/config-ix.cmake |
23 | +++ b/compiler-rt/cmake/config-ix.cmake | 23 | +++ b/compiler-rt/cmake/config-ix.cmake |
24 | @@ -177,7 +177,7 @@ else() | 24 | @@ -188,7 +188,7 @@ else() |
25 | set(MAYBE_REQUIRED) | 25 | set(MAYBE_REQUIRED) |
26 | endif() | 26 | endif() |
27 | if(LLVM_ENABLE_TERMINFO) | 27 | if(LLVM_ENABLE_TERMINFO) |
@@ -31,7 +31,7 @@ index 8d3dc8d208b2..14dfbe147bdd 100644 | |||
31 | if(COMPILER_RT_TERMINFO_LIB) | 31 | if(COMPILER_RT_TERMINFO_LIB) |
32 | set(LLVM_ENABLE_TERMINFO 1) | 32 | set(LLVM_ENABLE_TERMINFO 1) |
33 | diff --git a/llvm/cmake/modules/FindTerminfo.cmake b/llvm/cmake/modules/FindTerminfo.cmake | 33 | diff --git a/llvm/cmake/modules/FindTerminfo.cmake b/llvm/cmake/modules/FindTerminfo.cmake |
34 | index eef1f95853eb..b3b330dd3d59 100644 | 34 | index 163af6697067..bf2e760bed8a 100644 |
35 | --- a/llvm/cmake/modules/FindTerminfo.cmake | 35 | --- a/llvm/cmake/modules/FindTerminfo.cmake |
36 | +++ b/llvm/cmake/modules/FindTerminfo.cmake | 36 | +++ b/llvm/cmake/modules/FindTerminfo.cmake |
37 | @@ -11,7 +11,7 @@ | 37 | @@ -11,7 +11,7 @@ |
diff --git a/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch b/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch index 480163e..0856410 100644 --- a/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch +++ b/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 3ee6071f459375e0534db3bd84b1a71a5694daef Mon Sep 17 00:00:00 2001 | 1 | From 1cf1458650a3cfed4bab56ca0fb026d091ab725b 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/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp | 20 | diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp |
21 | index a3d6a06af976..953132c543cd 100644 | 21 | index 0bbe8a3cedfd..dbc1240703a0 100644 |
22 | --- a/llvm/lib/TargetParser/Triple.cpp | 22 | --- a/llvm/lib/TargetParser/Triple.cpp |
23 | +++ b/llvm/lib/TargetParser/Triple.cpp | 23 | +++ b/llvm/lib/TargetParser/Triple.cpp |
24 | @@ -569,7 +569,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { | 24 | @@ -601,7 +601,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/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch b/recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch index 3813446..2e2233e 100644 --- a/recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch +++ b/recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 073a80b1f50e27c88c931bedea516effcff0945e Mon Sep 17 00:00:00 2001 | 1 | From 30bc9fac3220d919a3e94b14b47250247e5686e4 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, 19 May 2021 17:32:13 -0700 | 3 | Date: Wed, 19 May 2021 17:32:13 -0700 |
4 | Subject: [PATCH] compiler-rt: Do not use backtrace APIs on non-glibc linux | 4 | Subject: [PATCH] compiler-rt: Do not use backtrace APIs on non-glibc linux |
diff --git a/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch b/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch index 349c1f8..2ccdf64 100644 --- a/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch +++ b/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 64bf8ed61750e9139851c866d9cfbed9a3fb5bb9 Mon Sep 17 00:00:00 2001 | 1 | From 1cca5d6c319fb2ebff798882d6f7cf55ae225d8e 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, 19 May 2021 17:56:03 -0700 | 3 | Date: Wed, 19 May 2021 17:56:03 -0700 |
4 | Subject: [PATCH] clang: Fix x86 triple for non-debian multiarch linux distros | 4 | Subject: [PATCH] clang: Fix x86 triple for non-debian multiarch linux distros |
@@ -13,10 +13,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
13 | 1 file changed, 3 insertions(+) | 13 | 1 file changed, 3 insertions(+) |
14 | 14 | ||
15 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 15 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
16 | index 42b88e76a9d5..ef8435385130 100644 | 16 | index 6df8c58076c9..cf549331d255 100644 |
17 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 17 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
18 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 18 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
19 | @@ -703,6 +703,9 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, | 19 | @@ -707,6 +707,9 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, |
20 | GCCInstallation.getTriple().getArch() == llvm::Triple::x86 | 20 | GCCInstallation.getTriple().getArch() == llvm::Triple::x86 |
21 | ? "i386-linux-gnu" | 21 | ? "i386-linux-gnu" |
22 | : TripleStr; | 22 | : TripleStr; |
diff --git a/recipes-devtools/clang/clang/0024-libunwind-Added-unw_backtrace-method.patch b/recipes-devtools/clang/clang/0024-libunwind-Added-unw_backtrace-method.patch index 170999b..9578fe6 100644 --- a/recipes-devtools/clang/clang/0024-libunwind-Added-unw_backtrace-method.patch +++ b/recipes-devtools/clang/clang/0024-libunwind-Added-unw_backtrace-method.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 755f0c575bb3efa82703eda87df3c37aeb6f96b0 Mon Sep 17 00:00:00 2001 | 1 | From 391c312f710887305d6b91c2c5e8d26536ff1328 Mon Sep 17 00:00:00 2001 |
2 | From: Maksim Kita <maksim-kita@yandex-team.ru> | 2 | From: Maksim Kita <maksim-kita@yandex-team.ru> |
3 | Date: Sun, 23 May 2021 10:27:29 +0000 | 3 | Date: Sun, 23 May 2021 10:27:29 +0000 |
4 | Subject: [PATCH] libunwind: Added unw_backtrace method | 4 | Subject: [PATCH] libunwind: Added unw_backtrace method |
@@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
12 | 2 files changed, 21 insertions(+) | 12 | 2 files changed, 21 insertions(+) |
13 | 13 | ||
14 | diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h | 14 | diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h |
15 | index d2ad5ab87122..d735d955aee2 100644 | 15 | index b2dae8feed9a..0ab974c9bfa4 100644 |
16 | --- a/libunwind/include/libunwind.h | 16 | --- a/libunwind/include/libunwind.h |
17 | +++ b/libunwind/include/libunwind.h | 17 | +++ b/libunwind/include/libunwind.h |
18 | @@ -130,6 +130,7 @@ extern int unw_is_fpreg(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL; | 18 | @@ -130,6 +130,7 @@ extern int unw_is_fpreg(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL; |
@@ -24,10 +24,10 @@ index d2ad5ab87122..d735d955aee2 100644 | |||
24 | extern unw_addr_space_t unw_local_addr_space; | 24 | extern unw_addr_space_t unw_local_addr_space; |
25 | 25 | ||
26 | diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp | 26 | diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp |
27 | index 1bd18659b786..64819826cfea 100644 | 27 | index 217dde909863..5797c806c084 100644 |
28 | --- a/libunwind/src/libunwind.cpp | 28 | --- a/libunwind/src/libunwind.cpp |
29 | +++ b/libunwind/src/libunwind.cpp | 29 | +++ b/libunwind/src/libunwind.cpp |
30 | @@ -431,6 +431,26 @@ int __unw_remove_find_dynamic_unwind_sections( | 30 | @@ -432,6 +432,26 @@ int __unw_remove_find_dynamic_unwind_sections( |
31 | 31 | ||
32 | #endif // __APPLE__ | 32 | #endif // __APPLE__ |
33 | 33 | ||
diff --git a/recipes-devtools/clang/clang/0025-clang-Do-not-use-install-relative-libc-headers.patch b/recipes-devtools/clang/clang/0025-clang-Do-not-use-install-relative-libc-headers.patch index 8d35b41..539045d 100644 --- a/recipes-devtools/clang/clang/0025-clang-Do-not-use-install-relative-libc-headers.patch +++ b/recipes-devtools/clang/clang/0025-clang-Do-not-use-install-relative-libc-headers.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 6fd8342c1b41a5d3f2aad1e8b215d1d9c70df800 Mon Sep 17 00:00:00 2001 | 1 | From 75fba7350f0b161254994279d26ba720dde270ee 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, 11 Aug 2021 18:37:11 -0700 | 3 | Date: Wed, 11 Aug 2021 18:37:11 -0700 |
4 | Subject: [PATCH] clang: Do not use install relative libc++ headers | 4 | Subject: [PATCH] clang: Do not use install relative libc++ headers |
@@ -12,21 +12,23 @@ libcxx e.g. chromium | |||
12 | Upstream-Status: Pending | 12 | Upstream-Status: Pending |
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
14 | --- | 14 | --- |
15 | clang/lib/Driver/ToolChains/Gnu.cpp | 4 +++- | 15 | clang/lib/Driver/ToolChains/Gnu.cpp | 5 ++++- |
16 | 1 file changed, 3 insertions(+), 1 deletion(-) | 16 | 1 file changed, 4 insertions(+), 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 18 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
19 | index 0b355d9a3f4b..f228bd14e8a8 100644 | 19 | index 185ea3df16f5..d883dc3e7558 100644 |
20 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp | 20 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp |
21 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp | 21 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp |
22 | @@ -3128,7 +3128,9 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, | 22 | @@ -3313,8 +3313,11 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, |
23 | 23 | // incompatible with the NDK libraries. | |
24 | // Android never uses the libc++ headers installed alongside the toolchain, | 24 | SmallString<128> DriverIncludeDir(getDriver().Dir); |
25 | // which are generally incompatible with the NDK libraries anyway. | 25 | llvm::sys::path::append(DriverIncludeDir, "..", "include"); |
26 | - if (!getTriple().isAndroid()) | 26 | + |
27 | + // And also do not add it when --sysroot is specified, since it would expect | 27 | + // do not add it when --sysroot is specified, since it would expect |
28 | + // libc++ headers from sysroot | 28 | + // libc++ headers from sysroot and not relative to compiler install location |
29 | + if (!getTriple().isAndroid() && SysRoot.empty()) | 29 | if (AddIncludePath(DriverIncludeDir, |
30 | if (AddIncludePath(getDriver().Dir + "/../include")) | 30 | - /*TargetDirRequired=*/getTriple().isAndroid())) |
31 | return; | 31 | + /*TargetDirRequired=*/getTriple().isAndroid() | !computeSysRoot().empty())) |
32 | return; | ||
32 | // If this is a development, non-installed, clang, libcxx will | 33 | // If this is a development, non-installed, clang, libcxx will |
34 | // not be found at ../include/c++ but it likely to be found at | ||
diff --git a/recipes-devtools/clang/clang/0026-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch b/recipes-devtools/clang/clang/0026-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch index 90783bb..26e81f9 100644 --- a/recipes-devtools/clang/clang/0026-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch +++ b/recipes-devtools/clang/clang/0026-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b00d9692a5337fdbbb5635cc9077061c47c7b741 Mon Sep 17 00:00:00 2001 | 1 | From 9a0b3da700e6e7b4045e310555de9cc55a8fdb98 Mon Sep 17 00:00:00 2001 |
2 | From: David Abdurachmanov <david.abdurachmanov@sifive.com> | 2 | From: David Abdurachmanov <david.abdurachmanov@sifive.com> |
3 | Date: Wed, 20 Oct 2021 17:30:36 -0700 | 3 | Date: Wed, 20 Oct 2021 17:30:36 -0700 |
4 | Subject: [PATCH] clang: Fix how driver finds GCC installation path on | 4 | Subject: [PATCH] clang: Fix how driver finds GCC installation path on |
@@ -31,10 +31,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
31 | 1 file changed, 39 insertions(+), 18 deletions(-) | 31 | 1 file changed, 39 insertions(+), 18 deletions(-) |
32 | 32 | ||
33 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 33 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
34 | index f228bd14e8a8..d746db487e1f 100644 | 34 | index d883dc3e7558..c627602827c3 100644 |
35 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp | 35 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp |
36 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp | 36 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp |
37 | @@ -1793,23 +1793,38 @@ static void findRISCVMultilibs(const Driver &D, | 37 | @@ -1909,23 +1909,38 @@ static void findRISCVMultilibs(const Driver &D, |
38 | return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result); | 38 | return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result); |
39 | 39 | ||
40 | FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS()); | 40 | FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS()); |
@@ -90,7 +90,7 @@ index f228bd14e8a8..d746db487e1f 100644 | |||
90 | 90 | ||
91 | Multilib::flags_list Flags; | 91 | Multilib::flags_list Flags; |
92 | bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64; | 92 | bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64; |
93 | @@ -2776,13 +2791,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( | 93 | @@ -2945,13 +2960,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( |
94 | continue; // Saw this path before; no need to look at it again. | 94 | continue; // Saw this path before; no need to look at it again. |
95 | if (CandidateVersion.isOlderThan(4, 1, 1)) | 95 | if (CandidateVersion.isOlderThan(4, 1, 1)) |
96 | continue; | 96 | continue; |
diff --git a/recipes-devtools/clang/clang/0027-Fix-lib-paths-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0027-Fix-lib-paths-for-OpenEmbedded-Host.patch index 59f3af1..b9e99bf 100644 --- a/recipes-devtools/clang/clang/0027-Fix-lib-paths-for-OpenEmbedded-Host.patch +++ b/recipes-devtools/clang/clang/0027-Fix-lib-paths-for-OpenEmbedded-Host.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f910a403e898d42d589b694bc9856f052386136e Mon Sep 17 00:00:00 2001 | 1 | From f9eb5c0b5e69cba7aea90d7bb84f3cb39f889329 Mon Sep 17 00:00:00 2001 |
2 | From: Changqing Li <changqing.li@windriver.com> | 2 | From: Changqing Li <changqing.li@windriver.com> |
3 | Date: Tue, 7 Dec 2021 04:08:22 +0000 | 3 | Date: Tue, 7 Dec 2021 04:08:22 +0000 |
4 | Subject: [PATCH] Fix lib paths for OpenEmbedded Host | 4 | Subject: [PATCH] Fix lib paths for OpenEmbedded Host |
@@ -48,7 +48,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
48 | 1 file changed, 4 insertions(+), 1 deletion(-) | 48 | 1 file changed, 4 insertions(+), 1 deletion(-) |
49 | 49 | ||
50 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 50 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
51 | index d746db487e1f..020fd106a629 100644 | 51 | index c627602827c3..98d979ace17b 100644 |
52 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp | 52 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp |
53 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp | 53 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp |
54 | @@ -19,6 +19,7 @@ | 54 | @@ -19,6 +19,7 @@ |
@@ -59,7 +59,7 @@ index d746db487e1f..020fd106a629 100644 | |||
59 | #include "clang/Driver/Driver.h" | 59 | #include "clang/Driver/Driver.h" |
60 | #include "clang/Driver/DriverDiagnostic.h" | 60 | #include "clang/Driver/DriverDiagnostic.h" |
61 | #include "clang/Driver/MultilibBuilder.h" | 61 | #include "clang/Driver/MultilibBuilder.h" |
62 | @@ -2749,6 +2750,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( | 62 | @@ -2918,6 +2919,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( |
63 | const llvm::Triple &TargetTriple, const ArgList &Args, | 63 | const llvm::Triple &TargetTriple, const ArgList &Args, |
64 | const std::string &LibDir, StringRef CandidateTriple, | 64 | const std::string &LibDir, StringRef CandidateTriple, |
65 | bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) { | 65 | bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) { |
@@ -67,7 +67,7 @@ index d746db487e1f..020fd106a629 100644 | |||
67 | // Locations relative to the system lib directory where GCC's triple-specific | 67 | // Locations relative to the system lib directory where GCC's triple-specific |
68 | // directories might reside. | 68 | // directories might reside. |
69 | struct GCCLibSuffix { | 69 | struct GCCLibSuffix { |
70 | @@ -2766,7 +2768,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( | 70 | @@ -2935,7 +2937,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( |
71 | // files in that location, not just GCC installation data. | 71 | // files in that location, not just GCC installation data. |
72 | {CandidateTriple.str(), "..", | 72 | {CandidateTriple.str(), "..", |
73 | TargetTriple.getVendor() == llvm::Triple::Freescale || | 73 | TargetTriple.getVendor() == llvm::Triple::Freescale || |
diff --git a/recipes-devtools/clang/clang/0028-Correct-library-search-path-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0028-Correct-library-search-path-for-OpenEmbedded-Host.patch index 9fc5223..1f2abb5 100644 --- a/recipes-devtools/clang/clang/0028-Correct-library-search-path-for-OpenEmbedded-Host.patch +++ b/recipes-devtools/clang/clang/0028-Correct-library-search-path-for-OpenEmbedded-Host.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9ed567b3fcce1759947621765199f13261c615a4 Mon Sep 17 00:00:00 2001 | 1 | From aeb8e9d7234b6aca328ed9666a139bb1f5d00bdc Mon Sep 17 00:00:00 2001 |
2 | From: Changqing Li <changqing.li@windriver.com> | 2 | From: Changqing Li <changqing.li@windriver.com> |
3 | Date: Tue, 7 Dec 2021 04:55:48 +0000 | 3 | Date: Tue, 7 Dec 2021 04:55:48 +0000 |
4 | Subject: [PATCH] Correct library search path for OpenEmbedded Host | 4 | Subject: [PATCH] Correct library search path for OpenEmbedded Host |
@@ -39,7 +39,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
39 | 3 files changed, 4 insertions(+) | 39 | 3 files changed, 4 insertions(+) |
40 | 40 | ||
41 | diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h | 41 | diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h |
42 | index 8291f6575a71..7ce64b9a2c25 100644 | 42 | index a8de94163e8b..847d6a3f9d1a 100644 |
43 | --- a/clang/include/clang/Driver/Distro.h | 43 | --- a/clang/include/clang/Driver/Distro.h |
44 | +++ b/clang/include/clang/Driver/Distro.h | 44 | +++ b/clang/include/clang/Driver/Distro.h |
45 | @@ -45,6 +45,7 @@ public: | 45 | @@ -45,6 +45,7 @@ public: |
@@ -50,7 +50,7 @@ index 8291f6575a71..7ce64b9a2c25 100644 | |||
50 | OpenSUSE, | 50 | OpenSUSE, |
51 | UbuntuHardy, | 51 | UbuntuHardy, |
52 | UbuntuIntrepid, | 52 | UbuntuIntrepid, |
53 | @@ -136,6 +137,7 @@ public: | 53 | @@ -137,6 +138,7 @@ public: |
54 | 54 | ||
55 | bool IsGentoo() const { return DistroVal == Gentoo; } | 55 | bool IsGentoo() const { return DistroVal == Gentoo; } |
56 | 56 | ||
@@ -59,7 +59,7 @@ index 8291f6575a71..7ce64b9a2c25 100644 | |||
59 | }; | 59 | }; |
60 | 60 | ||
61 | diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp | 61 | diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp |
62 | index 6e0087565941..13e45b1ea088 100644 | 62 | index a7e7f169dc14..48d4e15196da 100644 |
63 | --- a/clang/lib/Driver/Distro.cpp | 63 | --- a/clang/lib/Driver/Distro.cpp |
64 | +++ b/clang/lib/Driver/Distro.cpp | 64 | +++ b/clang/lib/Driver/Distro.cpp |
65 | @@ -44,6 +44,7 @@ static Distro::DistroType DetectOsRelease(llvm::vfs::FileSystem &VFS) { | 65 | @@ -44,6 +44,7 @@ static Distro::DistroType DetectOsRelease(llvm::vfs::FileSystem &VFS) { |
@@ -71,10 +71,10 @@ index 6e0087565941..13e45b1ea088 100644 | |||
71 | return Version; | 71 | return Version; |
72 | } | 72 | } |
73 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 73 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
74 | index ef8435385130..8bd21eebfed3 100644 | 74 | index cf549331d255..699ff18b1240 100644 |
75 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 75 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
76 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 76 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
77 | @@ -78,6 +78,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, | 77 | @@ -82,6 +82,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, |
78 | return "x86_64-linux-android"; | 78 | return "x86_64-linux-android"; |
79 | if (TargetEnvironment == llvm::Triple::GNUX32) | 79 | if (TargetEnvironment == llvm::Triple::GNUX32) |
80 | return "x86_64-linux-gnux32"; | 80 | return "x86_64-linux-gnux32"; |
diff --git a/recipes-devtools/clang/clang/0029-lldb-Link-with-libatomic-on-x86.patch b/recipes-devtools/clang/clang/0029-lldb-Link-with-libatomic-on-x86.patch index 6d71f75..0e155ef 100644 --- a/recipes-devtools/clang/clang/0029-lldb-Link-with-libatomic-on-x86.patch +++ b/recipes-devtools/clang/clang/0029-lldb-Link-with-libatomic-on-x86.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 374f62b718dbb04a88764cdfa747cd42ebf57829 Mon Sep 17 00:00:00 2001 | 1 | From 9132301a280a8c60e18ab4299bd55f9beb869fac 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, 8 Feb 2022 01:31:26 -0800 | 3 | Date: Tue, 8 Feb 2022 01:31:26 -0800 |
4 | Subject: [PATCH] lldb: Link with libatomic on x86 | 4 | Subject: [PATCH] lldb: Link with libatomic on x86 |
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
17 | 1 file changed, 4 insertions(+) | 17 | 1 file changed, 4 insertions(+) |
18 | 18 | ||
19 | diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt | 19 | diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt |
20 | index b376ace0ebe3..b9bb39220524 100644 | 20 | index a3b0a405b413..a68cfb503dfa 100644 |
21 | --- a/lldb/source/Utility/CMakeLists.txt | 21 | --- a/lldb/source/Utility/CMakeLists.txt |
22 | +++ b/lldb/source/Utility/CMakeLists.txt | 22 | +++ b/lldb/source/Utility/CMakeLists.txt |
23 | @@ -19,6 +19,10 @@ if (CMAKE_SYSTEM_NAME MATCHES "Windows") | 23 | @@ -19,6 +19,10 @@ if (CMAKE_SYSTEM_NAME MATCHES "Windows") |
diff --git a/recipes-devtools/clang/clang/0030-compiler-rt-Enable-__int128-for-ppc32.patch b/recipes-devtools/clang/clang/0030-compiler-rt-Enable-__int128-for-ppc32.patch index 9eb42e5..bcb64dd 100644 --- a/recipes-devtools/clang/clang/0030-compiler-rt-Enable-__int128-for-ppc32.patch +++ b/recipes-devtools/clang/clang/0030-compiler-rt-Enable-__int128-for-ppc32.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b907dbdce5520eaf841ae041fcca6941a8529456 Mon Sep 17 00:00:00 2001 | 1 | From 9decd876cd8352fac84aafe740a142f20b0f78fa 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, 9 Mar 2022 16:28:16 -0800 | 3 | Date: Wed, 9 Mar 2022 16:28:16 -0800 |
4 | Subject: [PATCH] compiler-rt: Enable __int128 for ppc32 | 4 | Subject: [PATCH] compiler-rt: Enable __int128 for ppc32 |
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
11 | 2 files changed, 8 insertions(+), 9 deletions(-) | 11 | 2 files changed, 8 insertions(+), 9 deletions(-) |
12 | 12 | ||
13 | diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt | 13 | diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt |
14 | index d62fa0432e2a..126505bd8921 100644 | 14 | index 28ded8766f25..08495c491f08 100644 |
15 | --- a/compiler-rt/lib/builtins/CMakeLists.txt | 15 | --- a/compiler-rt/lib/builtins/CMakeLists.txt |
16 | +++ b/compiler-rt/lib/builtins/CMakeLists.txt | 16 | +++ b/compiler-rt/lib/builtins/CMakeLists.txt |
17 | @@ -669,11 +669,9 @@ set(mips64_SOURCES ${GENERIC_TF_SOURCES} | 17 | @@ -686,11 +686,9 @@ set(mips64_SOURCES ${GENERIC_TF_SOURCES} |
18 | set(mips64el_SOURCES ${GENERIC_TF_SOURCES} | 18 | set(mips64el_SOURCES ${GENERIC_TF_SOURCES} |
19 | ${mips_SOURCES}) | 19 | ${mips_SOURCES}) |
20 | 20 | ||
@@ -27,7 +27,7 @@ index d62fa0432e2a..126505bd8921 100644 | |||
27 | ppc/divtc3.c | 27 | ppc/divtc3.c |
28 | ppc/fixtfdi.c | 28 | ppc/fixtfdi.c |
29 | ppc/fixunstfdi.c | 29 | ppc/fixunstfdi.c |
30 | @@ -688,14 +686,15 @@ set(powerpc64_SOURCES | 30 | @@ -705,14 +703,15 @@ set(powerpc64_SOURCES |
31 | ) | 31 | ) |
32 | # These routines require __int128, which isn't supported on AIX. | 32 | # These routines require __int128, which isn't supported on AIX. |
33 | if (NOT OS_NAME MATCHES "AIX") | 33 | if (NOT OS_NAME MATCHES "AIX") |
@@ -46,7 +46,7 @@ index d62fa0432e2a..126505bd8921 100644 | |||
46 | 46 | ||
47 | set(riscv_SOURCES | 47 | set(riscv_SOURCES |
48 | riscv/fp_mode.c | 48 | riscv/fp_mode.c |
49 | @@ -823,9 +822,9 @@ else () | 49 | @@ -847,9 +846,9 @@ else () |
50 | list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET) | 50 | list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET) |
51 | endif() | 51 | endif() |
52 | 52 | ||
@@ -59,7 +59,7 @@ index d62fa0432e2a..126505bd8921 100644 | |||
59 | endif() | 59 | endif() |
60 | 60 | ||
61 | diff --git a/compiler-rt/lib/builtins/int_types.h b/compiler-rt/lib/builtins/int_types.h | 61 | diff --git a/compiler-rt/lib/builtins/int_types.h b/compiler-rt/lib/builtins/int_types.h |
62 | index e94d3154c6d4..37b2cb43f932 100644 | 62 | index 7624c7280615..a45bf13f770e 100644 |
63 | --- a/compiler-rt/lib/builtins/int_types.h | 63 | --- a/compiler-rt/lib/builtins/int_types.h |
64 | +++ b/compiler-rt/lib/builtins/int_types.h | 64 | +++ b/compiler-rt/lib/builtins/int_types.h |
65 | @@ -64,7 +64,7 @@ typedef union { | 65 | @@ -64,7 +64,7 @@ typedef union { |
diff --git a/recipes-devtools/clang/clang/0031-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch b/recipes-devtools/clang/clang/0031-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch index 37c93de..ec92a86 100644 --- a/recipes-devtools/clang/clang/0031-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch +++ b/recipes-devtools/clang/clang/0031-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From fc268457a7ef1a8481a1d563550cc8e9a8a5afcb Mon Sep 17 00:00:00 2001 | 1 | From bfadfbccf990c2768d18dc8d7fc756aa59e4964c 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: Fri, 12 Aug 2022 11:50:57 -0700 | 3 | Date: Fri, 12 Aug 2022 11:50:57 -0700 |
4 | Subject: [PATCH] llvm: Do not use cmake infra to detect libzstd | 4 | Subject: [PATCH] llvm: Do not use cmake infra to detect libzstd |
@@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
21 | 1 file changed, 4 insertions(+), 4 deletions(-) | 21 | 1 file changed, 4 insertions(+), 4 deletions(-) |
22 | 22 | ||
23 | diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt | 23 | diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt |
24 | index 87fe7bebf688..e12e292fdfbf 100644 | 24 | index e19223fdef4f..9c8af2404545 100644 |
25 | --- a/llvm/lib/Support/CMakeLists.txt | 25 | --- a/llvm/lib/Support/CMakeLists.txt |
26 | +++ b/llvm/lib/Support/CMakeLists.txt | 26 | +++ b/llvm/lib/Support/CMakeLists.txt |
27 | @@ -22,7 +22,7 @@ if (HAS_WERROR_GLOBAL_CTORS) | 27 | @@ -22,7 +22,7 @@ if (HAS_WERROR_GLOBAL_CTORS) |
@@ -42,7 +42,7 @@ index 87fe7bebf688..e12e292fdfbf 100644 | |||
42 | endif() | 42 | endif() |
43 | 43 | ||
44 | if( MSVC OR MINGW ) | 44 | if( MSVC OR MINGW ) |
45 | @@ -292,7 +292,7 @@ if(LLVM_ENABLE_ZLIB) | 45 | @@ -306,7 +306,7 @@ if(LLVM_ENABLE_ZLIB) |
46 | get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) | 46 | get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) |
47 | endif() | 47 | endif() |
48 | get_library_name(${zlib_library} zlib_library) | 48 | get_library_name(${zlib_library} zlib_library) |
@@ -51,7 +51,7 @@ index 87fe7bebf688..e12e292fdfbf 100644 | |||
51 | endif() | 51 | endif() |
52 | 52 | ||
53 | if(LLVM_ENABLE_ZSTD) | 53 | if(LLVM_ENABLE_ZSTD) |
54 | @@ -305,7 +305,7 @@ if(LLVM_ENABLE_ZSTD) | 54 | @@ -319,7 +319,7 @@ if(LLVM_ENABLE_ZSTD) |
55 | get_property(zstd_library TARGET ${zstd_target} PROPERTY LOCATION) | 55 | get_property(zstd_library TARGET ${zstd_target} PROPERTY LOCATION) |
56 | endif() | 56 | endif() |
57 | get_library_name(${zstd_library} zstd_library) | 57 | get_library_name(${zstd_library} zstd_library) |
diff --git a/recipes-devtools/clang/clang/0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch b/recipes-devtools/clang/clang/0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch index 9d462b0..ce8f527 100644 --- a/recipes-devtools/clang/clang/0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch +++ b/recipes-devtools/clang/clang/0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b5be1155dbe4d82fef53960f5df8a25770cd8bfc Mon Sep 17 00:00:00 2001 | 1 | From f42372b9a89b494573bcc8a9c2dd05c168ccdd54 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, 3 Jan 2023 18:44:34 -0800 | 3 | Date: Tue, 3 Jan 2023 18:44:34 -0800 |
4 | Subject: [PATCH] compiler-rt: Fix stat struct's size for O32 ABI | 4 | Subject: [PATCH] compiler-rt: Fix stat struct's size for O32 ABI |
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 13 insertions(+) | 14 | 1 file changed, 13 insertions(+) |
15 | 15 | ||
16 | diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h | 16 | diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h |
17 | index 58244c9944a0..70daaf279f4a 100644 | 17 | index 34bfef1f7ef4..0ba5451c1ccf 100644 |
18 | --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h | 18 | --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h |
19 | +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h | 19 | +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h |
20 | @@ -98,11 +98,24 @@ const unsigned struct_kernel_stat64_sz = 104; | 20 | @@ -98,11 +98,24 @@ const unsigned struct_kernel_stat64_sz = 104; |
diff --git a/recipes-devtools/clang/clang/0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch b/recipes-devtools/clang/clang/0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch index dde742a..359131c 100644 --- a/recipes-devtools/clang/clang/0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch +++ b/recipes-devtools/clang/clang/0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From e8ecd192495c092dcee4fdb1ee5514222a8aa0c1 Mon Sep 17 00:00:00 2001 | 1 | From a6132924c06b4662eaed9820a13b63131ff8d4ff 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, 21 Feb 2023 12:46:10 -0800 | 3 | Date: Tue, 21 Feb 2023 12:46:10 -0800 |
4 | Subject: [PATCH] compiler-rt: Undef _TIME_BITS along with _FILE_OFFSET_BITS in | 4 | Subject: [PATCH] compiler-rt: Undef _TIME_BITS along with _FILE_OFFSET_BITS in |
@@ -22,7 +22,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
22 | 1 file changed, 9 insertions(+) | 22 | 1 file changed, 9 insertions(+) |
23 | 23 | ||
24 | diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h | 24 | diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h |
25 | index 764996e57355..99024169f925 100644 | 25 | index 596528155505..8f54ad70999c 100644 |
26 | --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h | 26 | --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h |
27 | +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h | 27 | +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h |
28 | @@ -22,6 +22,15 @@ | 28 | @@ -22,6 +22,15 @@ |
diff --git a/recipes-devtools/clang/clang/0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch b/recipes-devtools/clang/clang/0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch index 5a6b184..88b0440 100644 --- a/recipes-devtools/clang/clang/0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch +++ b/recipes-devtools/clang/clang/0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9fa41e535f7b95005e4aa2c764aebe674feeea69 Mon Sep 17 00:00:00 2001 | 1 | From 6021f23b2ce3166b2eb63fe48db71e6c593e1ac5 Mon Sep 17 00:00:00 2001 |
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | 2 | From: Martin Jansa <Martin.Jansa@gmail.com> |
3 | Date: Thu, 31 Aug 2023 18:14:47 +0200 | 3 | Date: Thu, 31 Aug 2023 18:14:47 +0200 |
4 | Subject: [PATCH] ToolChains/Gnu.cpp: ARMLibDirs search also in lib32 | 4 | Subject: [PATCH] ToolChains/Gnu.cpp: ARMLibDirs search also in lib32 |
@@ -55,10 +55,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | |||
55 | 2 files changed, 2 insertions(+), 1 deletion(-) | 55 | 2 files changed, 2 insertions(+), 1 deletion(-) |
56 | 56 | ||
57 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp | 57 | diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp |
58 | index 020fd106a629..358c0ade7b27 100644 | 58 | index 98d979ace17b..c5aed9b47123 100644 |
59 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp | 59 | --- a/clang/lib/Driver/ToolChains/Gnu.cpp |
60 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp | 60 | +++ b/clang/lib/Driver/ToolChains/Gnu.cpp |
61 | @@ -2325,7 +2325,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( | 61 | @@ -2479,7 +2479,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( |
62 | static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu", | 62 | static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu", |
63 | "aarch64_be-linux-gnu"}; | 63 | "aarch64_be-linux-gnu"}; |
64 | 64 | ||
@@ -68,10 +68,10 @@ index 020fd106a629..358c0ade7b27 100644 | |||
68 | static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", | 68 | static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", |
69 | "armv7hl-redhat-linux-gnueabi", | 69 | "armv7hl-redhat-linux-gnueabi", |
70 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 70 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
71 | index 8bd21eebfed3..2492db058cf9 100644 | 71 | index 699ff18b1240..4ed91b852562 100644 |
72 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 72 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
73 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 73 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
74 | @@ -198,6 +198,7 @@ static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) { | 74 | @@ -202,6 +202,7 @@ static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) { |
75 | // reasoning about oslibdir spellings with the lib dir spellings in the | 75 | // reasoning about oslibdir spellings with the lib dir spellings in the |
76 | // GCCInstallationDetector, but that is a more significant refactoring. | 76 | // GCCInstallationDetector, but that is a more significant refactoring. |
77 | if (Triple.getArch() == llvm::Triple::x86 || Triple.isPPC32() || | 77 | if (Triple.getArch() == llvm::Triple::x86 || Triple.isPPC32() || |
diff --git a/recipes-devtools/clang/clang/0035-compiler-rt-Fix-cmake-check-for-_Float16-and-__bf16.patch b/recipes-devtools/clang/clang/0035-compiler-rt-Fix-cmake-check-for-_Float16-and-__bf16.patch new file mode 100644 index 0000000..ee7c260 --- /dev/null +++ b/recipes-devtools/clang/clang/0035-compiler-rt-Fix-cmake-check-for-_Float16-and-__bf16.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From b44db6645cb65d060970b2535d372d6380d633f3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 1 Mar 2024 16:47:46 -0800 | ||
4 | Subject: [PATCH] compiler-rt: Fix cmake check for _Float16 and __bf16 | ||
5 | |||
6 | When using check_c_source_compiles cmake function, main has to be | ||
7 | provided, otherwise while compile step will be fine but linking step | ||
8 | will fail as there will be no main function and test will fail and | ||
9 | disable building HF builtins into compiler-rt | ||
10 | |||
11 | Fixes configure errors like below | ||
12 | |||
13 | aarch64-yoe-linux-ld.lld: error: undefined symbol: main | ||
14 | referenced by start.S:81 (../sysdeps/aarch64/start.S:81) | ||
15 | /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/compiler-rt/18.1.0/recipe-sysroot/usr/lib/Scrt1.o:(_start) | ||
16 | referenced by start.S:82 (../sysdeps/aarch64/start.S:82) | ||
17 | /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/compiler-rt/18.1.0/recipe-sysroot/usr/lib/Scrt1.o:(_start) | ||
18 | aarch64-yoe-linux-clang: error: linker command failed with exit code 1 (use -v to see invocation) | ||
19 | |||
20 | Upstream-Status: Submitted [https://github.com/kraj/llvm-project/pull/new/kraj/compiler-rt-float16] | ||
21 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
22 | --- | ||
23 | compiler-rt/lib/builtins/CMakeLists.txt | 4 ++-- | ||
24 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
25 | |||
26 | diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt | ||
27 | index 08495c491f08..bff96ba10bcd 100644 | ||
28 | --- a/compiler-rt/lib/builtins/CMakeLists.txt | ||
29 | +++ b/compiler-rt/lib/builtins/CMakeLists.txt | ||
30 | @@ -827,10 +827,10 @@ else () | ||
31 | endif() | ||
32 | endif() | ||
33 | endif() | ||
34 | - check_c_source_compiles("_Float16 foo(_Float16 x) { return x; }" | ||
35 | + check_c_source_compiles("_Float16 foo(_Float16 x) { return x; } int main(void) { return foo(1.0); }" | ||
36 | COMPILER_RT_HAS_${arch}_FLOAT16) | ||
37 | append_list_if(COMPILER_RT_HAS_${arch}_FLOAT16 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS_${arch}) | ||
38 | - check_c_source_compiles("__bf16 foo(__bf16 x) { return x; }" | ||
39 | + check_c_source_compiles("__bf16 foo(__bf16 x) { return x; } int main(void) { return foo(1.0); }" | ||
40 | COMPILER_RT_HAS_${arch}_BFLOAT16) | ||
41 | # Build BF16 files only when "__bf16" is available. | ||
42 | if(COMPILER_RT_HAS_${arch}_BFLOAT16) | ||
diff --git a/recipes-devtools/clang/clang/0035-libcxx-Implement-LWG3545-std-pointer_traits-should-be-.patch b/recipes-devtools/clang/clang/0035-libcxx-Implement-LWG3545-std-pointer_traits-should-be-.patch deleted file mode 100644 index af86540..0000000 --- a/recipes-devtools/clang/clang/0035-libcxx-Implement-LWG3545-std-pointer_traits-should-be-.patch +++ /dev/null | |||
@@ -1,660 +0,0 @@ | |||
1 | From 4d11d353656c5c848ddb2c13112cf1c2f8c041c0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Cheng <zetafunction+github@gmail.com> | ||
3 | Date: Mon, 18 Sep 2023 05:46:59 -0700 | ||
4 | Subject: [PATCH] [libc++] Implement LWG3545: std::pointer_traits should be | ||
5 | SFINAE-friendly. (#65177) | ||
6 | |||
7 | See https://wg21.link/LWG3545 for background and details. | ||
8 | |||
9 | Differential Revision: https://reviews.llvm.org/D158922 | ||
10 | |||
11 | Upstream-Status: Backport [https://github.com/llvm/llvm-project/pull/65177] | ||
12 | --- | ||
13 | libcxx/docs/Status/Cxx23Issues.csv | 2 +- | ||
14 | libcxx/include/__memory/pointer_traits.h | 17 +- | ||
15 | .../contiguous_iterator.verify.cpp | 54 ---- | ||
16 | ...to_address_without_pointer_traits.pass.cpp | 66 ++++ | ||
17 | .../pointer.traits/difference_type.pass.cpp | 28 -- | ||
18 | .../pointer.traits/element_type.pass.cpp | 28 -- | ||
19 | .../memory/pointer.traits/pointer.pass.cpp | 35 --- | ||
20 | .../memory/pointer.traits/rebind.pass.cpp | 32 -- | ||
21 | .../pointer.traits/types.compile.pass.cpp | 289 ++++++++++++++++++ | ||
22 | 9 files changed, 367 insertions(+), 184 deletions(-) | ||
23 | delete mode 100644 libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.verify.cpp | ||
24 | create mode 100644 libcxx/test/std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp | ||
25 | delete mode 100644 libcxx/test/std/utilities/memory/pointer.traits/difference_type.pass.cpp | ||
26 | delete mode 100644 libcxx/test/std/utilities/memory/pointer.traits/element_type.pass.cpp | ||
27 | delete mode 100644 libcxx/test/std/utilities/memory/pointer.traits/pointer.pass.cpp | ||
28 | delete mode 100644 libcxx/test/std/utilities/memory/pointer.traits/rebind.pass.cpp | ||
29 | create mode 100644 libcxx/test/std/utilities/memory/pointer.traits/types.compile.pass.cpp | ||
30 | |||
31 | diff --git a/libcxx/docs/Status/Cxx23Issues.csv b/libcxx/docs/Status/Cxx23Issues.csv | ||
32 | index 0cc06674bda3..dc96fb2e0b50 100644 | ||
33 | --- a/libcxx/docs/Status/Cxx23Issues.csv | ||
34 | +++ b/libcxx/docs/Status/Cxx23Issues.csv | ||
35 | @@ -190,7 +190,7 @@ | ||
36 | "`3118 <https://wg21.link/LWG3118>`__","``fpos`` equality comparison unspecified", "November 2022","","","" | ||
37 | "`3177 <https://wg21.link/LWG3177>`__","Limit permission to specialize variable templates to program-defined types", "November 2022","|Nothing to do|","","" | ||
38 | "`3515 <https://wg21.link/LWG3515>`__","§[stacktrace.basic.nonmem]: ``operator<<`` should be less templatized", "November 2022","","","" | ||
39 | -"`3545 <https://wg21.link/LWG3545>`__","``std::pointer_traits`` should be SFINAE-friendly", "November 2022","","","" | ||
40 | +"`3545 <https://wg21.link/LWG3545>`__","``std::pointer_traits`` should be SFINAE-friendly", "November 2022","|Complete|","18.0","" | ||
41 | "`3569 <https://wg21.link/LWG3569>`__","``join_view`` fails to support ranges of ranges with non-default_initializable iterators", "November 2022","","","|ranges|" | ||
42 | "`3594 <https://wg21.link/LWG3594>`__","``inout_ptr`` — inconsistent ``release()`` in destructor", "November 2022","","","" | ||
43 | "`3597 <https://wg21.link/LWG3597>`__","Unsigned integer types don't model advanceable", "November 2022","","","|ranges|" | ||
44 | diff --git a/libcxx/include/__memory/pointer_traits.h b/libcxx/include/__memory/pointer_traits.h | ||
45 | index c33e7bd43f29..7617948ed76b 100644 | ||
46 | --- a/libcxx/include/__memory/pointer_traits.h | ||
47 | +++ b/libcxx/include/__memory/pointer_traits.h | ||
48 | @@ -35,7 +35,7 @@ template <class _Tp> | ||
49 | struct __has_element_type<_Tp, __void_t<typename _Tp::element_type> > : true_type {}; | ||
50 | |||
51 | template <class _Ptr, bool = __has_element_type<_Ptr>::value> | ||
52 | -struct __pointer_traits_element_type; | ||
53 | +struct __pointer_traits_element_type {}; | ||
54 | |||
55 | template <class _Ptr> | ||
56 | struct __pointer_traits_element_type<_Ptr, true> | ||
57 | @@ -111,12 +111,14 @@ struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, false> | ||
58 | typedef _Sp<_Up, _Args...> type; | ||
59 | }; | ||
60 | |||
61 | +template <class _Ptr, class = void> | ||
62 | +struct __pointer_traits_impl {}; | ||
63 | + | ||
64 | template <class _Ptr> | ||
65 | -struct _LIBCPP_TEMPLATE_VIS pointer_traits | ||
66 | -{ | ||
67 | - typedef _Ptr pointer; | ||
68 | - typedef typename __pointer_traits_element_type<pointer>::type element_type; | ||
69 | - typedef typename __pointer_traits_difference_type<pointer>::type difference_type; | ||
70 | +struct __pointer_traits_impl<_Ptr, __void_t<typename __pointer_traits_element_type<_Ptr>::type> > { | ||
71 | + typedef _Ptr pointer; | ||
72 | + typedef typename __pointer_traits_element_type<pointer>::type element_type; | ||
73 | + typedef typename __pointer_traits_difference_type<pointer>::type difference_type; | ||
74 | |||
75 | #ifndef _LIBCPP_CXX03_LANG | ||
76 | template <class _Up> using rebind = typename __pointer_traits_rebind<pointer, _Up>::type; | ||
77 | @@ -133,6 +135,9 @@ public: | ||
78 | {return pointer::pointer_to(__r);} | ||
79 | }; | ||
80 | |||
81 | +template <class _Ptr> | ||
82 | +struct _LIBCPP_TEMPLATE_VIS pointer_traits : __pointer_traits_impl<_Ptr> {}; | ||
83 | + | ||
84 | template <class _Tp> | ||
85 | struct _LIBCPP_TEMPLATE_VIS pointer_traits<_Tp*> | ||
86 | { | ||
87 | diff --git a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.verify.cpp b/libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.verify.cpp | ||
88 | deleted file mode 100644 | ||
89 | index 37c5ad9610a6..000000000000 | ||
90 | --- a/libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.verify.cpp | ||
91 | +++ /dev/null | ||
92 | @@ -1,54 +0,0 @@ | ||
93 | -//===----------------------------------------------------------------------===// | ||
94 | -// | ||
95 | -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
96 | -// See https://llvm.org/LICENSE.txt for license information. | ||
97 | -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
98 | -// | ||
99 | -//===----------------------------------------------------------------------===// | ||
100 | - | ||
101 | -// UNSUPPORTED: c++03, c++11, c++14, c++17 | ||
102 | - | ||
103 | -// This test checks that std::contiguous_iterator uses std::to_address, which is not SFINAE-friendly | ||
104 | -// when the type is missing the `T::element_type` typedef. | ||
105 | - | ||
106 | -#include <iterator> | ||
107 | - | ||
108 | -#include <compare> | ||
109 | -#include <cstddef> | ||
110 | - | ||
111 | -struct no_element_type { | ||
112 | - typedef std::contiguous_iterator_tag iterator_category; | ||
113 | - typedef int value_type; | ||
114 | - typedef std::ptrdiff_t difference_type; | ||
115 | - typedef int* pointer; | ||
116 | - typedef int& reference; | ||
117 | - typedef no_element_type self; | ||
118 | - | ||
119 | - no_element_type(); | ||
120 | - | ||
121 | - reference operator*() const; | ||
122 | - pointer operator->() const; | ||
123 | - auto operator<=>(const self&) const = default; | ||
124 | - | ||
125 | - self& operator++(); | ||
126 | - self operator++(int); | ||
127 | - | ||
128 | - self& operator--(); | ||
129 | - self operator--(int); | ||
130 | - | ||
131 | - self& operator+=(difference_type n); | ||
132 | - self operator+(difference_type n) const; | ||
133 | - friend self operator+(difference_type n, self x); | ||
134 | - | ||
135 | - self& operator-=(difference_type n); | ||
136 | - self operator-(difference_type n) const; | ||
137 | - difference_type operator-(const self& n) const; | ||
138 | - | ||
139 | - reference operator[](difference_type n) const; | ||
140 | -}; | ||
141 | - | ||
142 | -void test() { | ||
143 | - (void) std::contiguous_iterator<no_element_type>; | ||
144 | - // expected-error@*:* {{implicit instantiation of undefined template}} | ||
145 | - // expected-note@*:* {{to_address}} | ||
146 | -} | ||
147 | diff --git a/libcxx/test/std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp b/libcxx/test/std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp | ||
148 | new file mode 100644 | ||
149 | index 000000000000..4d05c10e0fbd | ||
150 | --- /dev/null | ||
151 | +++ b/libcxx/test/std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp | ||
152 | @@ -0,0 +1,66 @@ | ||
153 | +//===----------------------------------------------------------------------===// | ||
154 | +// | ||
155 | +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
156 | +// See https://llvm.org/LICENSE.txt for license information. | ||
157 | +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
158 | +// | ||
159 | +//===----------------------------------------------------------------------===// | ||
160 | + | ||
161 | +// <memory> | ||
162 | + | ||
163 | +// UNSUPPORTED: c++03, c++11, c++14, c++17 | ||
164 | + | ||
165 | +// template <class Ptr> constexpr auto to_address(const Ptr& p) noexcept; | ||
166 | +// Should not require a specialization of pointer_traits for Ptr. | ||
167 | + | ||
168 | +#include <memory> | ||
169 | +#include <type_traits> | ||
170 | +#include <utility> | ||
171 | + | ||
172 | +struct IntPtr { | ||
173 | + constexpr int* operator->() const { return ptr; } | ||
174 | + | ||
175 | + int* ptr; | ||
176 | +}; | ||
177 | + | ||
178 | +template <class T, bool> | ||
179 | +struct TemplatedPtr { | ||
180 | + constexpr T* operator->() const { return ptr; } | ||
181 | + | ||
182 | + T* ptr; | ||
183 | +}; | ||
184 | + | ||
185 | +template <template <class...> class Templ, class Ignore, class... Args> | ||
186 | +struct is_valid_expansion_impl : std::false_type {}; | ||
187 | + | ||
188 | +template <template <class...> class Templ, class... Args> | ||
189 | +struct is_valid_expansion_impl<Templ, decltype((void)Templ<Args...>{}, 0), Args...> : std::true_type {}; | ||
190 | + | ||
191 | +template <template <class...> class Templ, class... Args> | ||
192 | +using is_valid_expansion = is_valid_expansion_impl<Templ, int, Args...>; | ||
193 | + | ||
194 | +template <class Ptr> | ||
195 | +using TestToAddressCall = decltype(std::to_address(std::declval<Ptr>())); | ||
196 | + | ||
197 | +constexpr bool test() { | ||
198 | + int i = 0; | ||
199 | + | ||
200 | + static_assert(std::to_address(IntPtr{nullptr}) == nullptr); | ||
201 | + static_assert(std::to_address(IntPtr{&i}) == &i); | ||
202 | + | ||
203 | + bool b = false; | ||
204 | + | ||
205 | + static_assert(std::to_address(TemplatedPtr<bool, true>{nullptr}) == nullptr); | ||
206 | + static_assert(std::to_address(TemplatedPtr<bool, true>{&b}) == &b); | ||
207 | + | ||
208 | + static_assert(!is_valid_expansion<TestToAddressCall, int>::value); | ||
209 | + static_assert(is_valid_expansion<TestToAddressCall, IntPtr>::value); | ||
210 | + static_assert(is_valid_expansion<TestToAddressCall, TemplatedPtr<bool, true>>::value); | ||
211 | + | ||
212 | + return true; | ||
213 | +} | ||
214 | + | ||
215 | +int main(int, char**) { | ||
216 | + static_assert(test()); | ||
217 | + return 0; | ||
218 | +} | ||
219 | diff --git a/libcxx/test/std/utilities/memory/pointer.traits/difference_type.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/difference_type.pass.cpp | ||
220 | deleted file mode 100644 | ||
221 | index 7546df902882..000000000000 | ||
222 | --- a/libcxx/test/std/utilities/memory/pointer.traits/difference_type.pass.cpp | ||
223 | +++ /dev/null | ||
224 | @@ -1,28 +0,0 @@ | ||
225 | -//===----------------------------------------------------------------------===// | ||
226 | -// | ||
227 | -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
228 | -// See https://llvm.org/LICENSE.txt for license information. | ||
229 | -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
230 | -// | ||
231 | -//===----------------------------------------------------------------------===// | ||
232 | - | ||
233 | -// <memory> | ||
234 | - | ||
235 | -// template <class T> | ||
236 | -// struct pointer_traits<T*> | ||
237 | -// { | ||
238 | -// typedef ptrdiff_t difference_type; | ||
239 | -// ... | ||
240 | -// }; | ||
241 | - | ||
242 | -#include <memory> | ||
243 | -#include <type_traits> | ||
244 | - | ||
245 | -#include "test_macros.h" | ||
246 | - | ||
247 | -int main(int, char**) | ||
248 | -{ | ||
249 | - static_assert((std::is_same<std::pointer_traits<double*>::difference_type, std::ptrdiff_t>::value), ""); | ||
250 | - | ||
251 | - return 0; | ||
252 | -} | ||
253 | diff --git a/libcxx/test/std/utilities/memory/pointer.traits/element_type.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/element_type.pass.cpp | ||
254 | deleted file mode 100644 | ||
255 | index e4f11c28e29b..000000000000 | ||
256 | --- a/libcxx/test/std/utilities/memory/pointer.traits/element_type.pass.cpp | ||
257 | +++ /dev/null | ||
258 | @@ -1,28 +0,0 @@ | ||
259 | -//===----------------------------------------------------------------------===// | ||
260 | -// | ||
261 | -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
262 | -// See https://llvm.org/LICENSE.txt for license information. | ||
263 | -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
264 | -// | ||
265 | -//===----------------------------------------------------------------------===// | ||
266 | - | ||
267 | -// <memory> | ||
268 | - | ||
269 | -// template <class T> | ||
270 | -// struct pointer_traits<T*> | ||
271 | -// { | ||
272 | -// typedef T element_type; | ||
273 | -// ... | ||
274 | -// }; | ||
275 | - | ||
276 | -#include <memory> | ||
277 | -#include <type_traits> | ||
278 | - | ||
279 | -#include "test_macros.h" | ||
280 | - | ||
281 | -int main(int, char**) | ||
282 | -{ | ||
283 | - static_assert((std::is_same<std::pointer_traits<const short*>::element_type, const short>::value), ""); | ||
284 | - | ||
285 | - return 0; | ||
286 | -} | ||
287 | diff --git a/libcxx/test/std/utilities/memory/pointer.traits/pointer.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/pointer.pass.cpp | ||
288 | deleted file mode 100644 | ||
289 | index 14054b3c4f65..000000000000 | ||
290 | --- a/libcxx/test/std/utilities/memory/pointer.traits/pointer.pass.cpp | ||
291 | +++ /dev/null | ||
292 | @@ -1,35 +0,0 @@ | ||
293 | -//===----------------------------------------------------------------------===// | ||
294 | -// | ||
295 | -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
296 | -// See https://llvm.org/LICENSE.txt for license information. | ||
297 | -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
298 | -// | ||
299 | -//===----------------------------------------------------------------------===// | ||
300 | - | ||
301 | -// <memory> | ||
302 | - | ||
303 | -// template <class Ptr> | ||
304 | -// struct pointer_traits | ||
305 | -// { | ||
306 | -// typedef Ptr pointer; | ||
307 | -// ... | ||
308 | -// }; | ||
309 | - | ||
310 | -#include <memory> | ||
311 | -#include <type_traits> | ||
312 | - | ||
313 | -#include "test_macros.h" | ||
314 | - | ||
315 | -struct A | ||
316 | -{ | ||
317 | - typedef short element_type; | ||
318 | - typedef char difference_type; | ||
319 | -}; | ||
320 | - | ||
321 | -int main(int, char**) | ||
322 | -{ | ||
323 | - static_assert((std::is_same<std::pointer_traits<A>::pointer, A>::value), ""); | ||
324 | - static_assert((std::is_same<std::pointer_traits<int*>::pointer, int*>::value), ""); | ||
325 | - | ||
326 | - return 0; | ||
327 | -} | ||
328 | diff --git a/libcxx/test/std/utilities/memory/pointer.traits/rebind.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/rebind.pass.cpp | ||
329 | deleted file mode 100644 | ||
330 | index f64213c9b887..000000000000 | ||
331 | --- a/libcxx/test/std/utilities/memory/pointer.traits/rebind.pass.cpp | ||
332 | +++ /dev/null | ||
333 | @@ -1,32 +0,0 @@ | ||
334 | -//===----------------------------------------------------------------------===// | ||
335 | -// | ||
336 | -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
337 | -// See https://llvm.org/LICENSE.txt for license information. | ||
338 | -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
339 | -// | ||
340 | -//===----------------------------------------------------------------------===// | ||
341 | - | ||
342 | -// <memory> | ||
343 | - | ||
344 | -// template <class T> | ||
345 | -// struct pointer_traits<T*> | ||
346 | -// { | ||
347 | -// template <class U> using rebind = U*; | ||
348 | -// ... | ||
349 | -// }; | ||
350 | - | ||
351 | -#include <memory> | ||
352 | -#include <type_traits> | ||
353 | - | ||
354 | -#include "test_macros.h" | ||
355 | - | ||
356 | -int main(int, char**) | ||
357 | -{ | ||
358 | -#if TEST_STD_VER >= 11 | ||
359 | - static_assert((std::is_same<std::pointer_traits<int*>::rebind<double>, double*>::value), ""); | ||
360 | -#else | ||
361 | - static_assert((std::is_same<std::pointer_traits<int*>::rebind<double>::other, double*>::value), ""); | ||
362 | -#endif | ||
363 | - | ||
364 | - return 0; | ||
365 | -} | ||
366 | diff --git a/libcxx/test/std/utilities/memory/pointer.traits/types.compile.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/types.compile.pass.cpp | ||
367 | new file mode 100644 | ||
368 | index 000000000000..19461508ca0f | ||
369 | --- /dev/null | ||
370 | +++ b/libcxx/test/std/utilities/memory/pointer.traits/types.compile.pass.cpp | ||
371 | @@ -0,0 +1,289 @@ | ||
372 | +//===----------------------------------------------------------------------===// | ||
373 | +// | ||
374 | +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
375 | +// See https://llvm.org/LICENSE.txt for license information. | ||
376 | +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
377 | +// | ||
378 | +//===----------------------------------------------------------------------===// | ||
379 | + | ||
380 | +// <memory> | ||
381 | + | ||
382 | +// template <class Ptr> | ||
383 | +// struct pointer_traits | ||
384 | +// { | ||
385 | +// <details> | ||
386 | +// }; | ||
387 | +// | ||
388 | +// template <class T> | ||
389 | +// struct pointer_traits<T*> | ||
390 | +// { | ||
391 | +// using pointer = T*; | ||
392 | +// using element_type = T; | ||
393 | +// using difference_type = ptrdiff_t; | ||
394 | +// template <class U> using rebind = U*; | ||
395 | +// static constexpr pointer pointer_to(<details>) noexcept; | ||
396 | +// ... | ||
397 | +// }; | ||
398 | + | ||
399 | +#include <memory> | ||
400 | +#include <type_traits> | ||
401 | + | ||
402 | +#include "test_macros.h" | ||
403 | + | ||
404 | +template <typename... Ts> | ||
405 | +struct VoidifyImpl { | ||
406 | + using type = void; | ||
407 | +}; | ||
408 | + | ||
409 | +template <typename... Ts> | ||
410 | +using Voidify = typename VoidifyImpl<Ts...>::type; | ||
411 | + | ||
412 | +template <class T, class = void> | ||
413 | +struct HasElementType : std::false_type {}; | ||
414 | + | ||
415 | +template <class T> | ||
416 | +struct HasElementType<T, Voidify<typename std::pointer_traits<T>::element_type> > : std::true_type {}; | ||
417 | + | ||
418 | +template <class T, class = void> | ||
419 | +struct HasPointerType : std::false_type {}; | ||
420 | + | ||
421 | +template <class T> | ||
422 | +struct HasPointerType<T, Voidify<typename std::pointer_traits<T>::pointer> > : std::true_type {}; | ||
423 | + | ||
424 | +template <class T, class = void> | ||
425 | +struct HasDifferenceType : std::false_type {}; | ||
426 | + | ||
427 | +template <class T> | ||
428 | +struct HasDifferenceType<T, Voidify<typename std::pointer_traits<T>::difference_type> > : std::true_type {}; | ||
429 | + | ||
430 | +template <class T, class U, class = void> | ||
431 | +struct HasRebind : std::false_type {}; | ||
432 | + | ||
433 | +template <class T, class U> | ||
434 | +struct HasRebind<T, U, Voidify<typename std::pointer_traits<T>::template rebind<U> > > : std::true_type {}; | ||
435 | + | ||
436 | +template <class T, class = void> | ||
437 | +struct HasPointerTo : std::false_type {}; | ||
438 | + | ||
439 | +template <class T> | ||
440 | +struct HasPointerTo< | ||
441 | + T, | ||
442 | + Voidify<decltype(std::pointer_traits<T>::pointer_to( | ||
443 | + std::declval<typename std::add_lvalue_reference<typename std::pointer_traits<T>::element_type>::type>()))> > | ||
444 | + : std::true_type {}; | ||
445 | + | ||
446 | +struct Irrelevant; | ||
447 | + | ||
448 | +struct NotAPtr {}; | ||
449 | + | ||
450 | +struct LongPtr {}; | ||
451 | + | ||
452 | +int global_int; | ||
453 | + | ||
454 | +template <class T, class Arg> | ||
455 | +struct TemplatedPtr; | ||
456 | + | ||
457 | +struct PtrWithElementType { | ||
458 | + using element_type = int; | ||
459 | + template <class U> | ||
460 | +#if TEST_STD_VER >= 11 | ||
461 | + using rebind = TemplatedPtr<U, Irrelevant>; | ||
462 | +#else | ||
463 | + struct rebind { | ||
464 | + using other = TemplatedPtr<U, Irrelevant>; | ||
465 | + }; | ||
466 | +#endif | ||
467 | + static TEST_CONSTEXPR_CXX14 PtrWithElementType pointer_to(element_type&) { return {&global_int}; } | ||
468 | + int* ptr; | ||
469 | +}; | ||
470 | + | ||
471 | +template <class T, class Arg> | ||
472 | +struct TemplatedPtr { | ||
473 | + template <class U, class = typename std::enable_if<std::is_same<long, U>::value>::type> | ||
474 | +#if TEST_STD_VER >= 11 | ||
475 | + using rebind = LongPtr; | ||
476 | +#else | ||
477 | + struct rebind { | ||
478 | + using other = LongPtr; | ||
479 | + }; | ||
480 | +#endif | ||
481 | + static TEST_CONSTEXPR_CXX14 TemplatedPtr pointer_to(T&) { return {&global_int}; } | ||
482 | + | ||
483 | + T* ptr; | ||
484 | +}; | ||
485 | + | ||
486 | +template <class T, class Arg> | ||
487 | +struct TemplatedPtrWithElementType { | ||
488 | + using element_type = int; | ||
489 | +#if TEST_STD_VER >= 11 | ||
490 | + template <class U, class = typename std::enable_if<std::is_same<long, U>::value>::type> | ||
491 | + using rebind = LongPtr; | ||
492 | +#else | ||
493 | + template <class U, class = typename std::enable_if<std::is_same<long, U>::value>::type> | ||
494 | + struct rebind { | ||
495 | + using other = LongPtr; | ||
496 | + }; | ||
497 | +#endif | ||
498 | + static TEST_CONSTEXPR_CXX14 TemplatedPtrWithElementType pointer_to(element_type&) { return {&global_int}; } | ||
499 | + | ||
500 | + element_type* ptr; | ||
501 | +}; | ||
502 | + | ||
503 | +int main() { | ||
504 | + { | ||
505 | + using Ptr = NotAPtr; | ||
506 | + static_assert(!HasElementType<Ptr>::value, ""); | ||
507 | + static_assert(!HasPointerType<Ptr>::value, ""); | ||
508 | + static_assert(!HasDifferenceType<Ptr>::value, ""); | ||
509 | + static_assert(!HasRebind<Ptr, long>::value, ""); | ||
510 | + static_assert(!HasPointerTo<Ptr>::value, ""); | ||
511 | + } | ||
512 | + | ||
513 | + { | ||
514 | + using Ptr = int*; | ||
515 | + | ||
516 | + static_assert(HasElementType<Ptr>::value, ""); | ||
517 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::element_type, int); | ||
518 | + | ||
519 | + static_assert(HasPointerType<Ptr>::value, ""); | ||
520 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::pointer, Ptr); | ||
521 | + | ||
522 | + static_assert(HasDifferenceType<Ptr>::value, ""); | ||
523 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::difference_type, ptrdiff_t); | ||
524 | + | ||
525 | + static_assert(HasRebind<Ptr, long>::value, ""); | ||
526 | +#if TEST_STD_VER >= 11 | ||
527 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>, long*); | ||
528 | +#else | ||
529 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>::other, long*); | ||
530 | +#endif | ||
531 | + | ||
532 | + static_assert(HasPointerTo<Ptr>::value, ""); | ||
533 | + int variable = 0; | ||
534 | + ASSERT_SAME_TYPE(decltype(std::pointer_traits<Ptr>::pointer_to(variable)), Ptr); | ||
535 | +#if TEST_STD_VER >= 20 | ||
536 | + static_assert(std::pointer_traits<Ptr>::pointer_to(variable) == &variable, ""); | ||
537 | +#endif | ||
538 | + } | ||
539 | + | ||
540 | + { | ||
541 | + using Ptr = const int*; | ||
542 | + | ||
543 | + static_assert(HasElementType<Ptr>::value, ""); | ||
544 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::element_type, const int); | ||
545 | + | ||
546 | + static_assert(HasPointerType<Ptr>::value, ""); | ||
547 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::pointer, Ptr); | ||
548 | + | ||
549 | + static_assert(HasDifferenceType<Ptr>::value, ""); | ||
550 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::difference_type, ptrdiff_t); | ||
551 | + | ||
552 | + static_assert(HasRebind<Ptr, long>::value, ""); | ||
553 | +#if TEST_STD_VER >= 11 | ||
554 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>, long*); | ||
555 | +#else | ||
556 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>::other, long*); | ||
557 | +#endif | ||
558 | + | ||
559 | + static_assert(HasPointerTo<Ptr>::value, ""); | ||
560 | + const int const_variable = 0; | ||
561 | + ASSERT_SAME_TYPE(decltype(std::pointer_traits<Ptr>::pointer_to(const_variable)), Ptr); | ||
562 | +#if TEST_STD_VER >= 20 | ||
563 | + static_assert(std::pointer_traits<Ptr>::pointer_to(const_variable) == &const_variable, ""); | ||
564 | +#endif | ||
565 | + int variable = 0; | ||
566 | + ASSERT_SAME_TYPE(decltype(std::pointer_traits<Ptr>::pointer_to(variable)), Ptr); | ||
567 | +#if TEST_STD_VER >= 20 | ||
568 | + static_assert(std::pointer_traits<Ptr>::pointer_to(variable) == &variable, ""); | ||
569 | +#endif | ||
570 | + } | ||
571 | + | ||
572 | + { | ||
573 | + using Ptr = PtrWithElementType; | ||
574 | + | ||
575 | + static_assert(HasElementType<Ptr>::value, ""); | ||
576 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::element_type, int); | ||
577 | + | ||
578 | + static_assert(HasPointerType<Ptr>::value, ""); | ||
579 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::pointer, Ptr); | ||
580 | + | ||
581 | + static_assert(HasDifferenceType<Ptr>::value, ""); | ||
582 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::difference_type, ptrdiff_t); | ||
583 | + | ||
584 | + static_assert(HasRebind<Ptr, long>::value, ""); | ||
585 | +#if TEST_STD_VER >= 11 | ||
586 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>, TemplatedPtr<long, Irrelevant>); | ||
587 | +#else | ||
588 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>::other, TemplatedPtr<long, Irrelevant>); | ||
589 | +#endif | ||
590 | + | ||
591 | + static_assert(HasPointerTo<Ptr>::value, ""); | ||
592 | + int ignored = 0; | ||
593 | + ASSERT_SAME_TYPE(decltype(std::pointer_traits<Ptr>::pointer_to(ignored)), Ptr); | ||
594 | +#if TEST_STD_VER >= 20 | ||
595 | + static_assert(std::pointer_traits<Ptr>::pointer_to(ignored).ptr == &global_int, ""); | ||
596 | +#endif | ||
597 | + } | ||
598 | + | ||
599 | + { | ||
600 | + using Ptr = TemplatedPtr<int, Irrelevant>; | ||
601 | + | ||
602 | + static_assert(HasElementType<Ptr>::value, ""); | ||
603 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::element_type, int); | ||
604 | + | ||
605 | + static_assert(HasPointerType<Ptr>::value, ""); | ||
606 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::pointer, Ptr); | ||
607 | + | ||
608 | + static_assert(HasDifferenceType<Ptr>::value, ""); | ||
609 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::difference_type, ptrdiff_t); | ||
610 | + | ||
611 | + static_assert(HasRebind<Ptr, long>::value, ""); | ||
612 | + static_assert(HasRebind<Ptr, long long>::value, ""); | ||
613 | +#if TEST_STD_VER >= 11 | ||
614 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>, LongPtr); | ||
615 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long long>, TemplatedPtr<long long, Irrelevant>); | ||
616 | +#else | ||
617 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>::other, LongPtr); | ||
618 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long long>::other, TemplatedPtr<long long, Irrelevant>); | ||
619 | +#endif | ||
620 | + | ||
621 | + static_assert(HasPointerTo<Ptr>::value, ""); | ||
622 | + int ignored = 0; | ||
623 | + ASSERT_SAME_TYPE(decltype(std::pointer_traits<Ptr>::pointer_to(ignored)), Ptr); | ||
624 | +#if TEST_STD_VER >= 20 | ||
625 | + static_assert(std::pointer_traits<Ptr>::pointer_to(ignored).ptr == &global_int, ""); | ||
626 | +#endif | ||
627 | + } | ||
628 | + | ||
629 | + { | ||
630 | + using Ptr = TemplatedPtrWithElementType<Irrelevant, Irrelevant>; | ||
631 | + | ||
632 | + static_assert(HasElementType<Ptr>::value, ""); | ||
633 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::element_type, int); | ||
634 | + | ||
635 | + static_assert(HasPointerType<Ptr>::value, ""); | ||
636 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::pointer, Ptr); | ||
637 | + | ||
638 | + static_assert(HasDifferenceType<Ptr>::value, ""); | ||
639 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::difference_type, ptrdiff_t); | ||
640 | + | ||
641 | + static_assert(HasRebind<Ptr, long>::value, ""); | ||
642 | + static_assert(HasRebind<Ptr, long long>::value, ""); | ||
643 | +#if TEST_STD_VER >= 11 | ||
644 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>, LongPtr); | ||
645 | + ASSERT_SAME_TYPE( | ||
646 | + typename std::pointer_traits<Ptr>::rebind<long long>, TemplatedPtrWithElementType<long long, Irrelevant>); | ||
647 | +#else | ||
648 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long>::other, LongPtr); | ||
649 | + ASSERT_SAME_TYPE(typename std::pointer_traits<Ptr>::rebind<long long>::other, | ||
650 | + TemplatedPtrWithElementType<long long, Irrelevant>); | ||
651 | +#endif | ||
652 | + | ||
653 | + static_assert(HasPointerTo<Ptr>::value, ""); | ||
654 | + int ignored = 0; | ||
655 | + ASSERT_SAME_TYPE(decltype(std::pointer_traits<Ptr>::pointer_to(ignored)), Ptr); | ||
656 | +#if TEST_STD_VER >= 20 | ||
657 | + static_assert(std::pointer_traits<Ptr>::pointer_to(ignored).ptr == &global_int, ""); | ||
658 | +#endif | ||
659 | + } | ||
660 | +} | ||
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 07cba57..2891a3a 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -155,6 +155,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ | |||
155 | -DBUILD_SHARED_LIBS=OFF \ | 155 | -DBUILD_SHARED_LIBS=OFF \ |
156 | -DLLVM_ENABLE_PROJECTS='${LLVM_PROJECTS}' \ | 156 | -DLLVM_ENABLE_PROJECTS='${LLVM_PROJECTS}' \ |
157 | -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \ | 157 | -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \ |
158 | -DLLVM_VERSION_SUFFIX='${VER_SUFFIX}' \ | ||
158 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ | 159 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ |
159 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ | 160 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ |
160 | -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ | 161 | -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ |
diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index c004d16..2f7d27d 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc | |||
@@ -43,7 +43,7 @@ SRC_URI = "\ | |||
43 | file://0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch \ | 43 | file://0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch \ |
44 | file://0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch \ | 44 | file://0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch \ |
45 | file://0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \ | 45 | file://0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \ |
46 | file://0035-libcxx-Implement-LWG3545-std-pointer_traits-should-be-.patch \ | 46 | file://0035-compiler-rt-Fix-cmake-check-for-_Float16-and-__bf16.patch \ |
47 | " | 47 | " |
48 | # Fallback to no-PIE if not set | 48 | # Fallback to no-PIE if not set |
49 | GCCPIE ??= "" | 49 | GCCPIE ??= "" |