summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/layer.conf2
-rw-r--r--recipes-devtools/clang/clang.inc4
-rw-r--r--recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch16
-rw-r--r--recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch2
-rw-r--r--recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch6
-rw-r--r--recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch18
-rw-r--r--recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch2
-rw-r--r--recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch16
-rw-r--r--recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch6
-rw-r--r--recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch6
-rw-r--r--recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch6
-rw-r--r--recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch6
-rw-r--r--recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch6
-rw-r--r--recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch6
-rw-r--r--recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch2
-rw-r--r--recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch12
-rw-r--r--recipes-devtools/clang/clang/0015-cmake-Fix-configure-for-packages-using-find_package.patch (renamed from recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch)36
-rw-r--r--recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch6
-rw-r--r--recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch14
-rw-r--r--recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch2
-rw-r--r--recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch12
-rw-r--r--recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch45
-rw-r--r--recipes-devtools/clang/clang/0020-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch (renamed from recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch)6
-rw-r--r--recipes-devtools/clang/clang/0021-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch (renamed from recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch)2
-rw-r--r--recipes-devtools/clang/clang/0022-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch (renamed from recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch)6
-rw-r--r--recipes-devtools/clang/clang/0023-libunwind-Added-unw_backtrace-method.patch (renamed from recipes-devtools/clang/clang/0024-libunwind-Added-unw_backtrace-method.patch)6
-rw-r--r--recipes-devtools/clang/clang/0024-clang-Do-not-use-install-relative-libc-headers.patch (renamed from recipes-devtools/clang/clang/0025-clang-Do-not-use-install-relative-libc-headers.patch)6
-rw-r--r--recipes-devtools/clang/clang/0025-Fix-lib-paths-for-OpenEmbedded-Host.patch (renamed from recipes-devtools/clang/clang/0027-Fix-lib-paths-for-OpenEmbedded-Host.patch)8
-rw-r--r--recipes-devtools/clang/clang/0026-Correct-library-search-path-for-OpenEmbedded-Host.patch (renamed from recipes-devtools/clang/clang/0028-Correct-library-search-path-for-OpenEmbedded-Host.patch)10
-rw-r--r--recipes-devtools/clang/clang/0026-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch113
-rw-r--r--recipes-devtools/clang/clang/0027-lldb-Link-with-libatomic-on-x86.patch (renamed from recipes-devtools/clang/clang/0029-lldb-Link-with-libatomic-on-x86.patch)4
-rw-r--r--recipes-devtools/clang/clang/0028-compiler-rt-Enable-__int128-for-ppc32.patch (renamed from recipes-devtools/clang/clang/0030-compiler-rt-Enable-__int128-for-ppc32.patch)16
-rw-r--r--recipes-devtools/clang/clang/0029-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch (renamed from recipes-devtools/clang/clang/0031-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch)24
-rw-r--r--recipes-devtools/clang/clang/0030-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch (renamed from recipes-devtools/clang/clang/0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch)2
-rw-r--r--recipes-devtools/clang/clang/0031-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch (renamed from recipes-devtools/clang/clang/0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch)4
-rw-r--r--recipes-devtools/clang/clang/0032-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch (renamed from recipes-devtools/clang/clang/0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch)14
-rw-r--r--recipes-devtools/clang/clang/0033-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch78
-rw-r--r--recipes-devtools/clang/clang/0034-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch (renamed from recipes-devtools/clang/clang/0036-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch)2
-rw-r--r--recipes-devtools/clang/clang/0035-compiler-rt-Fix-cmake-check-for-_Float16-and-__bf16.patch42
-rw-r--r--recipes-devtools/clang/common.inc50
40 files changed, 256 insertions, 368 deletions
diff --git a/conf/layer.conf b/conf/layer.conf
index 2fe079b..19b8c8f 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -33,7 +33,7 @@ INHERIT += "clang"
33# Do not include clang in SDK unless user wants to 33# Do not include clang in SDK unless user wants to
34CLANGSDK ??= "0" 34CLANGSDK ??= "0"
35 35
36LLVMVERSION = "18.1.8" 36LLVMVERSION = "19.1.0"
37 37
38require conf/nonclangable.conf 38require conf/nonclangable.conf
39require conf/nonscanable.conf 39require conf/nonscanable.conf
diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc
index 468d039..a7c9377 100644
--- a/recipes-devtools/clang/clang.inc
+++ b/recipes-devtools/clang/clang.inc
@@ -3,9 +3,9 @@ LLVM_DIR = "llvm${LLVM_RELEASE}"
3 3
4LLVM_HTTP ?= "https://github.com/llvm" 4LLVM_HTTP ?= "https://github.com/llvm"
5 5
6MAJOR_VER = "18" 6MAJOR_VER = "19"
7MINOR_VER = "1" 7MINOR_VER = "1"
8PATCH_VER = "8" 8PATCH_VER = "0"
9# could be 'rcX' or 'git' or empty ( for release ) 9# could be 'rcX' or 'git' or empty ( for release )
10VER_SUFFIX = "" 10VER_SUFFIX = ""
11 11
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 d4afeed..97397d9 100644
--- a/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
+++ b/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch
@@ -1,4 +1,4 @@
1From ec5bd3bfc9f682c90ceba06f2d76aa5234a9c846 Mon Sep 17 00:00:00 2001 1From 78c27664e7ffee1bc7a8beff604860ea194e27a5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 27 Aug 2017 10:37:49 -0700 3Date: Sun, 27 Aug 2017 10:37:49 -0700
4Subject: [PATCH] libcxxabi: Find libunwind headers when 4Subject: [PATCH] libcxxabi: Find libunwind headers when
@@ -14,14 +14,14 @@ LIBCXXABI_LIBUNWIND_INCLUDES if its there in environment
14Upstream-Status: Pending 14Upstream-Status: Pending
15Signed-off-by: Khem Raj <raj.khem@gmail.com> 15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16--- 16---
17 libcxxabi/CMakeLists.txt | 16 +++++++++++----- 17 libcxxabi/CMakeLists.txt | 15 ++++++++++-----
18 1 file changed, 11 insertions(+), 5 deletions(-) 18 1 file changed, 10 insertions(+), 5 deletions(-)
19 19
20diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt 20diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
21index da998d2221dc..936b78e4d6dd 100644 21index 43400c6e8d9a..cc0841112c0c 100644
22--- a/libcxxabi/CMakeLists.txt 22--- a/libcxxabi/CMakeLists.txt
23+++ b/libcxxabi/CMakeLists.txt 23+++ b/libcxxabi/CMakeLists.txt
24@@ -422,7 +422,7 @@ set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH 24@@ -423,7 +423,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 da998d2221dc..936b78e4d6dd 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@@ -433,15 +433,21 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) 33@@ -434,18 +434,23 @@ 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
@@ -47,12 +47,14 @@ index da998d2221dc..936b78e4d6dd 100644
47+ include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES}") 47+ include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES}")
48 endif() 48 endif()
49 49
50 add_custom_target(cxxabi-test-depends
51 COMMENT "Build dependencies required to run the libc++abi test suite.")
52
50+set(LIBCXXABI_LIBUNWIND_INCLUDES "${LIBCXXABI_LIBUNWIND_INCLUDES}" CACHE PATH 53+set(LIBCXXABI_LIBUNWIND_INCLUDES "${LIBCXXABI_LIBUNWIND_INCLUDES}" CACHE PATH
51+ "Specify path to libunwind includes." FORCE) 54+ "Specify path to libunwind includes." FORCE)
52+set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH 55+set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH
53+ "Specify path to libunwind source." FORCE) 56+ "Specify path to libunwind source." FORCE)
54+ 57+
55+
56 # Add source code. This also contains all of the logic for deciding linker flags 58 # Add source code. This also contains all of the logic for deciding linker flags
57 # soname, etc... 59 # soname, etc...
58 add_subdirectory(include) 60 add_subdirectory(include)
diff --git a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch b/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch
index 6c5c0de..95bee5b 100644
--- a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch
+++ b/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch
@@ -1,4 +1,4 @@
1From ac1643e6e68697e6ee374535dd98413c92224076 Mon Sep 17 00:00:00 2001 1From 1b0fd972d7cd2d78061bcf874c177969b19eeaab Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 19 Apr 2015 15:16:23 -0700 3Date: Sun, 19 Apr 2015 15:16:23 -0700
4Subject: [PATCH] compiler-rt: support a new embedded linux target 4Subject: [PATCH] compiler-rt: support a new embedded linux target
diff --git a/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch b/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
index c5c809b..37321a9 100644
--- a/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
+++ b/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch
@@ -1,4 +1,4 @@
1From 3d969ae73698da3518f3230f9e40cb7bd6f2e6c3 Mon Sep 17 00:00:00 2001 1From 11d8cadd76aaf434556eeb9f42ee794ca72802a4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 23:11:45 -0700 3Date: Thu, 19 May 2016 23:11:45 -0700
4Subject: [PATCH] compiler-rt: Simplify cross-compilation. Don't use 4Subject: [PATCH] compiler-rt: Simplify cross-compilation. Don't use
@@ -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
23diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt 23diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
24index bbb4e8d7c333..583e5630b03c 100644 24index 2207555b03a0..c28106378bdd 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@@ -82,7 +82,16 @@ if (COMPILER_RT_STANDALONE_BUILD) 27@@ -86,7 +86,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 505a5ba..ac4edbb 100644
--- a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -1,4 +1,4 @@
1From df831369b91c38565d73b56d452186eff0a63dd4 Mon Sep 17 00:00:00 2001 1From 7791c1c014b5d2f86142a87a0ede3ad1dc9aea46 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 21 May 2016 00:33:20 +0000 3Date: Sat, 21 May 2016 00:33:20 +0000
4Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are 4Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are
@@ -14,10 +14,10 @@ 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
16diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def 16diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
17index 6bd922eed89e..9e15466f963a 100644 17index 623cdb4b6e0b..18bb48beb702 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@@ -1368,6 +1368,9 @@ TLI_DEFINE_STRING_INTERNAL("fopen")
21 TLI_DEFINE_SIG_INTERNAL(Ptr, Ptr, Ptr) 21 TLI_DEFINE_SIG_INTERNAL(Ptr, Ptr, Ptr)
22 22
23 /// FILE *fopen64(const char *filename, const char *opentype) 23 /// FILE *fopen64(const char *filename, const char *opentype)
@@ -27,7 +27,7 @@ index 6bd922eed89e..9e15466f963a 100644
27 TLI_DEFINE_ENUM_INTERNAL(fopen64) 27 TLI_DEFINE_ENUM_INTERNAL(fopen64)
28 TLI_DEFINE_STRING_INTERNAL("fopen64") 28 TLI_DEFINE_STRING_INTERNAL("fopen64")
29 TLI_DEFINE_SIG_INTERNAL(Ptr, Ptr, Ptr) 29 TLI_DEFINE_SIG_INTERNAL(Ptr, Ptr, Ptr)
30@@ -1426,7 +1429,9 @@ TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Long, Int) 30@@ -1446,7 +1449,9 @@ TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Long, Int)
31 TLI_DEFINE_ENUM_INTERNAL(fseeko) 31 TLI_DEFINE_ENUM_INTERNAL(fseeko)
32 TLI_DEFINE_STRING_INTERNAL("fseeko") 32 TLI_DEFINE_STRING_INTERNAL("fseeko")
33 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, IntX, Int) 33 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, IntX, Int)
@@ -38,7 +38,7 @@ index 6bd922eed89e..9e15466f963a 100644
38 /// int fseeko64(FILE *stream, off64_t offset, int whence) 38 /// int fseeko64(FILE *stream, off64_t offset, int whence)
39 TLI_DEFINE_ENUM_INTERNAL(fseeko64) 39 TLI_DEFINE_ENUM_INTERNAL(fseeko64)
40 TLI_DEFINE_STRING_INTERNAL("fseeko64") 40 TLI_DEFINE_STRING_INTERNAL("fseeko64")
41@@ -1443,6 +1448,9 @@ TLI_DEFINE_STRING_INTERNAL("fstat") 41@@ -1463,6 +1468,9 @@ TLI_DEFINE_STRING_INTERNAL("fstat")
42 TLI_DEFINE_SIG_INTERNAL(Int, Int, Ptr) 42 TLI_DEFINE_SIG_INTERNAL(Int, Int, Ptr)
43 43
44 /// int fstat64(int filedes, struct stat64 *buf) 44 /// int fstat64(int filedes, struct stat64 *buf)
@@ -48,7 +48,7 @@ index 6bd922eed89e..9e15466f963a 100644
48 TLI_DEFINE_ENUM_INTERNAL(fstat64) 48 TLI_DEFINE_ENUM_INTERNAL(fstat64)
49 TLI_DEFINE_STRING_INTERNAL("fstat64") 49 TLI_DEFINE_STRING_INTERNAL("fstat64")
50 TLI_DEFINE_SIG_INTERNAL(Int, Int, Ptr) 50 TLI_DEFINE_SIG_INTERNAL(Int, Int, Ptr)
51@@ -1468,6 +1476,9 @@ TLI_DEFINE_STRING_INTERNAL("ftello") 51@@ -1488,6 +1496,9 @@ TLI_DEFINE_STRING_INTERNAL("ftello")
52 TLI_DEFINE_SIG_INTERNAL(IntPlus, Ptr) 52 TLI_DEFINE_SIG_INTERNAL(IntPlus, Ptr)
53 53
54 /// off64_t ftello64(FILE *stream) 54 /// off64_t ftello64(FILE *stream)
@@ -58,7 +58,7 @@ index 6bd922eed89e..9e15466f963a 100644
58 TLI_DEFINE_ENUM_INTERNAL(ftello64) 58 TLI_DEFINE_ENUM_INTERNAL(ftello64)
59 TLI_DEFINE_STRING_INTERNAL("ftello64") 59 TLI_DEFINE_STRING_INTERNAL("ftello64")
60 TLI_DEFINE_SIG_INTERNAL(Int64, Ptr) 60 TLI_DEFINE_SIG_INTERNAL(Int64, Ptr)
61@@ -1678,6 +1689,9 @@ TLI_DEFINE_STRING_INTERNAL("lstat") 61@@ -1698,6 +1709,9 @@ TLI_DEFINE_STRING_INTERNAL("lstat")
62 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) 62 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr)
63 63
64 /// int lstat64(const char *path, struct stat64 *buf); 64 /// int lstat64(const char *path, struct stat64 *buf);
@@ -68,7 +68,7 @@ index 6bd922eed89e..9e15466f963a 100644
68 TLI_DEFINE_ENUM_INTERNAL(lstat64) 68 TLI_DEFINE_ENUM_INTERNAL(lstat64)
69 TLI_DEFINE_STRING_INTERNAL("lstat64") 69 TLI_DEFINE_STRING_INTERNAL("lstat64")
70 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) 70 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr)
71@@ -2090,6 +2104,9 @@ TLI_DEFINE_STRING_INTERNAL("stat") 71@@ -2125,6 +2139,9 @@ TLI_DEFINE_STRING_INTERNAL("stat")
72 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) 72 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr)
73 73
74 /// int stat64(const char *path, struct stat64 *buf); 74 /// int stat64(const char *path, struct stat64 *buf);
@@ -78,7 +78,7 @@ index 6bd922eed89e..9e15466f963a 100644
78 TLI_DEFINE_ENUM_INTERNAL(stat64) 78 TLI_DEFINE_ENUM_INTERNAL(stat64)
79 TLI_DEFINE_STRING_INTERNAL("stat64") 79 TLI_DEFINE_STRING_INTERNAL("stat64")
80 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) 80 TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr)
81@@ -2315,6 +2332,9 @@ TLI_DEFINE_STRING_INTERNAL("tmpfile") 81@@ -2350,6 +2367,9 @@ TLI_DEFINE_STRING_INTERNAL("tmpfile")
82 TLI_DEFINE_SIG_INTERNAL(Ptr) 82 TLI_DEFINE_SIG_INTERNAL(Ptr)
83 83
84 /// FILE *tmpfile64(void) 84 /// FILE *tmpfile64(void)
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 249027a..c5f4147 100644
--- a/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch
+++ b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch
@@ -1,4 +1,4 @@
1From a160c086ee25bb5db31bc497e910c3615681e948 Mon Sep 17 00:00:00 2001 1From 347fa4394fc2f70ce199ef6edee17d19d64bf74a Mon Sep 17 00:00:00 2001
2From: Martin Kelly <mkelly@xevo.com> 2From: Martin Kelly <mkelly@xevo.com>
3Date: Fri, 19 May 2017 00:22:57 -0700 3Date: Fri, 19 May 2017 00:22:57 -0700
4Subject: [PATCH] llvm: allow env override of exe and libdir path 4Subject: [PATCH] llvm: allow env override of exe and libdir path
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 1175ec7..24e64b0 100644
--- a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch
+++ b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch
@@ -1,4 +1,4 @@
1From af511db3b78d27f21af09877c1c188b1c0c2ce0a Mon Sep 17 00:00:00 2001 1From ff55b613cb917ba96e30ff5c0a09942e52beea7e Mon Sep 17 00:00:00 2001
2From: Dan McGregor <dan.mcgregor@usask.ca> 2From: Dan McGregor <dan.mcgregor@usask.ca>
3Date: Wed, 26 Apr 2017 20:29:41 -0600 3Date: Wed, 26 Apr 2017 20:29:41 -0600
4Subject: [PATCH] clang: driver: Check sysroot for ldso path 4Subject: [PATCH] clang: driver: Check sysroot for ldso path
@@ -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
17diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 17diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
18index 4300a2bdff17..fe1bea2bde9d 100644 18index 2265138edbff..4067f7560140 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@@ -499,7 +499,11 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 21@@ -510,7 +510,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 4300a2bdff17..fe1bea2bde9d 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@@ -554,11 +558,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 34@@ -565,11 +569,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";
@@ -49,9 +49,9 @@ index 4300a2bdff17..fe1bea2bde9d 100644
49+ LibDir = "lib"; 49+ LibDir = "lib";
50+ } 50+ }
51 break; 51 break;
52 case llvm::Triple::riscv32: { 52 case llvm::Triple::riscv32:
53 StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple); 53 case llvm::Triple::riscv64: {
54@@ -580,6 +592,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 54@@ -587,6 +599,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 4300a2bdff17..fe1bea2bde9d 100644
62 break; 62 break;
63 case llvm::Triple::systemz: 63 case llvm::Triple::systemz:
64 LibDir = "lib"; 64 LibDir = "lib";
65@@ -594,6 +610,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 65@@ -601,6 +617,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 9d174a7..bf5a101 100644
--- a/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
+++ b/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
@@ -1,4 +1,4 @@
1From a842a494f82f68c92a562aa40e6861f792d5b703 Mon Sep 17 00:00:00 2001 1From db1a59d2537f4d843d51e0a628b8d9596fa3e1d1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 21:11:06 -0700 3Date: Thu, 19 May 2016 21:11:06 -0700
4Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl 4Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl
@@ -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
16diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 16diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
17index e5e1b1d77269..7b43cde6b884 100644 17index 543f3965dfd4..668b56db37c6 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@@ -628,6 +628,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, 20@@ -632,6 +632,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 c43219f..8f6779f 100644
--- a/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch
+++ b/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch
@@ -1,4 +1,4 @@
1From 53b47e96f7c69bea46d16489dd6887561245c23f Mon Sep 17 00:00:00 2001 1From 58b2cb10360b5188be51c1f535412d7fef3c1fef Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 09:02:13 -0700 3Date: Thu, 16 Mar 2017 09:02:13 -0700
4Subject: [PATCH] clang: Prepend trailing '/' to sysroot 4Subject: [PATCH] clang: Prepend trailing '/' to sysroot
@@ -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
27diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 27diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
28index fe1bea2bde9d..9cfc135ed2c0 100644 28index 4067f7560140..d4b26fc986d9 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@@ -219,7 +219,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) 31@@ -222,7 +222,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 3149159..d24d807 100644
--- a/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
+++ b/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
@@ -1,4 +1,4 @@
1From fd99d9521a7f9ce8c8de7c05a9636efa5a5c34e2 Mon Sep 17 00:00:00 2001 1From b54a26dfbdef65bc829779cc84e937fe850e777e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 19:06:26 -0700 3Date: Thu, 16 Mar 2017 19:06:26 -0700
4Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime 4Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime
@@ -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
18diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp 18diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
19index 388030592b48..c59700b4a7ab 100644 19index 20a555afb809..e6d285795337 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 @@
@@ -27,7 +27,7 @@ index 388030592b48..c59700b4a7ab 100644
27 #include "clang/Config/config.h" 27 #include "clang/Config/config.h"
28 #include "clang/Driver/Action.h" 28 #include "clang/Driver/Action.h"
29 #include "clang/Driver/Driver.h" 29 #include "clang/Driver/Driver.h"
30@@ -595,7 +596,10 @@ StringRef ToolChain::getOSLibName() const { 30@@ -619,7 +620,10 @@ StringRef ToolChain::getOSLibName() const {
31 } 31 }
32 32
33 std::string ToolChain::getCompilerRTPath() const { 33 std::string ToolChain::getCompilerRTPath() const {
diff --git a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch
index 7d56623..1b902d8 100644
--- a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch
+++ b/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch
@@ -1,4 +1,4 @@
1From a310e5638205777893228a1c0853bd5494e7d02c Mon Sep 17 00:00:00 2001 1From faf6d96205dad549a7d8214774927f320e3689b0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 20 Mar 2021 16:09:16 -0700 3Date: Sat, 20 Mar 2021 16:09:16 -0700
4Subject: [PATCH] clang: Define / releative gcc installation dir 4Subject: [PATCH] clang: Define / releative gcc installation dir
@@ -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
17diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 17diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
18index 7b43cde6b884..1ea6927d06f3 100644 18index 668b56db37c6..e6961b023b5a 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@@ -2913,19 +2913,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 21@@ -2916,19 +2916,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 4e9360c..d4d6b23 100644
--- a/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
+++ b/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch
@@ -1,4 +1,4 @@
1From bc21d17ff434af5efdb2fac86392862230c6f9e6 Mon Sep 17 00:00:00 2001 1From 7c8bd8b6aeb817bd313517b00a2a54ed187986cf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 31 Jul 2019 22:51:39 -0700 3Date: Wed, 31 Jul 2019 22:51:39 -0700
4Subject: [PATCH] clang: Add -lpthread and -ldl along with -lunwind for static 4Subject: [PATCH] clang: Add -lpthread and -ldl along with -lunwind for static
@@ -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
23diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp 23diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
24index 2b916f000336..de823347a527 100644 24index 019df16a909f..00d608c0c095 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@@ -2179,6 +2179,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, 27@@ -2183,6 +2183,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 b6efd2b..acf6921 100644
--- a/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
+++ b/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch
@@ -1,4 +1,4 @@
1From a48c97d8a0f5eee9729cad03eac5be677c9963e8 Mon Sep 17 00:00:00 2001 1From 4af5f0a010f3a7c3af40110b8d049486baa8b647 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com> 2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Thu, 26 Dec 2019 12:56:16 -0800 3Date: Thu, 26 Dec 2019 12:56:16 -0800
4Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build 4Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 1 file changed, 1 insertion(+) 11 1 file changed, 1 insertion(+)
12 12
13diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake 13diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake
14index 55bf3be75642..71b09ec05b68 100644 14index 39b4abaa0d93..a47afde7f85d 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@@ -90,6 +90,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) 17@@ -92,6 +92,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
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 5a942e6..43665bd 100644
--- a/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch
+++ b/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch
@@ -1,4 +1,4 @@
1From 4e96e75d77d0d59399f0b8ad7aa0555e39e7b5cc Mon Sep 17 00:00:00 2001 1From 23cf856d4896656d1625f7ed96c3b33aabc91cdc Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 18 Nov 2019 17:00:29 -0800 3Date: Mon, 18 Nov 2019 17:00:29 -0800
4Subject: [PATCH] Check for atomic<double> intrinsics 4Subject: [PATCH] Check for atomic<double> intrinsics
diff --git a/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch b/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
index 757917f..f57f459 100644
--- a/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
+++ b/recipes-devtools/clang/clang/0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch
@@ -1,4 +1,4 @@
1From c0a66d4f358b24bf3acd89910e0f7fc780d16a11 Mon Sep 17 00:00:00 2001 1From cd5e6c265165b4aa31d211ee961c9e0218dee7e1 Mon Sep 17 00:00:00 2001
2From: Jeremy Puhlman <jpuhlman@mvista.com> 2From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Thu, 16 Jan 2020 21:16:10 +0000 3Date: Thu, 16 Jan 2020 21:16:10 +0000
4Subject: [PATCH] libcxx: Add compiler runtime library to link step for libcxx 4Subject: [PATCH] libcxx: Add compiler runtime library to link step for libcxx
@@ -14,22 +14,22 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 2 insertions(+), 2 deletions(-) 14 1 file changed, 2 insertions(+), 2 deletions(-)
15 15
16diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt 16diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
17index 1b80625304a4..fe706c9e920f 100644 17index 0dfc9647558d..08ddad95a42e 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@@ -198,7 +198,7 @@ if (LIBCXX_ENABLE_SHARED) 20@@ -200,7 +200,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 libcxx-libc-shared
24- PRIVATE ${LIBCXX_LIBRARIES}) 24- PRIVATE ${LIBCXX_LIBRARIES})
25+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)") 25+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)")
26 set_target_properties(cxx_shared 26 set_target_properties(cxx_shared
27 PROPERTIES 27 PROPERTIES
28 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}" 28 COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}"
29@@ -291,7 +291,7 @@ if (LIBCXX_ENABLE_STATIC) 29@@ -293,7 +293,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 libcxx-libc-static
33- PRIVATE ${LIBCXX_LIBRARIES} 33- PRIVATE ${LIBCXX_LIBRARIES}
34+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)" 34+ PRIVATE ${LIBCXX_LIBRARIES} "$$($$CC --print-libgcc-file-name)"
35 PRIVATE libcxx-abi-static) 35 PRIVATE libcxx-abi-static)
diff --git a/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch b/recipes-devtools/clang/clang/0015-cmake-Fix-configure-for-packages-using-find_package.patch
index d42836d..51fde02 100644
--- a/recipes-devtools/clang/clang/0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch
+++ b/recipes-devtools/clang/clang/0015-cmake-Fix-configure-for-packages-using-find_package.patch
@@ -1,8 +1,7 @@
1From aab6a666bf1094d9750a10e547ebd6fe093af513 Mon Sep 17 00:00:00 2001 1From e741dc89b9322dbdb7c2cb1cd1ea1d4819c1c3d5 Mon Sep 17 00:00:00 2001
2From: Ovidiu Panait <ovidiu.panait@windriver.com> 2From: Ovidiu Panait <ovidiu.panait@windriver.com>
3Date: Fri, 31 Jan 2020 10:56:11 +0200 3Date: Fri, 31 Jan 2020 10:56:11 +0200
4Subject: [PATCH] clang,llvm: cmake: Fix configure for packages using 4Subject: [PATCH] cmake: Fix configure for packages using find_package()
5 find_package()
6 5
7Currently, when a package (i.e. bcc [https://github.com/iovisor/bcc.git]) 6Currently, when a package (i.e. bcc [https://github.com/iovisor/bcc.git])
8that depends on LLVM/Clang tries to run cmake find_package() during 7that depends on LLVM/Clang tries to run cmake find_package() during
@@ -27,15 +26,15 @@ Upstream-Status: Inappropriate [oe-specific]
27Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> 26Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
28--- 27---
29 clang/cmake/modules/AddClang.cmake | 2 -- 28 clang/cmake/modules/AddClang.cmake | 2 --
30 llvm/cmake/modules/AddLLVM.cmake | 6 ------ 29 llvm/cmake/modules/AddLLVM.cmake | 7 +------
31 llvm/cmake/modules/TableGen.cmake | 6 ------ 30 llvm/cmake/modules/TableGen.cmake | 6 ------
32 3 files changed, 14 deletions(-) 31 3 files changed, 1 insertion(+), 14 deletions(-)
33 32
34diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake 33diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
35index 75b0080f6715..ddf446a13eca 100644 34index 9d09be193684..d6123b834337 100644
36--- a/clang/cmake/modules/AddClang.cmake 35--- a/clang/cmake/modules/AddClang.cmake
37+++ b/clang/cmake/modules/AddClang.cmake 36+++ b/clang/cmake/modules/AddClang.cmake
38@@ -168,7 +168,6 @@ macro(add_clang_tool name) 37@@ -169,7 +169,6 @@ macro(add_clang_tool name)
39 if (CLANG_BUILD_TOOLS) 38 if (CLANG_BUILD_TOOLS)
40 get_target_export_arg(${name} Clang export_to_clangtargets) 39 get_target_export_arg(${name} Clang export_to_clangtargets)
41 install(TARGETS ${name} 40 install(TARGETS ${name}
@@ -43,7 +42,7 @@ index 75b0080f6715..ddf446a13eca 100644
43 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" 42 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
44 COMPONENT ${name}) 43 COMPONENT ${name})
45 44
46@@ -177,7 +176,6 @@ macro(add_clang_tool name) 45@@ -178,7 +177,6 @@ macro(add_clang_tool name)
47 DEPENDS ${name} 46 DEPENDS ${name}
48 COMPONENT ${name}) 47 COMPONENT ${name})
49 endif() 48 endif()
@@ -52,10 +51,10 @@ index 75b0080f6715..ddf446a13eca 100644
52 endif() 51 endif()
53 endmacro() 52 endmacro()
54diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake 53diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
55index 3bc78b0dc935..bc492ceb90db 100644 54index 03f4e1f190fd..6335ab262d19 100644
56--- a/llvm/cmake/modules/AddLLVM.cmake 55--- a/llvm/cmake/modules/AddLLVM.cmake
57+++ b/llvm/cmake/modules/AddLLVM.cmake 56+++ b/llvm/cmake/modules/AddLLVM.cmake
58@@ -1368,7 +1368,6 @@ macro(llvm_add_tool project name) 57@@ -1435,7 +1435,6 @@ macro(llvm_add_tool project name)
59 if( LLVM_BUILD_TOOLS ) 58 if( LLVM_BUILD_TOOLS )
60 get_target_export_arg(${name} LLVM export_to_llvmexports) 59 get_target_export_arg(${name} LLVM export_to_llvmexports)
61 install(TARGETS ${name} 60 install(TARGETS ${name}
@@ -63,17 +62,18 @@ index 3bc78b0dc935..bc492ceb90db 100644
63 RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR} 62 RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR}
64 COMPONENT ${name}) 63 COMPONENT ${name})
65 64
66@@ -1379,9 +1378,6 @@ macro(llvm_add_tool project name) 65@@ -1446,9 +1445,7 @@ macro(llvm_add_tool project name)
67 endif() 66 endif()
68 endif() 67 endif()
69 endif() 68 endif()
70- if( LLVM_BUILD_TOOLS ) 69- if( LLVM_BUILD_TOOLS )
71- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 70- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
72- endif() 71- endif()
73 set_target_properties(${name} PROPERTIES FOLDER "Tools") 72+ set_target_properties(${name} PROPERTIES FOLDER "Tools")
74 endif() 73 endif()
75 endmacro(llvm_add_tool project name) 74 get_subproject_title(subproject_title)
76@@ -1426,7 +1422,6 @@ macro(add_llvm_utility name) 75 set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Tools")
76@@ -1497,7 +1494,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 3bc78b0dc935..bc492ceb90db 100644
81 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} 81 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR}
82 COMPONENT ${name}) 82 COMPONENT ${name})
83 83
84@@ -1435,7 +1430,6 @@ macro(add_llvm_utility name) 84@@ -1506,7 +1502,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 3bc78b0dc935..bc492ceb90db 100644
90 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name}) 90 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name})
91 endif() 91 endif()
92diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake 92diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
93index 1d18fdde2bb9..c9363ffb3376 100644 93index ffcc718b4777..a76f28e74b86 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@@ -222,12 +222,7 @@ macro(add_tablegen target project) 96@@ -232,12 +232,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 1d18fdde2bb9..c9363ffb3376 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@@ -238,6 +233,5 @@ macro(add_tablegen target project) 109@@ -248,6 +243,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 b7aeb2b..5e5fcad 100644
--- a/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch
+++ b/recipes-devtools/clang/clang/0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch
@@ -1,4 +1,4 @@
1From 58cae5f6f4df0e6fd8529f99f940984e770f4c84 Mon Sep 17 00:00:00 2001 1From 0550bd3df8005a96da53eb5d746b8ef0001618bd Mon Sep 17 00:00:00 2001
2From: Jim Broadus <jbroadus@xevo.com> 2From: Jim Broadus <jbroadus@xevo.com>
3Date: Thu, 26 Mar 2020 16:05:53 -0700 3Date: Thu, 26 Mar 2020 16:05:53 -0700
4Subject: [PATCH] clang: Fix resource dir location for cross toolchains 4Subject: [PATCH] clang: Fix resource dir location for cross toolchains
@@ -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
22diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp 22diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
23index 93cddf742d52..88291dd125d3 100644 23index 8e44d5afa40e..b3eaf45fded9 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@@ -179,9 +179,15 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath, 26@@ -189,9 +189,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 fca46f4..814e380 100644
--- a/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
+++ b/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch
@@ -1,4 +1,4 @@
1From 6c83a2e75b42eff98975bebacd446455d60cb128 Mon Sep 17 00:00:00 2001 1From 8ca37b3df79ebba94e028f6f665fd938d458e4d8 Mon Sep 17 00:00:00 2001
2From: Oleksandr Ocheretnyi <oocheret@cisco.com> 2From: Oleksandr Ocheretnyi <oocheret@cisco.com>
3Date: Wed, 15 Apr 2020 00:08:39 +0300 3Date: Wed, 15 Apr 2020 00:08:39 +0300
4Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso 4Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso
@@ -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
21diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 21diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
22index 9cfc135ed2c0..6df8c58076c9 100644 22index d4b26fc986d9..9149a4baa564 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@@ -500,8 +500,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 25@@ -511,8 +511,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 9cfc135ed2c0..6df8c58076c9 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@@ -558,8 +558,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 36@@ -569,8 +569,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 9cfc135ed2c0..6df8c58076c9 100644
44 LibDir = "lib"; 44 LibDir = "lib";
45 } 45 }
46 break; 46 break;
47@@ -567,8 +567,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 47@@ -578,8 +578,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 9cfc135ed2c0..6df8c58076c9 100644
55 LibDir = "lib"; 55 LibDir = "lib";
56 } 56 }
57 break; 57 break;
58@@ -592,8 +592,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 58@@ -599,8 +599,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 9cfc135ed2c0..6df8c58076c9 100644
66 LibDir = "lib"; 66 LibDir = "lib";
67 } 67 }
68 break; 68 break;
69@@ -610,8 +610,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 69@@ -617,8 +617,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 d72a623..8932c33 100644
--- a/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch
+++ b/recipes-devtools/clang/clang/0018-clang-Use-python3-in-python-scripts.patch
@@ -1,4 +1,4 @@
1From 5a572d401005fb992b421d65628267e49d70ee74 Mon Sep 17 00:00:00 2001 1From 288b38525494bd975ae408f178803be1a482f4b5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 14 Oct 2020 22:19:57 -0700 3Date: Wed, 14 Oct 2020 22:19:57 -0700
4Subject: [PATCH] clang: Use python3 in python scripts 4Subject: [PATCH] clang: Use python3 in python scripts
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 3270872..8a96504 100644
--- a/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
+++ b/recipes-devtools/clang/clang/0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch
@@ -1,4 +1,4 @@
1From b928740f3def5353a779859c0454666cae1f7d61 Mon Sep 17 00:00:00 2001 1From 2f718eb848503fb74e9ef403346d79240300fb43 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com> 2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Mon, 25 Jan 2021 16:14:35 +0800 3Date: Mon, 25 Jan 2021 16:14:35 +0800
4Subject: [PATCH] For x86_64, set Yocto based GCC install search path 4Subject: [PATCH] For x86_64, set Yocto based GCC install search path
@@ -57,14 +57,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
57 1 file changed, 1 insertion(+) 57 1 file changed, 1 insertion(+)
58 58
59diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 59diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
60index 1ea6927d06f3..185ea3df16f5 100644 60index e6961b023b5a..aa7bf4a2455f 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@@ -2488,6 +2488,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( 63@@ -2498,6 +2498,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
64 "x86_64-pc-linux-gnu", "x86_64-redhat-linux6E",
64 "x86_64-redhat-linux", "x86_64-suse-linux", 65 "x86_64-redhat-linux", "x86_64-suse-linux",
65 "x86_64-manbo-linux-gnu", "x86_64-linux-gnu", 66 "x86_64-manbo-linux-gnu", "x86_64-slackware-linux",
66 "x86_64-slackware-linux", "x86_64-unknown-linux",
67+ "x86_64-oe-linux",//CLANG_EXTRA_OE_VENDORS_TRIPLES 67+ "x86_64-oe-linux",//CLANG_EXTRA_OE_VENDORS_TRIPLES
68 "x86_64-amazon-linux"}; 68 "x86_64-unknown-linux", "x86_64-amazon-linux"};
69 static const char *const X32Triples[] = {"x86_64-linux-gnux32", 69 static const char *const X32Triples[] = {"x86_64-linux-gnux32",
70 "x86_64-pc-linux-gnux32"}; 70 "x86_64-pc-linux-gnux32"};
diff --git a/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch b/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch
deleted file mode 100644
index e14bc9d..0000000
--- a/recipes-devtools/clang/clang/0020-llvm-Do-not-use-find_library-for-ncurses.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From 07e74b7f5147d5da67b46067df5d26090a3bb96b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 7 Feb 2021 23:58:41 -0800
4Subject: [PATCH] llvm: Do not use find_library for ncurses
5
6This ensures that it lets OE to decide which lib to link
7otherwise it adds absolute paths to linker cmdline and confuses it
8horribly with native and target libs when build clang for target
9
10TOPDIR/build/tmp/work/cortexa57-yoe-linux-musl/clang/12.0.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so: error adding symbols: file in wrong format
11clang-12: error: linker command failed with exit code 1 (use -v to see invocation)
12
13Upstream-Status: Pending
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 compiler-rt/cmake/config-ix.cmake | 2 +-
17 llvm/cmake/modules/FindTerminfo.cmake | 2 +-
18 2 files changed, 2 insertions(+), 2 deletions(-)
19
20diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
21index 2ca18ebb4ad4..51c56f1e0b8b 100644
22--- a/compiler-rt/cmake/config-ix.cmake
23+++ b/compiler-rt/cmake/config-ix.cmake
24@@ -188,7 +188,7 @@ else()
25 set(MAYBE_REQUIRED)
26 endif()
27 if(LLVM_ENABLE_TERMINFO)
28- find_library(COMPILER_RT_TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED})
29+ find_library(COMPILER_RT_TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
30 endif()
31 if(COMPILER_RT_TERMINFO_LIB)
32 set(LLVM_ENABLE_TERMINFO 1)
33diff --git a/llvm/cmake/modules/FindTerminfo.cmake b/llvm/cmake/modules/FindTerminfo.cmake
34index 163af6697067..bf2e760bed8a 100644
35--- a/llvm/cmake/modules/FindTerminfo.cmake
36+++ b/llvm/cmake/modules/FindTerminfo.cmake
37@@ -11,7 +11,7 @@
38 # Additionally, the following import target will be defined:
39 # Terminfo::terminfo
40
41-find_library(Terminfo_LIBRARIES NAMES terminfo tinfo curses ncurses ncursesw)
42+find_library(Terminfo_LIBRARIES NAMES terminfo tinfo curses ncurses ncursesw NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
43
44 if(Terminfo_LIBRARIES)
45 include(CMakePushCheckState)
diff --git a/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch b/recipes-devtools/clang/clang/0020-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
index 4feca04..5dc1caf 100644
--- a/recipes-devtools/clang/clang/0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
+++ b/recipes-devtools/clang/clang/0020-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch
@@ -1,4 +1,4 @@
1From a3dbd6b6c8bfab6877632ec7a1e981aaa2883d90 Mon Sep 17 00:00:00 2001 1From b6c5146b473da03699ca79c170828f706508d3c0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 11 Feb 2021 16:42:49 -0800 3Date: Thu, 11 Feb 2021 16:42:49 -0800
4Subject: [PATCH] llvm: Insert anchor for adding OE distro vendor names 4Subject: [PATCH] llvm: Insert anchor for adding OE distro vendor names
@@ -18,10 +18,10 @@ Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
18 1 file changed, 1 insertion(+), 1 deletion(-) 18 1 file changed, 1 insertion(+), 1 deletion(-)
19 19
20diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp 20diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp
21index 0bbe8a3cedfd..dbc1240703a0 100644 21index bf89aace65e5..fb9cbeb30351 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@@ -601,7 +601,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { 24@@ -636,7 +636,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/0021-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
index 5498c70..c75bb39 100644
--- a/recipes-devtools/clang/clang/0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
+++ b/recipes-devtools/clang/clang/0021-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch
@@ -1,4 +1,4 @@
1From afed95c05037559e53d9a60b8520b372d54b467d Mon Sep 17 00:00:00 2001 1From e273afe387d91a3710117bf3e8f0132cfd2ec3a1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 19 May 2021 17:32:13 -0700 3Date: Wed, 19 May 2021 17:32:13 -0700
4Subject: [PATCH] compiler-rt: Do not use backtrace APIs on non-glibc linux 4Subject: [PATCH] compiler-rt: Do not use backtrace APIs on non-glibc linux
diff --git a/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch b/recipes-devtools/clang/clang/0022-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
index 6f982e9..63ac9f8 100644
--- a/recipes-devtools/clang/clang/0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
+++ b/recipes-devtools/clang/clang/0022-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch
@@ -1,4 +1,4 @@
1From 25434c45f0c7079e9171b5ef4027626a64d3e50b Mon Sep 17 00:00:00 2001 1From 717710718d5b87551f3662d7e5e534599c1c0d87 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 19 May 2021 17:56:03 -0700 3Date: Wed, 19 May 2021 17:56:03 -0700
4Subject: [PATCH] clang: Fix x86 triple for non-debian multiarch linux distros 4Subject: [PATCH] clang: Fix x86 triple for non-debian multiarch linux distros
@@ -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
15diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 15diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
16index 6df8c58076c9..cf549331d255 100644 16index 9149a4baa564..cdea589eb226 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@@ -707,6 +707,9 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, 19@@ -714,6 +714,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/0023-libunwind-Added-unw_backtrace-method.patch
index 887fcd5..95a3e9b 100644
--- a/recipes-devtools/clang/clang/0024-libunwind-Added-unw_backtrace-method.patch
+++ b/recipes-devtools/clang/clang/0023-libunwind-Added-unw_backtrace-method.patch
@@ -1,4 +1,4 @@
1From c4ec538a1e00eb60ad890df51401f27484b349d9 Mon Sep 17 00:00:00 2001 1From e1c5aa4cf7f4816d8c91d665ec536a3da039288d Mon Sep 17 00:00:00 2001
2From: Maksim Kita <maksim-kita@yandex-team.ru> 2From: Maksim Kita <maksim-kita@yandex-team.ru>
3Date: Sun, 23 May 2021 10:27:29 +0000 3Date: Sun, 23 May 2021 10:27:29 +0000
4Subject: [PATCH] libunwind: Added unw_backtrace method 4Subject: [PATCH] libunwind: Added unw_backtrace method
@@ -24,10 +24,10 @@ index b2dae8feed9a..0ab974c9bfa4 100644
24 extern unw_addr_space_t unw_local_addr_space; 24 extern unw_addr_space_t unw_local_addr_space;
25 25
26diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp 26diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp
27index 217dde909863..5797c806c084 100644 27index cf39ec5f7dbd..1896f20d57f8 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@@ -432,6 +432,26 @@ int __unw_remove_find_dynamic_unwind_sections( 30@@ -431,6 +431,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/0024-clang-Do-not-use-install-relative-libc-headers.patch
index 0e4a3b3..b6943d1 100644
--- a/recipes-devtools/clang/clang/0025-clang-Do-not-use-install-relative-libc-headers.patch
+++ b/recipes-devtools/clang/clang/0024-clang-Do-not-use-install-relative-libc-headers.patch
@@ -1,4 +1,4 @@
1From b759741be82cc87406f5b7ece236617ad5450e78 Mon Sep 17 00:00:00 2001 1From 87678f207e6619d0d810124104f548fe18fb64e2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 11 Aug 2021 18:37:11 -0700 3Date: Wed, 11 Aug 2021 18:37:11 -0700
4Subject: [PATCH] clang: Do not use install relative libc++ headers 4Subject: [PATCH] clang: Do not use install relative libc++ headers
@@ -16,10 +16,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
16 1 file changed, 4 insertions(+), 1 deletion(-) 16 1 file changed, 4 insertions(+), 1 deletion(-)
17 17
18diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 18diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
19index 185ea3df16f5..d883dc3e7558 100644 19index aa7bf4a2455f..822a550de2a5 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@@ -3313,8 +3313,11 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, 22@@ -3314,8 +3314,11 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
23 // incompatible with the NDK libraries. 23 // incompatible with the NDK libraries.
24 SmallString<128> DriverIncludeDir(getDriver().Dir); 24 SmallString<128> DriverIncludeDir(getDriver().Dir);
25 llvm::sys::path::append(DriverIncludeDir, "..", "include"); 25 llvm::sys::path::append(DriverIncludeDir, "..", "include");
diff --git a/recipes-devtools/clang/clang/0027-Fix-lib-paths-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0025-Fix-lib-paths-for-OpenEmbedded-Host.patch
index 20ce278..4b2f0ce 100644
--- a/recipes-devtools/clang/clang/0027-Fix-lib-paths-for-OpenEmbedded-Host.patch
+++ b/recipes-devtools/clang/clang/0025-Fix-lib-paths-for-OpenEmbedded-Host.patch
@@ -1,4 +1,4 @@
1From 93855bad691059a81906ab632830239039527c6c Mon Sep 17 00:00:00 2001 1From 9fb0dd90e8b840117f7639ba1f0d5e0d99c12c89 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com> 2From: Changqing Li <changqing.li@windriver.com>
3Date: Tue, 7 Dec 2021 04:08:22 +0000 3Date: Tue, 7 Dec 2021 04:08:22 +0000
4Subject: [PATCH] Fix lib paths for OpenEmbedded Host 4Subject: [PATCH] Fix lib paths for OpenEmbedded Host
@@ -48,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
50diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 50diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
51index c627602827c3..98d979ace17b 100644 51index 822a550de2a5..f081a778cfe9 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 c627602827c3..98d979ace17b 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@@ -2918,6 +2919,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 62@@ -2906,6 +2907,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 c627602827c3..98d979ace17b 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@@ -2935,7 +2937,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 70@@ -2923,7 +2925,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/0026-Correct-library-search-path-for-OpenEmbedded-Host.patch
index 554f966..6fdb5f9 100644
--- a/recipes-devtools/clang/clang/0028-Correct-library-search-path-for-OpenEmbedded-Host.patch
+++ b/recipes-devtools/clang/clang/0026-Correct-library-search-path-for-OpenEmbedded-Host.patch
@@ -1,4 +1,4 @@
1From 42bf038560a9b0bf688b0a85cbd444445e1c26dc Mon Sep 17 00:00:00 2001 1From e15c555d55efa0732adf97c3e858441296b4e83c Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com> 2From: Changqing Li <changqing.li@windriver.com>
3Date: Tue, 7 Dec 2021 04:55:48 +0000 3Date: Tue, 7 Dec 2021 04:55:48 +0000
4Subject: [PATCH] Correct library search path for OpenEmbedded Host 4Subject: [PATCH] Correct library search path for OpenEmbedded Host
@@ -39,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
41diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h 41diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h
42index a8de94163e8b..847d6a3f9d1a 100644 42index 1404e1686848..90940e4a0bac 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 a8de94163e8b..847d6a3f9d1a 100644
50 OpenSUSE, 50 OpenSUSE,
51 UbuntuHardy, 51 UbuntuHardy,
52 UbuntuIntrepid, 52 UbuntuIntrepid,
53@@ -137,6 +138,7 @@ public: 53@@ -138,6 +139,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 a8de94163e8b..847d6a3f9d1a 100644
59 }; 59 };
60 60
61diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp 61diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
62index a7e7f169dc14..48d4e15196da 100644 62index 6f49e641104c..63b9ff30f0b6 100644
63--- a/clang/lib/Driver/Distro.cpp 63--- a/clang/lib/Driver/Distro.cpp
64+++ b/clang/lib/Driver/Distro.cpp 64+++ b/clang/lib/Driver/Distro.cpp
65@@ -44,6 +44,7 @@ static Distro::DistroType DetectOsRelease(llvm::vfs::FileSystem &VFS) { 65@@ -44,6 +44,7 @@ static Distro::DistroType DetectOsRelease(llvm::vfs::FileSystem &VFS) {
@@ -71,7 +71,7 @@ index a7e7f169dc14..48d4e15196da 100644
71 return Version; 71 return Version;
72 } 72 }
73diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 73diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
74index cf549331d255..699ff18b1240 100644 74index cdea589eb226..41818470cf85 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@@ -82,6 +82,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, 77@@ -82,6 +82,7 @@ std::string Linux::getMultiarchTriple(const Driver &D,
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
deleted file mode 100644
index 7ceccd5..0000000
--- a/recipes-devtools/clang/clang/0026-clang-Fix-how-driver-finds-GCC-installation-path-on-.patch
+++ /dev/null
@@ -1,113 +0,0 @@
1From c95b551389ae1622faf630be3ddaf0dc62892595 Mon Sep 17 00:00:00 2001
2From: David Abdurachmanov <david.abdurachmanov@sifive.com>
3Date: Wed, 20 Oct 2021 17:30:36 -0700
4Subject: [PATCH] clang: Fix how driver finds GCC installation path on
5 OpenEmbedded
6
7Fix how Clang Driver finds GCC installation path on OpenEmbedded
8
9- For RISCV (riscv{32,64}) we define new two multi-lib options without any
10 subdirectories (e.g., lib32/ilp32d or lib64/lp64d). OpenEmbedded GCC
11 builds don't use them.
12- Modify how Clang Driver finds GCC installation path. This is important
13 because GCC files on OpenEmbedded are in two different directories:
14 (1) /usr/bin/../lib/gcc/riscv64-oe-linux/9.2.0
15 (2) /usr/lib/riscv64-oe-linux/9.2.0
16
17Clang Driver will check (1) first. The directory exist, but will produce
18no valid multi-libs and there will be no multi-lib selected. (2) contains
19actual GCC run-time objects/libraries, but because the path has exact
20same GCC version (9.2.0) it will be skipped.
21
22We modify the approach by allowing to check other directories with the same
23GCC version. We also avoid picking GCC installation path if it results in
24an empty multi-lib list.
25
26Upstream-Status: Pending
27Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
28Signed-off-by: Khem Raj <raj.khem@gmail.com>
29---
30 clang/lib/Driver/ToolChains/Gnu.cpp | 57 ++++++++++++++++++++---------
31 1 file changed, 39 insertions(+), 18 deletions(-)
32
33diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
34index d883dc3e7558..c627602827c3 100644
35--- a/clang/lib/Driver/ToolChains/Gnu.cpp
36+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
37@@ -1909,23 +1909,38 @@ static void findRISCVMultilibs(const Driver &D,
38 return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result);
39
40 FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
41- MultilibBuilder Ilp32 =
42- MultilibBuilder("lib32/ilp32").flag("-m32").flag("-mabi=ilp32");
43- MultilibBuilder Ilp32f =
44- MultilibBuilder("lib32/ilp32f").flag("-m32").flag("-mabi=ilp32f");
45- MultilibBuilder Ilp32d =
46- MultilibBuilder("lib32/ilp32d").flag("-m32").flag("-mabi=ilp32d");
47- MultilibBuilder Lp64 =
48- MultilibBuilder("lib64/lp64").flag("-m64").flag("-mabi=lp64");
49- MultilibBuilder Lp64f =
50- MultilibBuilder("lib64/lp64f").flag("-m64").flag("-mabi=lp64f");
51- MultilibBuilder Lp64d =
52- MultilibBuilder("lib64/lp64d").flag("-m64").flag("-mabi=lp64d");
53- MultilibSet RISCVMultilibs =
54- MultilibSetBuilder()
55- .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
56- .makeMultilibSet()
57- .FilterOut(NonExistent);
58+
59+ MultilibSet RISCVMultilibs;
60+
61+ if (TargetTriple.getVendor() == llvm::Triple::OpenEmbedded) {
62+ MultilibBuilder OpenEmbeddedIlp32d =
63+ MultilibBuilder("").flag("+m32").flag("+mabi=ilp32d");
64+ MultilibBuilder OpenEmbeddedLp64d =
65+ MultilibBuilder("").flag("+m64").flag("+mabi=lp64d");
66+ RISCVMultilibs =
67+ MultilibSetBuilder()
68+ .Either({OpenEmbeddedIlp32d, OpenEmbeddedLp64d})
69+ .makeMultilibSet()
70+ .FilterOut(NonExistent);
71+ } else {
72+ MultilibBuilder Ilp32 =
73+ MultilibBuilder("lib32/ilp32").flag("-m32").flag("-mabi=ilp32");
74+ MultilibBuilder Ilp32f =
75+ MultilibBuilder("lib32/ilp32f").flag("-m32").flag("-mabi=ilp32f");
76+ MultilibBuilder Ilp32d =
77+ MultilibBuilder("lib32/ilp32d").flag("-m32").flag("-mabi=ilp32d");
78+ MultilibBuilder Lp64 =
79+ MultilibBuilder("lib64/lp64").flag("-m64").flag("-mabi=lp64");
80+ MultilibBuilder Lp64f =
81+ MultilibBuilder("lib64/lp64f").flag("-m64").flag("-mabi=lp64f");
82+ MultilibBuilder Lp64d =
83+ MultilibBuilder("lib64/lp64d").flag("-m64").flag("-mabi=lp64d");
84+ RISCVMultilibs =
85+ MultilibSetBuilder()
86+ .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
87+ .makeMultilibSet()
88+ .FilterOut(NonExistent);
89+ }
90
91 Multilib::flags_list Flags;
92 bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64;
93@@ -2945,13 +2960,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
94 continue; // Saw this path before; no need to look at it again.
95 if (CandidateVersion.isOlderThan(4, 1, 1))
96 continue;
97- if (CandidateVersion <= Version)
98+ if (CandidateVersion < Version)
99 continue;
100
101 if (!ScanGCCForMultilibs(TargetTriple, Args, LI->path(),
102 NeedsBiarchSuffix))
103 continue;
104
105+ // We might have found existing directory with GCCVersion, but it
106+ // might not have GCC libraries we are looking for (i.e. return an
107+ // empty Mulilibs)
108+ if (Multilibs.size() == 0)
109+ continue;
110+
111 Version = CandidateVersion;
112 GCCTriple.setTriple(CandidateTriple);
113 // FIXME: We hack together the directory name here instead of
diff --git a/recipes-devtools/clang/clang/0029-lldb-Link-with-libatomic-on-x86.patch b/recipes-devtools/clang/clang/0027-lldb-Link-with-libatomic-on-x86.patch
index cbc0549..d54ec3f 100644
--- a/recipes-devtools/clang/clang/0029-lldb-Link-with-libatomic-on-x86.patch
+++ b/recipes-devtools/clang/clang/0027-lldb-Link-with-libatomic-on-x86.patch
@@ -1,4 +1,4 @@
1From 0e9dd56bafb1273c784d357fca86a09f9ce02af2 Mon Sep 17 00:00:00 2001 1From eb56f061bd5cf95bc7b65da7a51da4ffbf450351 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 8 Feb 2022 01:31:26 -0800 3Date: Tue, 8 Feb 2022 01:31:26 -0800
4Subject: [PATCH] lldb: Link with libatomic on x86 4Subject: [PATCH] lldb: Link with libatomic on x86
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
17 1 file changed, 4 insertions(+) 17 1 file changed, 4 insertions(+)
18 18
19diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt 19diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt
20index a3b0a405b413..a68cfb503dfa 100644 20index e9954d66cd1a..f36f1c9e9d28 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/0028-compiler-rt-Enable-__int128-for-ppc32.patch
index 8619465..90a1f1c 100644
--- a/recipes-devtools/clang/clang/0030-compiler-rt-Enable-__int128-for-ppc32.patch
+++ b/recipes-devtools/clang/clang/0028-compiler-rt-Enable-__int128-for-ppc32.patch
@@ -1,4 +1,4 @@
1From 8ff4e362a824257f89cb77119fe8206667dd88ff Mon Sep 17 00:00:00 2001 1From fd20943309512af40d5f1b9b94220bcfa085c6a1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Mar 2022 16:28:16 -0800 3Date: Wed, 9 Mar 2022 16:28:16 -0800
4Subject: [PATCH] compiler-rt: Enable __int128 for ppc32 4Subject: [PATCH] compiler-rt: Enable __int128 for ppc32
@@ -11,12 +11,12 @@ 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
13diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt 13diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
14index 28ded8766f25..08495c491f08 100644 14index e0b2d08c2077..1b245fd5deeb 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@@ -686,11 +686,9 @@ set(mips64_SOURCES ${GENERIC_TF_SOURCES} 17@@ -710,11 +710,9 @@ set(mips64el_SOURCES ${GENERIC_TF_SOURCES}
18 set(mips64el_SOURCES ${GENERIC_TF_SOURCES} 18
19 ${mips_SOURCES}) 19 set(nvptx64_SOURCES ${GENERIC_SOURCES})
20 20
21-set(powerpc_SOURCES ${GENERIC_SOURCES}) 21-set(powerpc_SOURCES ${GENERIC_SOURCES})
22- 22-
@@ -27,7 +27,7 @@ index 28ded8766f25..08495c491f08 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@@ -705,14 +703,15 @@ set(powerpc64_SOURCES 30@@ -729,14 +727,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 28ded8766f25..08495c491f08 100644
46 46
47 set(riscv_SOURCES 47 set(riscv_SOURCES
48 riscv/fp_mode.c 48 riscv/fp_mode.c
49@@ -847,9 +846,9 @@ else () 49@@ -888,9 +887,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 28ded8766f25..08495c491f08 100644
59 endif() 59 endif()
60 60
61diff --git a/compiler-rt/lib/builtins/int_types.h b/compiler-rt/lib/builtins/int_types.h 61diff --git a/compiler-rt/lib/builtins/int_types.h b/compiler-rt/lib/builtins/int_types.h
62index ca97391fc284..6fa1dac2325f 100644 62index 48862f364217..cc47d3e33f67 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/0029-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch
index c51326f..5105705 100644
--- a/recipes-devtools/clang/clang/0031-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch
+++ b/recipes-devtools/clang/clang/0029-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch
@@ -1,4 +1,4 @@
1From 39e87eabd251d5086ef14305a36134053af09ae5 Mon Sep 17 00:00:00 2001 1From dfc9116514bd85660f658bdb3e4d44215d33c566 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 12 Aug 2022 11:50:57 -0700 3Date: Fri, 12 Aug 2022 11:50:57 -0700
4Subject: [PATCH] llvm: Do not use cmake infra to detect libzstd 4Subject: [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
23diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt 23diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt
24index e19223fdef4f..9c8af2404545 100644 24index f653379e3033..6456caff9dff 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)
@@ -41,8 +41,8 @@ index e19223fdef4f..9c8af2404545 100644
41+ list(APPEND imported_libs zstd) 41+ list(APPEND imported_libs zstd)
42 endif() 42 endif()
43 43
44 if( MSVC OR MINGW ) 44 if( WIN32 )
45@@ -306,7 +306,7 @@ if(LLVM_ENABLE_ZLIB) 45@@ -310,7 +310,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,12 +51,12 @@ index e19223fdef4f..9c8af2404545 100644
51 endif() 51 endif()
52 52
53 if(LLVM_ENABLE_ZSTD) 53 if(LLVM_ENABLE_ZSTD)
54@@ -319,7 +319,7 @@ if(LLVM_ENABLE_ZSTD) 54@@ -324,7 +324,7 @@ if(LLVM_ENABLE_ZSTD)
55 get_property(zstd_library TARGET ${zstd_target} PROPERTY LOCATION) 55 endif()
56 if (zstd_target STREQUAL zstd::libzstd_shared)
57 get_library_name(${zstd_library} zstd_library)
58- set(llvm_system_libs ${llvm_system_libs} "${zstd_library}")
59+ set(llvm_system_libs ${llvm_system_libs} zstd)
60 else()
61 set(llvm_system_libs ${llvm_system_libs} "${zstd_STATIC_LIBRARY}")
56 endif() 62 endif()
57 get_library_name(${zstd_library} zstd_library)
58- set(llvm_system_libs ${llvm_system_libs} "${zstd_library}")
59+ set(llvm_system_libs ${llvm_system_libs} zstd)
60 endif()
61
62 if(LLVM_ENABLE_TERMINFO)
diff --git a/recipes-devtools/clang/clang/0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch b/recipes-devtools/clang/clang/0030-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch
index ec59ffa..5020adc 100644
--- a/recipes-devtools/clang/clang/0032-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch
+++ b/recipes-devtools/clang/clang/0030-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch
@@ -1,4 +1,4 @@
1From 7e735f7b956eca38c2d882f3630af9bfd215f652 Mon Sep 17 00:00:00 2001 1From b1641882908052dc4f66c3967b8c3e3f0b1e54bb Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 3 Jan 2023 18:44:34 -0800 3Date: Tue, 3 Jan 2023 18:44:34 -0800
4Subject: [PATCH] compiler-rt: Fix stat struct's size for O32 ABI 4Subject: [PATCH] compiler-rt: Fix stat struct's size for O32 ABI
diff --git a/recipes-devtools/clang/clang/0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch b/recipes-devtools/clang/clang/0031-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch
index 43cd05b..6cc7d75 100644
--- a/recipes-devtools/clang/clang/0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch
+++ b/recipes-devtools/clang/clang/0031-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch
@@ -1,4 +1,4 @@
1From cfeae6f76bbfc62bffca278aa8d58db3981ca100 Mon Sep 17 00:00:00 2001 1From 5a2154c24ef0e9f2d5a5aabafa3e019707c16552 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 21 Feb 2023 12:46:10 -0800 3Date: Tue, 21 Feb 2023 12:46:10 -0800
4Subject: [PATCH] compiler-rt: Undef _TIME_BITS along with _FILE_OFFSET_BITS in 4Subject: [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
24diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h 24diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
25index 596528155505..8f54ad70999c 100644 25index 57966403c92a..efa83f30eca0 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/0032-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch
index 90a6671..1dbf292 100644
--- a/recipes-devtools/clang/clang/0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch
+++ b/recipes-devtools/clang/clang/0032-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch
@@ -1,4 +1,4 @@
1From 3d2fdb0ab98f479679231435cb3247cfbf9dfaab Mon Sep 17 00:00:00 2001 1From fe32a4031f8fa3cd33685121acee6d3afd3695a6 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Thu, 31 Aug 2023 18:14:47 +0200 3Date: Thu, 31 Aug 2023 18:14:47 +0200
4Subject: [PATCH] ToolChains/Gnu.cpp: ARMLibDirs search also in lib32 4Subject: [PATCH] ToolChains/Gnu.cpp: ARMLibDirs search also in lib32
@@ -55,12 +55,12 @@ 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
57diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp 57diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
58index 98d979ace17b..c5aed9b47123 100644 58index f081a778cfe9..b3d656d30a78 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@@ -2479,7 +2479,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( 61@@ -2475,7 +2475,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
62 static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu", 62 static const char *const AArch64beLibDirs[] = {"/lib"};
63 "aarch64_be-linux-gnu"}; 63 static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu"};
64 64
65- static const char *const ARMLibDirs[] = {"/lib"}; 65- static const char *const ARMLibDirs[] = {"/lib"};
66+ static const char *const ARMLibDirs[] = {"/lib", "/lib32"}; 66+ static const char *const ARMLibDirs[] = {"/lib", "/lib32"};
@@ -68,10 +68,10 @@ index 98d979ace17b..c5aed9b47123 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",
70diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 70diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
71index 699ff18b1240..4ed91b852562 100644 71index 41818470cf85..3224acee8710 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@@ -202,6 +202,7 @@ static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) { 74@@ -205,6 +205,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/0033-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch b/recipes-devtools/clang/clang/0033-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch
new file mode 100644
index 0000000..112724a
--- /dev/null
+++ b/recipes-devtools/clang/clang/0033-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch
@@ -0,0 +1,78 @@
1From 8ba03ec78308efe868d7c97f6b2c11caf0beb4e2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 3 Feb 2024 16:47:10 -0800
4Subject: [PATCH] clang/llvm: Add OE specific ABI triple for N32 ABI
5
6Its gnun32 when using OE
7
8Upstream-Status: Inappropriate [OE-Specific]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 clang/lib/Driver/ToolChains/Gnu.cpp | 1 +
12 clang/lib/Driver/ToolChains/Linux.cpp | 4 ++--
13 llvm/lib/TargetParser/Triple.cpp | 4 +++-
14 3 files changed, 6 insertions(+), 3 deletions(-)
15
16diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
17index b3d656d30a78..f94606180099 100644
18--- a/clang/lib/Driver/ToolChains/Gnu.cpp
19+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
20@@ -2538,6 +2538,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
21
22 static const char *const MIPSN32LibDirs[] = {"/lib32"};
23 static const char *const MIPSN32Triples[] = {"mips64-linux-gnuabin32",
24+ "mips64-linux-gnun32",
25 "mipsisa64r6-linux-gnuabin32"};
26 static const char *const MIPSN32ELLibDirs[] = {"/lib32"};
27 static const char *const MIPSN32ELTriples[] = {
28diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
29index 3224acee8710..5302e870d30d 100644
30--- a/clang/lib/Driver/ToolChains/Linux.cpp
31+++ b/clang/lib/Driver/ToolChains/Linux.cpp
32@@ -136,7 +136,7 @@ std::string Linux::getMultiarchTriple(const Driver &D,
33 return IsMipsR6 ? "mipsisa32r6el-linux-gnu" : "mipsel-linux-gnu";
34 case llvm::Triple::mips64: {
35 std::string MT = std::string(IsMipsR6 ? "mipsisa64r6" : "mips64") +
36- "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64");
37+ "-linux-" + (IsMipsN32Abi ? "gnun32" : "gnu");
38 if (D.getVFS().exists(concat(SysRoot, "/lib", MT)))
39 return MT;
40 if (D.getVFS().exists(concat(SysRoot, "/lib/mips64-linux-gnu")))
41@@ -145,7 +145,7 @@ std::string Linux::getMultiarchTriple(const Driver &D,
42 }
43 case llvm::Triple::mips64el: {
44 std::string MT = std::string(IsMipsR6 ? "mipsisa64r6el" : "mips64el") +
45- "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64");
46+ "-linux-" + (IsMipsN32Abi ? "gnun32" : "gnu");
47 if (D.getVFS().exists(concat(SysRoot, "/lib", MT)))
48 return MT;
49 if (D.getVFS().exists(concat(SysRoot, "/lib/mips64el-linux-gnu")))
50diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp
51index fb9cbeb30351..4fa949a47791 100644
52--- a/llvm/lib/TargetParser/Triple.cpp
53+++ b/llvm/lib/TargetParser/Triple.cpp
54@@ -318,7 +318,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
55 case EABIHF: return "eabihf";
56 case GNU: return "gnu";
57 case GNUABI64: return "gnuabi64";
58- case GNUABIN32: return "gnuabin32";
59+ case GNUABIN32: return "gnun32";
60 case GNUEABI: return "gnueabi";
61 case GNUEABIHF: return "gnueabihf";
62 case GNUF32: return "gnuf32";
63@@ -692,6 +692,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
64 .StartsWith("eabihf", Triple::EABIHF)
65 .StartsWith("eabi", Triple::EABI)
66 .StartsWith("gnuabin32", Triple::GNUABIN32)
67+ .StartsWith("gnun32", Triple::GNUABIN32)
68 .StartsWith("gnuabi64", Triple::GNUABI64)
69 .StartsWith("gnueabihf", Triple::GNUEABIHF)
70 .StartsWith("gnueabi", Triple::GNUEABI)
71@@ -996,6 +997,7 @@ Triple::Triple(const Twine &Str)
72 Environment =
73 StringSwitch<Triple::EnvironmentType>(Components[0])
74 .StartsWith("mipsn32", Triple::GNUABIN32)
75+ .StartsWith("mips64-n32", Triple::GNUABIN32)
76 .StartsWith("mips64", Triple::GNUABI64)
77 .StartsWith("mipsisa64", Triple::GNUABI64)
78 .StartsWith("mipsisa32", Triple::GNU)
diff --git a/recipes-devtools/clang/clang/0036-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch b/recipes-devtools/clang/clang/0034-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch
index 84a0d2b..9f70bf2 100644
--- a/recipes-devtools/clang/clang/0036-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch
+++ b/recipes-devtools/clang/clang/0034-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch
@@ -1,4 +1,4 @@
1From e54d4a15f31b8f84dc24ae14efc65713b1a6d6d7 Mon Sep 17 00:00:00 2001 1From 1532564c3d7c025432caefc17480cf89eed696b8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 14 May 2024 22:04:43 -0700 3Date: Tue, 14 May 2024 22:04:43 -0700
4Subject: [PATCH] llvm: Add libunwind.pc.in and llvm-config scripts 4Subject: [PATCH] llvm: Add libunwind.pc.in and llvm-config scripts
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
deleted file mode 100644
index c6115a0..0000000
--- a/recipes-devtools/clang/clang/0035-compiler-rt-Fix-cmake-check-for-_Float16-and-__bf16.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 34a65a1f0ff8bb2d41f32c229dc6b309a7566ecd Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 1 Mar 2024 16:47:46 -0800
4Subject: [PATCH] compiler-rt: Fix cmake check for _Float16 and __bf16
5
6When using check_c_source_compiles cmake function, main has to be
7provided, otherwise while compile step will be fine but linking step
8will fail as there will be no main function and test will fail and
9disable building HF builtins into compiler-rt
10
11Fixes configure errors like below
12
13aarch64-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
20Upstream-Status: Submitted [https://github.com/kraj/llvm-project/pull/new/kraj/compiler-rt-float16]
21Signed-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
26diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
27index 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/common.inc b/recipes-devtools/clang/common.inc
index c0d7684..bab85bd 100644
--- a/recipes-devtools/clang/common.inc
+++ b/recipes-devtools/clang/common.inc
@@ -5,8 +5,17 @@ LIC_FILES_CHKSUM = "file://llvm/LICENSE.TXT;md5=${LLVMMD5SUM} \
5" 5"
6LICENSE = "Apache-2.0-with-LLVM-exception" 6LICENSE = "Apache-2.0-with-LLVM-exception"
7 7
8BASEURI = "${LLVM_HTTP}/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz" 8# Snapshot
9SRC_URI[sha256sum] = "0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a" 9RELEASE ?= "a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4"
10BASEURI ?= "https://api.github.com/repos/llvm/llvm-project/tarball/${RELEASE};downloadfilename=llvm-${PV}-${RELEASE}.tar.gz"
11SOURCEDIR ?= "llvm-llvm-project-${@'${RELEASE}'[0:7]}"
12SRC_URI[sha256sum] = "2e1dcf85294ca09862b9247355716b9928d100b9cd140f54737c1058733d1c6e"
13
14# GA Release
15#RELEASE ?= "${PV}"
16#BASEURI ?= "${LLVM_HTTP}/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz"
17#SOURCEDIR ?= "llvm-project-${PV}.src"
18#SRC_URI[sha256sum] = "0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a"
10 19
11SRC_URI = "\ 20SRC_URI = "\
12 ${BASEURI} \ 21 ${BASEURI} \
@@ -24,32 +33,31 @@ SRC_URI = "\
24 file://0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \ 33 file://0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \
25 file://0013-Check-for-atomic-double-intrinsics.patch \ 34 file://0013-Check-for-atomic-double-intrinsics.patch \
26 file://0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch \ 35 file://0014-libcxx-Add-compiler-runtime-library-to-link-step-for.patch \
27 file://0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch \ 36 file://0015-cmake-Fix-configure-for-packages-using-find_package.patch \
28 file://0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch \ 37 file://0016-clang-Fix-resource-dir-location-for-cross-toolchains.patch \
29 file://0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ 38 file://0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \
30 file://0018-clang-Use-python3-in-python-scripts.patch \ 39 file://0018-clang-Use-python3-in-python-scripts.patch \
31 file://0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \ 40 file://0019-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \
32 file://0020-llvm-Do-not-use-find_library-for-ncurses.patch \ 41 file://0020-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \
33 file://0021-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \ 42 file://0021-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \
34 file://0022-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \ 43 file://0022-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \
35 file://0023-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \ 44 file://0023-libunwind-Added-unw_backtrace-method.patch \
36 file://0024-libunwind-Added-unw_backtrace-method.patch \ 45 file://0024-clang-Do-not-use-install-relative-libc-headers.patch \
37 file://0025-clang-Do-not-use-install-relative-libc-headers.patch \ 46 file://0025-Fix-lib-paths-for-OpenEmbedded-Host.patch \
38 file://0027-Fix-lib-paths-for-OpenEmbedded-Host.patch \ 47 file://0026-Correct-library-search-path-for-OpenEmbedded-Host.patch \
39 file://0028-Correct-library-search-path-for-OpenEmbedded-Host.patch \ 48 file://0027-lldb-Link-with-libatomic-on-x86.patch \
40 file://0029-lldb-Link-with-libatomic-on-x86.patch \ 49 file://0028-compiler-rt-Enable-__int128-for-ppc32.patch \
41 file://0030-compiler-rt-Enable-__int128-for-ppc32.patch \ 50 file://0029-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch \
42 file://0031-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch \ 51 file://0030-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 \ 52 file://0031-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch \
44 file://0033-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch \ 53 file://0032-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \
45 file://0034-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \ 54 file://0033-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch \
46 file://0035-compiler-rt-Fix-cmake-check-for-_Float16-and-__bf16.patch \ 55 file://0034-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch \
47 file://0036-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch \ 56"
48 "
49# Fallback to no-PIE if not set 57# Fallback to no-PIE if not set
50GCCPIE ??= "" 58GCCPIE ??= ""
51 59
52S = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}/llvm-project-${PV}.src" 60S = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}/${SOURCEDIR}"
53B ?= "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}" 61B ?= "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
54 62
55# We need to ensure that for the shared work directory, the do_patch signatures match 63# We need to ensure that for the shared work directory, the do_patch signatures match