From d8e54f7599ccac98378cc2d9c616f3a9c92540e1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 23 Nov 2019 08:00:40 -0800 Subject: clang: Uodate to 9.0.1-rc1 Drop 0021-Driver-Prioritize-SYSROOT-usr-include-over-RESOURCE_.patch as its already applied upstream Signed-off-by: Khem Raj --- recipes-devtools/clang/clang.inc | 4 +- ...d-lxml2-to-linker-cmdline-of-xml-is-found.patch | 2 +- ...ind-libunwind-headers-when-LIBCXXABI_LIBU.patch | 4 +- ...er-rt-support-a-new-embedded-linux-target.patch | 2 +- ...-Simplify-cross-compilation.-Don-t-use-na.patch | 2 +- ...0005-compiler-rt-Disable-tsan-on-OE-glibc.patch | 2 +- ...LibraryInfo-Undefine-libc-functions-if-th.patch | 2 +- .../0007-llvm-allow-env-override-of-exe-path.patch | 2 +- .../0008-llvm-Enhance-path-prefix-mapping.patch | 2 +- .../0009-clang-Enable-SSP-and-PIE-by-default.patch | 6 +- .../0010-clang-driver-Use-lib-for-ldso-on-OE.patch | 4 +- ...iver-tools.cpp-Add-lssp_nonshared-on-musl.patch | 2 +- ...-ppc-does-not-support-128-bit-long-double.patch | 2 +- .../0013-clang-Prepend-trailing-to-sysroot.patch | 4 +- ...inside-the-target-sysroot-for-compiler-ru.patch | 2 +- ...ang-Define-releative-gcc-installation-dir.patch | 2 +- ...dso-for-musl-on-x86-and-x32-architectures.patch | 4 +- .../0017-clang-scan-view-needs-python-2.x.patch | 2 +- ...al-implementation-of-fmacro-prefix-map-an.patch | 2 +- ...pthread-and-ldl-along-with-lunwind-for-st.patch | 2 +- ...clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch | 2 +- ...ritize-SYSROOT-usr-include-over-RESOURCE_.patch | 115 --------------------- ...upport-for-floating-point-registers-in-in.patch | 103 ++++++++++++++++++ ..._EXECUTABLE-when-cross-compiling-for-nati.patch | 22 ++++ ...upport-for-floating-point-registers-in-in.patch | 103 ------------------ ..._EXECUTABLE-when-cross-compiling-for-nati.patch | 22 ---- ...023-openmp-Recognise-ARMv7ve-machine-arch.patch | 28 +++++ .../0024-Check-for-atomic-double-intrinsics.patch | 32 ++++++ ...024-openmp-Recognise-ARMv7ve-machine-arch.patch | 28 ----- .../0025-Check-for-atomic-double-intrinsics.patch | 33 ------ recipes-devtools/clang/common.inc | 9 +- 31 files changed, 217 insertions(+), 334 deletions(-) delete mode 100644 recipes-devtools/clang/clang/0021-Driver-Prioritize-SYSROOT-usr-include-over-RESOURCE_.patch create mode 100644 recipes-devtools/clang/clang/0021-RISCV-Add-support-for-floating-point-registers-in-in.patch create mode 100644 recipes-devtools/clang/clang/0022-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch delete mode 100644 recipes-devtools/clang/clang/0022-RISCV-Add-support-for-floating-point-registers-in-in.patch delete mode 100644 recipes-devtools/clang/clang/0023-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch create mode 100644 recipes-devtools/clang/clang/0023-openmp-Recognise-ARMv7ve-machine-arch.patch create mode 100644 recipes-devtools/clang/clang/0024-Check-for-atomic-double-intrinsics.patch delete mode 100644 recipes-devtools/clang/clang/0024-openmp-Recognise-ARMv7ve-machine-arch.patch delete mode 100644 recipes-devtools/clang/clang/0025-Check-for-atomic-double-intrinsics.patch diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc index b301344..248ff28 100644 --- a/recipes-devtools/clang/clang.inc +++ b/recipes-devtools/clang/clang.inc @@ -6,9 +6,9 @@ LLVM_GIT_PROTOCOL ?= "https" MAJOR_VER = "9" MINOR_VER = "0" -PATCH_VER = "0" +PATCH_VER = "1" -SRCREV ?= "0399d5a9682b3cef71c653373e38890c63c4c365" +SRCREV ?= "aa0ed8dac77bf205f2b376a44a0d161f4dafcb5a" PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}" BRANCH = "release/${MAJOR_VER}.x" diff --git a/recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch b/recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch index db200b4..439701b 100644 --- a/recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch +++ b/recipes-devtools/clang/clang/0001-lldb-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch @@ -1,4 +1,4 @@ -From 71040ed1f04234ddb7498f834780a7dcaee1fbf1 Mon Sep 17 00:00:00 2001 +From 364c720b5291ed32d14162fd2ddd5975a55fdbe9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 22 May 2017 17:36:16 -0700 Subject: [PATCH] lldb: Add -lxml2 to linker cmdline of xml is found diff --git a/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch b/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch index 32b0d39..a3c1256 100644 --- a/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch +++ b/recipes-devtools/clang/clang/0002-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch @@ -1,4 +1,4 @@ -From aa5d4a3e2c24b5229d8170e518aa91623d15f197 Mon Sep 17 00:00:00 2001 +From d3caf3ac407c6d53f62f18dcec3ecb2cb33166ba Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 27 Aug 2017 10:37:49 -0700 Subject: [PATCH] libcxxabi: Find libunwind headers when @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt -index ce69fff1370..47e09e34fc2 100644 +index aa0b124fc3c..e1503837f33 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -455,14 +455,9 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBCXXABI_C_FLAGS}") diff --git a/recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch b/recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch index 796b965..916ac00 100644 --- a/recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch +++ b/recipes-devtools/clang/clang/0003-compiler-rt-support-a-new-embedded-linux-target.patch @@ -1,4 +1,4 @@ -From f0ae2066cccbe1095eb60bd41f53444fd01c2434 Mon Sep 17 00:00:00 2001 +From 438cdfa2636eb5c180de004feb4527f70c6c1f88 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 19 Apr 2015 15:16:23 -0700 Subject: [PATCH] compiler-rt: support a new embedded linux target diff --git a/recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch b/recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch index 8bccb02..daa6079 100644 --- a/recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch +++ b/recipes-devtools/clang/clang/0004-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch @@ -1,4 +1,4 @@ -From 785464a219c4d37ef9542e3674dcafdaa945a472 Mon Sep 17 00:00:00 2001 +From 0d904bb5f9f9876e09392cadf36e053e983951c3 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 19 May 2016 23:11:45 -0700 Subject: [PATCH] compiler-rt: Simplify cross-compilation. Don't use diff --git a/recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch b/recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch index 60ee7fb..310e8d0 100644 --- a/recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch +++ b/recipes-devtools/clang/clang/0005-compiler-rt-Disable-tsan-on-OE-glibc.patch @@ -1,4 +1,4 @@ -From 085fe7fd35c5f6b801c4a3aff1df6007259668fa Mon Sep 17 00:00:00 2001 +From c82435d462420d64e4fd249bd6673a12ef38d433 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 18 Jul 2016 08:05:02 +0000 Subject: [PATCH] compiler-rt: Disable tsan on OE/glibc diff --git a/recipes-devtools/clang/clang/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch index b09b8ef..bcc8c6d 100644 --- a/recipes-devtools/clang/clang/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch +++ b/recipes-devtools/clang/clang/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch @@ -1,4 +1,4 @@ -From 187ca963c2d6faa84ea9f33c1c895e0b2702f116 Mon Sep 17 00:00:00 2001 +From 9076572a14be8f881d1395f144d07b0740f71c69 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 21 May 2016 00:33:20 +0000 Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are diff --git a/recipes-devtools/clang/clang/0007-llvm-allow-env-override-of-exe-path.patch b/recipes-devtools/clang/clang/0007-llvm-allow-env-override-of-exe-path.patch index 40aedfd..d71005f 100644 --- a/recipes-devtools/clang/clang/0007-llvm-allow-env-override-of-exe-path.patch +++ b/recipes-devtools/clang/clang/0007-llvm-allow-env-override-of-exe-path.patch @@ -1,4 +1,4 @@ -From a5cfe77db04dcab424dfbc5cb98d9566228cf9b5 Mon Sep 17 00:00:00 2001 +From 58d9492746d605752409824db350ce4e299c9739 Mon Sep 17 00:00:00 2001 From: Martin Kelly Date: Fri, 19 May 2017 00:22:57 -0700 Subject: [PATCH] llvm: allow env override of exe path diff --git a/recipes-devtools/clang/clang/0008-llvm-Enhance-path-prefix-mapping.patch b/recipes-devtools/clang/clang/0008-llvm-Enhance-path-prefix-mapping.patch index 7ad9d6b..bc89cfd 100644 --- a/recipes-devtools/clang/clang/0008-llvm-Enhance-path-prefix-mapping.patch +++ b/recipes-devtools/clang/clang/0008-llvm-Enhance-path-prefix-mapping.patch @@ -1,4 +1,4 @@ -From ccb11131c6a82b4fcdeb777015b74dff55abcd1a Mon Sep 17 00:00:00 2001 +From 8fe2337421af15dee7f0d2af7ed27695e2967723 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 15 Feb 2019 11:32:09 -0800 Subject: [PATCH] llvm: Enhance path prefix mapping diff --git a/recipes-devtools/clang/clang/0009-clang-Enable-SSP-and-PIE-by-default.patch b/recipes-devtools/clang/clang/0009-clang-Enable-SSP-and-PIE-by-default.patch index a732a5e..d5795d6 100644 --- a/recipes-devtools/clang/clang/0009-clang-Enable-SSP-and-PIE-by-default.patch +++ b/recipes-devtools/clang/clang/0009-clang-Enable-SSP-and-PIE-by-default.patch @@ -1,4 +1,4 @@ -From fa7c046b11dc21b613ec7033b0f5e7b0658f7c70 Mon Sep 17 00:00:00 2001 +From 421fd7dbd379d6d2d89ee58527eca10da8cc643c Mon Sep 17 00:00:00 2001 From: Evangelos Foutras Date: Thu, 20 Sep 2018 06:20:28 +0300 Subject: [PATCH] clang: Enable SSP and PIE by default @@ -22,10 +22,10 @@ of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410) 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index d900508ad93..3e68d50dac2 100644 +index 7f59bc77f52..ed907549929 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -972,8 +972,18 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs, +@@ -975,8 +975,18 @@ void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs, } bool Linux::isPIEDefault() const { diff --git a/recipes-devtools/clang/clang/0010-clang-driver-Use-lib-for-ldso-on-OE.patch b/recipes-devtools/clang/clang/0010-clang-driver-Use-lib-for-ldso-on-OE.patch index a169e0a..80cf185 100644 --- a/recipes-devtools/clang/clang/0010-clang-driver-Use-lib-for-ldso-on-OE.patch +++ b/recipes-devtools/clang/clang/0010-clang-driver-Use-lib-for-ldso-on-OE.patch @@ -1,4 +1,4 @@ -From 75628b5ab0ea3e4d633f15dbab6dd16cf2e35ee2 Mon Sep 17 00:00:00 2001 +From c4954f2b9126edccbffa76d860aebf858c80bc4d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 21 May 2016 21:52:36 -0700 Subject: [PATCH] clang: driver: Use /lib for ldso on OE @@ -18,7 +18,7 @@ Signed-off-by: Khem Raj 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 3e68d50dac2..dbe5ed7d89e 100644 +index ed907549929..8cee2490cc7 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -593,12 +593,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { diff --git a/recipes-devtools/clang/clang/0011-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch b/recipes-devtools/clang/clang/0011-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch index 149c71d..a95b838 100644 --- a/recipes-devtools/clang/clang/0011-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch +++ b/recipes-devtools/clang/clang/0011-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch @@ -1,4 +1,4 @@ -From 9a11a10ae400b590a9465e16e9019f33facf9d22 Mon Sep 17 00:00:00 2001 +From 3beedc96c33d7c7b0e3b1f9c402b7cda71764d4b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 19 May 2016 21:11:06 -0700 Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl diff --git a/recipes-devtools/clang/clang/0012-clang-musl-ppc-does-not-support-128-bit-long-double.patch b/recipes-devtools/clang/clang/0012-clang-musl-ppc-does-not-support-128-bit-long-double.patch index 939af8a..22c1b3b 100644 --- a/recipes-devtools/clang/clang/0012-clang-musl-ppc-does-not-support-128-bit-long-double.patch +++ b/recipes-devtools/clang/clang/0012-clang-musl-ppc-does-not-support-128-bit-long-double.patch @@ -1,4 +1,4 @@ -From 6d7d4ac713e3ab01e09cf61dd62d6c663a63dd4e Mon Sep 17 00:00:00 2001 +From 971efedff8fa505ac8c3786e190bec7e3bd2a544 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 10 May 2016 02:00:11 -0700 Subject: [PATCH] clang: musl/ppc does not support 128-bit long double diff --git a/recipes-devtools/clang/clang/0013-clang-Prepend-trailing-to-sysroot.patch b/recipes-devtools/clang/clang/0013-clang-Prepend-trailing-to-sysroot.patch index 89cc5be..87ccffd 100644 --- a/recipes-devtools/clang/clang/0013-clang-Prepend-trailing-to-sysroot.patch +++ b/recipes-devtools/clang/clang/0013-clang-Prepend-trailing-to-sysroot.patch @@ -1,4 +1,4 @@ -From dcbb050659b37f397238754ac005fec806aca558 Mon Sep 17 00:00:00 2001 +From cfc6e9f9deb0ef42ac024762cd2e7052641a0515 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 16 Mar 2017 09:02:13 -0700 Subject: [PATCH] clang: Prepend trailing '/' to sysroot @@ -24,7 +24,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index dbe5ed7d89e..9bf66207ac9 100644 +index 8cee2490cc7..33037dafb57 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -223,7 +223,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) diff --git a/recipes-devtools/clang/clang/0014-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/recipes-devtools/clang/clang/0014-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch index aa23abf..40c19a7 100644 --- a/recipes-devtools/clang/clang/0014-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch +++ b/recipes-devtools/clang/clang/0014-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch @@ -1,4 +1,4 @@ -From 0e247141b80454d248c51a3139ed7e3cc3d149f3 Mon Sep 17 00:00:00 2001 +From e4b89d394dec7b9019faf2d3ad788142032b34b4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 16 Mar 2017 19:06:26 -0700 Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime diff --git a/recipes-devtools/clang/clang/0015-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0015-clang-Define-releative-gcc-installation-dir.patch index d6ee1bb..d8ec5d7 100644 --- a/recipes-devtools/clang/clang/0015-clang-Define-releative-gcc-installation-dir.patch +++ b/recipes-devtools/clang/clang/0015-clang-Define-releative-gcc-installation-dir.patch @@ -1,4 +1,4 @@ -From 59debafd7650bf0af1e88ed6a461f14590f39b26 Mon Sep 17 00:00:00 2001 +From e8650cb2729787e0fa8edbfe6c32474472a673b8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 21 May 2017 15:38:25 -0700 Subject: [PATCH] clang: Define / releative gcc installation dir diff --git a/recipes-devtools/clang/clang/0016-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch b/recipes-devtools/clang/clang/0016-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch index 3410d2f..04d9da7 100644 --- a/recipes-devtools/clang/clang/0016-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch +++ b/recipes-devtools/clang/clang/0016-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch @@ -1,4 +1,4 @@ -From a105a76862d92ad15520671971e333222618d275 Mon Sep 17 00:00:00 2001 +From 9d30864a94bced63a95a1fc300dbfad37a3d6038 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 16 Aug 2017 15:16:15 -0700 Subject: [PATCH] clang: Fix ldso for musl on x86 and x32 architectures @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 1 file changed, 8 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 9bf66207ac9..fc7d6c17484 100644 +index 33037dafb57..ff671fe27d2 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -519,6 +519,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { diff --git a/recipes-devtools/clang/clang/0017-clang-scan-view-needs-python-2.x.patch b/recipes-devtools/clang/clang/0017-clang-scan-view-needs-python-2.x.patch index a063925..82b016e 100644 --- a/recipes-devtools/clang/clang/0017-clang-scan-view-needs-python-2.x.patch +++ b/recipes-devtools/clang/clang/0017-clang-scan-view-needs-python-2.x.patch @@ -1,4 +1,4 @@ -From b95744a9edf853fa4d8a4ed813760d8b2d8595b6 Mon Sep 17 00:00:00 2001 +From 9ec21455fc581e3755ff59af0828c7f7f9529968 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 15 May 2018 10:28:43 -0700 Subject: [PATCH] clang: scan-view needs python 2.x diff --git a/recipes-devtools/clang/clang/0018-clang-Initial-implementation-of-fmacro-prefix-map-an.patch b/recipes-devtools/clang/clang/0018-clang-Initial-implementation-of-fmacro-prefix-map-an.patch index b570ac2..b9e67d4 100644 --- a/recipes-devtools/clang/clang/0018-clang-Initial-implementation-of-fmacro-prefix-map-an.patch +++ b/recipes-devtools/clang/clang/0018-clang-Initial-implementation-of-fmacro-prefix-map-an.patch @@ -1,4 +1,4 @@ -From ba1d096576732493155834256698bfd3020790b3 Mon Sep 17 00:00:00 2001 +From 3a6bf36829e16fd7ab1c2eb6b93ed6caa8210cd1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 15 Feb 2019 10:02:52 -0800 Subject: [PATCH] clang: Initial implementation of -fmacro-prefix-map and diff --git a/recipes-devtools/clang/clang/0019-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch b/recipes-devtools/clang/clang/0019-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch index aa4ad22..0a023ea 100644 --- a/recipes-devtools/clang/clang/0019-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch +++ b/recipes-devtools/clang/clang/0019-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch @@ -1,4 +1,4 @@ -From 743e7a4f6e2f74e846151f07e498b3124ae73e71 Mon Sep 17 00:00:00 2001 +From a761afb9da0223ec9475288831f35c72c145a905 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 31 Jul 2019 22:51:39 -0700 Subject: [PATCH] clang: Add -lpthread and -ldl along with -lunwind for static diff --git a/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch b/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch index 735a8cb..f9d4733 100644 --- a/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch +++ b/recipes-devtools/clang/clang/0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch @@ -1,4 +1,4 @@ -From 084a896c2032cec87d6ef073ca1ee562cf3d3b95 Mon Sep 17 00:00:00 2001 +From a11464585a13998f97e837a62b299bf66e2f90f0 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 12 Aug 2019 08:59:28 -0700 Subject: [PATCH] clang: default to lp64d ABI and rv64gc ISA diff --git a/recipes-devtools/clang/clang/0021-Driver-Prioritize-SYSROOT-usr-include-over-RESOURCE_.patch b/recipes-devtools/clang/clang/0021-Driver-Prioritize-SYSROOT-usr-include-over-RESOURCE_.patch deleted file mode 100644 index 848aaf6..0000000 --- a/recipes-devtools/clang/clang/0021-Driver-Prioritize-SYSROOT-usr-include-over-RESOURCE_.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 71f2e313d9000b6b96d0277e45d3afe44c5b6bfb Mon Sep 17 00:00:00 2001 -From: Fangrui Song -Date: Tue, 6 Aug 2019 06:25:32 +0000 -Subject: [PATCH] [Driver] Prioritize SYSROOT/usr/include over - RESOURCE_DIR/include on linux-musl - -On a musl-based Linux distribution, stdalign.h stdarg.h stdbool.h stddef.h stdint.h stdnoreturn.h are expected to be provided by musl (/usr/include), instead of RESOURCE_DIR/include. -Reorder RESOURCE_DIR/include to fix the search order problem. -(Currently musl doesn't provide stdatomic.h. stdatomic.h is still found in RESOURCE_DIR/include.) - -gcc on musl has a similar search order: - -``` - /usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../include/c++/8.3.0 - /usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../include/c++/8.3.0/x86_64-alpine-linux-musl - /usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../include/c++/8.3.0/backward - /usr/local/include - /usr/include/fortify - /usr/include - /usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/include -``` - -This is different from a glibc-based distribution where RESOURCE_DIR/include is placed before SYSROOT/usr/include. - -According to the maintainer of musl: - -> musl does not support use/mixing of compiler-provided std headers with its headers, and intentionally has no mechanism for communicating with such headers as to which types have already been defined or still need to be defined. If the current include order, with clang's headers before the libc ones, works in some situations, it's only by accident. - -Reviewed by: phosek - -Differential Revision: https://reviews.llvm.org/D65699 - -llvm-svn: 367981 ---- - clang/lib/Driver/ToolChains/Linux.cpp | 13 ++++--- - .../test/Driver/linux-musl-header-search.cpp | 39 +++++++++++++++++++ - 2 files changed, 47 insertions(+), 5 deletions(-) - create mode 100644 clang/test/Driver/linux-musl-header-search.cpp - -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index fc7d6c17484..ff671fe27d2 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -668,11 +668,11 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, - if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) - addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include"); - -- if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { -- SmallString<128> P(D.ResourceDir); -- llvm::sys::path::append(P, "include"); -- addSystemInclude(DriverArgs, CC1Args, P); -- } -+ SmallString<128> ResourceDirInclude(D.ResourceDir); -+ llvm::sys::path::append(ResourceDirInclude, "include"); -+ if (!DriverArgs.hasArg(options::OPT_nobuiltininc) && -+ (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) -+ addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude); - - if (DriverArgs.hasArg(options::OPT_nostdlibinc)) - return; -@@ -870,6 +870,9 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, - addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); - - addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include"); -+ -+ if (!DriverArgs.hasArg(options::OPT_nobuiltininc) && getTriple().isMusl()) -+ addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude); - } - - static std::string DetectLibcxxIncludePath(llvm::vfs::FileSystem &vfs, -diff --git a/clang/test/Driver/linux-musl-header-search.cpp b/clang/test/Driver/linux-musl-header-search.cpp -new file mode 100644 -index 00000000000..9fee0360068 ---- /dev/null -+++ b/clang/test/Driver/linux-musl-header-search.cpp -@@ -0,0 +1,39 @@ -+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ -+// RUN: -target x86_64-linux-musl -stdlib=libc++ \ -+// RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \ -+// RUN: -resource-dir=%S/Inputs/resource_dir \ -+// RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree --gcc-toolchain= \ -+// RUN: | FileCheck --check-prefix=CHECK-X86-64-LIBCXX %s -+ -+// RESOURCE_DIR/include comes after /usr/include on linux-musl. -+// This is different from a glibc-based distribution. -+// CHECK-X86-64-LIBCXX: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" -+// CHECK-X86-64-LIBCXX: "-isysroot" "[[SYSROOT:[^"]+]]" -+// CHECK-X86-64-LIBCXX: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v1" -+// CHECK-X86-64-LIBCXX: "-internal-isystem" "[[SYSROOT]]/usr/local/include" -+// CHECK-X86-64-LIBCXX: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" -+// CHECK-X86-64-LIBCXX: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include" -+ -+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only -nobuiltininc 2>&1 \ -+// RUN: -target x86_64-linux-musl \ -+// RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \ -+// RUN: -resource-dir=%S/Inputs/resource_dir \ -+// RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree --gcc-toolchain= \ -+// RUN: | FileCheck --check-prefix=CHECK-NOBUILTININC %s -+ -+// CHECK-NOBUILTININC: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" -+// CHECK-NOBUILTININC-NOT: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include" -+ -+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only -nostdlibinc 2>&1 \ -+// RUN: -target x86_64-linux-musl \ -+// RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \ -+// RUN: -resource-dir=%S/Inputs/resource_dir \ -+// RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree --gcc-toolchain= \ -+// RUN: | FileCheck --check-prefix=CHECK-NOSTDLIBINC %s -+ -+// CHECK-NOSTDLIBINC: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]" -+// CHECK-NOSTDLIBINC-NOT: "-internal-externc-isystem" -+// CHECK-NOSTDLIBINC-NOT: "-internal-isystem" -+// CHECK-NOSTDLIBINC: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include" -+// CHECK-NOSTDLIBINC-NOT: "-internal-externc-isystem" -+// CHECK-NOSTDLIBINC-NOT: "-internal-isystem" diff --git a/recipes-devtools/clang/clang/0021-RISCV-Add-support-for-floating-point-registers-in-in.patch b/recipes-devtools/clang/clang/0021-RISCV-Add-support-for-floating-point-registers-in-in.patch new file mode 100644 index 0000000..b36d260 --- /dev/null +++ b/recipes-devtools/clang/clang/0021-RISCV-Add-support-for-floating-point-registers-in-in.patch @@ -0,0 +1,103 @@ +From 19de4c98078a98a0663e945d419fa2147a70fe9c Mon Sep 17 00:00:00 2001 +From: Simon Cook +Date: Wed, 31 Jul 2019 09:12:00 +0000 +Subject: [PATCH] [RISCV] Add support for floating point registers in inlineasm + +This adds support for parsing/emitting in IR the floating-point RISC-V +registers in inline assembly clobber lists. + +Differential Revision: https://reviews.llvm.org/D64737 + +llvm-svn: 367399 +--- + clang/lib/Basic/Targets/RISCV.cpp | 33 ++++++++++++++++++++++--------- + clang/test/Sema/riscv-asm.c | 28 ++++++++++++++++++++++++++ + 2 files changed, 52 insertions(+), 9 deletions(-) + create mode 100644 clang/test/Sema/riscv-asm.c + +diff --git a/clang/lib/Basic/Targets/RISCV.cpp b/clang/lib/Basic/Targets/RISCV.cpp +index 930b825e94d..d1166d90df4 100644 +--- a/clang/lib/Basic/Targets/RISCV.cpp ++++ b/clang/lib/Basic/Targets/RISCV.cpp +@@ -19,23 +19,38 @@ using namespace clang::targets; + + ArrayRef RISCVTargetInfo::getGCCRegNames() const { + static const char *const GCCRegNames[] = { ++ // Integer registers + "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", + "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", + "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23", +- "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31"}; ++ "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31", ++ ++ // Floating point registers ++ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", ++ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", ++ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", ++ "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31"}; + return llvm::makeArrayRef(GCCRegNames); + } + + ArrayRef RISCVTargetInfo::getGCCRegAliases() const { + static const TargetInfo::GCCRegAlias GCCRegAliases[] = { +- {{"zero"}, "x0"}, {{"ra"}, "x1"}, {{"sp"}, "x2"}, {{"gp"}, "x3"}, +- {{"tp"}, "x4"}, {{"t0"}, "x5"}, {{"t1"}, "x6"}, {{"t2"}, "x7"}, +- {{"s0"}, "x8"}, {{"s1"}, "x9"}, {{"a0"}, "x10"}, {{"a1"}, "x11"}, +- {{"a2"}, "x12"}, {{"a3"}, "x13"}, {{"a4"}, "x14"}, {{"a5"}, "x15"}, +- {{"a6"}, "x16"}, {{"a7"}, "x17"}, {{"s2"}, "x18"}, {{"s3"}, "x19"}, +- {{"s4"}, "x20"}, {{"s5"}, "x21"}, {{"s6"}, "x22"}, {{"s7"}, "x23"}, +- {{"s8"}, "x24"}, {{"s9"}, "x25"}, {{"s10"}, "x26"}, {{"s11"}, "x27"}, +- {{"t3"}, "x28"}, {{"t4"}, "x29"}, {{"t5"}, "x30"}, {{"t6"}, "x31"}}; ++ {{"zero"}, "x0"}, {{"ra"}, "x1"}, {{"sp"}, "x2"}, {{"gp"}, "x3"}, ++ {{"tp"}, "x4"}, {{"t0"}, "x5"}, {{"t1"}, "x6"}, {{"t2"}, "x7"}, ++ {{"s0"}, "x8"}, {{"s1"}, "x9"}, {{"a0"}, "x10"}, {{"a1"}, "x11"}, ++ {{"a2"}, "x12"}, {{"a3"}, "x13"}, {{"a4"}, "x14"}, {{"a5"}, "x15"}, ++ {{"a6"}, "x16"}, {{"a7"}, "x17"}, {{"s2"}, "x18"}, {{"s3"}, "x19"}, ++ {{"s4"}, "x20"}, {{"s5"}, "x21"}, {{"s6"}, "x22"}, {{"s7"}, "x23"}, ++ {{"s8"}, "x24"}, {{"s9"}, "x25"}, {{"s10"}, "x26"}, {{"s11"}, "x27"}, ++ {{"t3"}, "x28"}, {{"t4"}, "x29"}, {{"t5"}, "x30"}, {{"t6"}, "x31"}, ++ {{"ft0"}, "f0"}, {{"ft1"}, "f1"}, {{"ft2"}, "f2"}, {{"ft3"}, "f3"}, ++ {{"ft4"}, "f4"}, {{"ft5"}, "f5"}, {{"ft6"}, "f6"}, {{"ft7"}, "f7"}, ++ {{"fs0"}, "f8"}, {{"fs1"}, "f9"}, {{"fa0"}, "f10"}, {{"fa1"}, "f11"}, ++ {{"fa2"}, "f12"}, {{"fa3"}, "f13"}, {{"fa4"}, "f14"}, {{"fa5"}, "f15"}, ++ {{"fa6"}, "f16"}, {{"fa7"}, "f17"}, {{"fs2"}, "f18"}, {{"fs3"}, "f19"}, ++ {{"fs4"}, "f20"}, {{"fs5"}, "f21"}, {{"fs6"}, "f22"}, {{"fs7"}, "f23"}, ++ {{"fs8"}, "f24"}, {{"fs9"}, "f25"}, {{"fs10"}, "f26"}, {{"fs11"}, "f27"}, ++ {{"ft8"}, "f28"}, {{"ft9"}, "f29"}, {{"ft10"}, "f30"}, {{"ft11"}, "f31"}}; + return llvm::makeArrayRef(GCCRegAliases); + } + +diff --git a/clang/test/Sema/riscv-asm.c b/clang/test/Sema/riscv-asm.c +new file mode 100644 +index 00000000000..82664c01317 +--- /dev/null ++++ b/clang/test/Sema/riscv-asm.c +@@ -0,0 +1,28 @@ ++// RUN: %clang_cc1 %s -triple riscv32 -verify -fsyntax-only ++// RUN: %clang_cc1 %s -triple riscv64 -verify -fsyntax-only ++ ++// expected-no-diagnostics ++ ++void i (void) { ++ asm volatile ("" ::: "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7"); ++ asm volatile ("" ::: "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15"); ++ asm volatile ("" ::: "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23"); ++ asm volatile ("" ::: "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31"); ++ ++ asm volatile ("" ::: "zero", "ra", "sp", "gp", "tp", "t0", "t1", "t2"); ++ asm volatile ("" ::: "s0", "s1", "a0", "a1", "a2", "a3", "a4", "a5"); ++ asm volatile ("" ::: "a6", "a7", "s2", "s3", "s4", "s5", "s6", "s7"); ++ asm volatile ("" ::: "s8", "s9", "s10", "s11", "t3", "t4", "t5", "t6"); ++} ++ ++void f (void) { ++ asm volatile ("" ::: "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7"); ++ asm volatile ("" ::: "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15"); ++ asm volatile ("" ::: "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23"); ++ asm volatile ("" ::: "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31"); ++ ++ asm volatile ("" ::: "ft0", "ft1", "ft2", "ft3", "ft4", "ft5", "ft6", "ft7"); ++ asm volatile ("" ::: "fs0", "fs1", "fa0", "fa1", "fa2", "fa3", "fa4", "fa5"); ++ asm volatile ("" ::: "fa6", "fa7", "fs2", "fs3", "fs4", "fs5", "fs6", "fs7"); ++ asm volatile ("" ::: "fs8", "fs9", "fs10", "fs11", "ft8", "ft9", "ft10", "ft11"); ++} diff --git a/recipes-devtools/clang/clang/0022-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/recipes-devtools/clang/clang/0022-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch new file mode 100644 index 0000000..b799916 --- /dev/null +++ b/recipes-devtools/clang/clang/0022-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch @@ -0,0 +1,22 @@ +From 5864ac955ccfc19fc5a09f68b5a5e9961be18694 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal +Date: Wed, 18 Sep 2019 12:56:58 +0800 +Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build + +Signed-off-by: Anuj Mittal +--- + llvm/cmake/modules/CrossCompile.cmake | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake +index d6b416131fe..7fae1080df7 100644 +--- a/llvm/cmake/modules/CrossCompile.cmake ++++ b/llvm/cmake/modules/CrossCompile.cmake +@@ -62,6 +62,7 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype) + -DLLVM_ENABLE_PROJECTS="${llvm_enable_projects_arg}" + -DLLVM_EXTERNAL_PROJECTS="${llvm_external_projects_arg}" + -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}" ++ -DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}" + ${build_type_flags} ${linker_flag} ${external_clang_dir} + WORKING_DIRECTORY ${LLVM_${target_name}_BUILD} + DEPENDS CREATE_LLVM_${target_name} diff --git a/recipes-devtools/clang/clang/0022-RISCV-Add-support-for-floating-point-registers-in-in.patch b/recipes-devtools/clang/clang/0022-RISCV-Add-support-for-floating-point-registers-in-in.patch deleted file mode 100644 index ba7d901..0000000 --- a/recipes-devtools/clang/clang/0022-RISCV-Add-support-for-floating-point-registers-in-in.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 3169f6e41fa8f3a25fabfa905cb902ae555bf21b Mon Sep 17 00:00:00 2001 -From: Simon Cook -Date: Wed, 31 Jul 2019 09:12:00 +0000 -Subject: [PATCH] [RISCV] Add support for floating point registers in inlineasm - -This adds support for parsing/emitting in IR the floating-point RISC-V -registers in inline assembly clobber lists. - -Differential Revision: https://reviews.llvm.org/D64737 - -llvm-svn: 367399 ---- - clang/lib/Basic/Targets/RISCV.cpp | 33 ++++++++++++++++++++++--------- - clang/test/Sema/riscv-asm.c | 28 ++++++++++++++++++++++++++ - 2 files changed, 52 insertions(+), 9 deletions(-) - create mode 100644 clang/test/Sema/riscv-asm.c - -diff --git a/clang/lib/Basic/Targets/RISCV.cpp b/clang/lib/Basic/Targets/RISCV.cpp -index 930b825e94d..d1166d90df4 100644 ---- a/clang/lib/Basic/Targets/RISCV.cpp -+++ b/clang/lib/Basic/Targets/RISCV.cpp -@@ -19,23 +19,38 @@ using namespace clang::targets; - - ArrayRef RISCVTargetInfo::getGCCRegNames() const { - static const char *const GCCRegNames[] = { -+ // Integer registers - "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", - "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", - "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23", -- "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31"}; -+ "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31", -+ -+ // Floating point registers -+ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", -+ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", -+ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", -+ "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31"}; - return llvm::makeArrayRef(GCCRegNames); - } - - ArrayRef RISCVTargetInfo::getGCCRegAliases() const { - static const TargetInfo::GCCRegAlias GCCRegAliases[] = { -- {{"zero"}, "x0"}, {{"ra"}, "x1"}, {{"sp"}, "x2"}, {{"gp"}, "x3"}, -- {{"tp"}, "x4"}, {{"t0"}, "x5"}, {{"t1"}, "x6"}, {{"t2"}, "x7"}, -- {{"s0"}, "x8"}, {{"s1"}, "x9"}, {{"a0"}, "x10"}, {{"a1"}, "x11"}, -- {{"a2"}, "x12"}, {{"a3"}, "x13"}, {{"a4"}, "x14"}, {{"a5"}, "x15"}, -- {{"a6"}, "x16"}, {{"a7"}, "x17"}, {{"s2"}, "x18"}, {{"s3"}, "x19"}, -- {{"s4"}, "x20"}, {{"s5"}, "x21"}, {{"s6"}, "x22"}, {{"s7"}, "x23"}, -- {{"s8"}, "x24"}, {{"s9"}, "x25"}, {{"s10"}, "x26"}, {{"s11"}, "x27"}, -- {{"t3"}, "x28"}, {{"t4"}, "x29"}, {{"t5"}, "x30"}, {{"t6"}, "x31"}}; -+ {{"zero"}, "x0"}, {{"ra"}, "x1"}, {{"sp"}, "x2"}, {{"gp"}, "x3"}, -+ {{"tp"}, "x4"}, {{"t0"}, "x5"}, {{"t1"}, "x6"}, {{"t2"}, "x7"}, -+ {{"s0"}, "x8"}, {{"s1"}, "x9"}, {{"a0"}, "x10"}, {{"a1"}, "x11"}, -+ {{"a2"}, "x12"}, {{"a3"}, "x13"}, {{"a4"}, "x14"}, {{"a5"}, "x15"}, -+ {{"a6"}, "x16"}, {{"a7"}, "x17"}, {{"s2"}, "x18"}, {{"s3"}, "x19"}, -+ {{"s4"}, "x20"}, {{"s5"}, "x21"}, {{"s6"}, "x22"}, {{"s7"}, "x23"}, -+ {{"s8"}, "x24"}, {{"s9"}, "x25"}, {{"s10"}, "x26"}, {{"s11"}, "x27"}, -+ {{"t3"}, "x28"}, {{"t4"}, "x29"}, {{"t5"}, "x30"}, {{"t6"}, "x31"}, -+ {{"ft0"}, "f0"}, {{"ft1"}, "f1"}, {{"ft2"}, "f2"}, {{"ft3"}, "f3"}, -+ {{"ft4"}, "f4"}, {{"ft5"}, "f5"}, {{"ft6"}, "f6"}, {{"ft7"}, "f7"}, -+ {{"fs0"}, "f8"}, {{"fs1"}, "f9"}, {{"fa0"}, "f10"}, {{"fa1"}, "f11"}, -+ {{"fa2"}, "f12"}, {{"fa3"}, "f13"}, {{"fa4"}, "f14"}, {{"fa5"}, "f15"}, -+ {{"fa6"}, "f16"}, {{"fa7"}, "f17"}, {{"fs2"}, "f18"}, {{"fs3"}, "f19"}, -+ {{"fs4"}, "f20"}, {{"fs5"}, "f21"}, {{"fs6"}, "f22"}, {{"fs7"}, "f23"}, -+ {{"fs8"}, "f24"}, {{"fs9"}, "f25"}, {{"fs10"}, "f26"}, {{"fs11"}, "f27"}, -+ {{"ft8"}, "f28"}, {{"ft9"}, "f29"}, {{"ft10"}, "f30"}, {{"ft11"}, "f31"}}; - return llvm::makeArrayRef(GCCRegAliases); - } - -diff --git a/clang/test/Sema/riscv-asm.c b/clang/test/Sema/riscv-asm.c -new file mode 100644 -index 00000000000..82664c01317 ---- /dev/null -+++ b/clang/test/Sema/riscv-asm.c -@@ -0,0 +1,28 @@ -+// RUN: %clang_cc1 %s -triple riscv32 -verify -fsyntax-only -+// RUN: %clang_cc1 %s -triple riscv64 -verify -fsyntax-only -+ -+// expected-no-diagnostics -+ -+void i (void) { -+ asm volatile ("" ::: "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7"); -+ asm volatile ("" ::: "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15"); -+ asm volatile ("" ::: "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23"); -+ asm volatile ("" ::: "x24", "x25", "x26", "x27", "x28", "x29", "x30", "x31"); -+ -+ asm volatile ("" ::: "zero", "ra", "sp", "gp", "tp", "t0", "t1", "t2"); -+ asm volatile ("" ::: "s0", "s1", "a0", "a1", "a2", "a3", "a4", "a5"); -+ asm volatile ("" ::: "a6", "a7", "s2", "s3", "s4", "s5", "s6", "s7"); -+ asm volatile ("" ::: "s8", "s9", "s10", "s11", "t3", "t4", "t5", "t6"); -+} -+ -+void f (void) { -+ asm volatile ("" ::: "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7"); -+ asm volatile ("" ::: "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15"); -+ asm volatile ("" ::: "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23"); -+ asm volatile ("" ::: "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31"); -+ -+ asm volatile ("" ::: "ft0", "ft1", "ft2", "ft3", "ft4", "ft5", "ft6", "ft7"); -+ asm volatile ("" ::: "fs0", "fs1", "fa0", "fa1", "fa2", "fa3", "fa4", "fa5"); -+ asm volatile ("" ::: "fa6", "fa7", "fs2", "fs3", "fs4", "fs5", "fs6", "fs7"); -+ asm volatile ("" ::: "fs8", "fs9", "fs10", "fs11", "ft8", "ft9", "ft10", "ft11"); -+} diff --git a/recipes-devtools/clang/clang/0023-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/recipes-devtools/clang/clang/0023-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch deleted file mode 100644 index 08d8516..0000000 --- a/recipes-devtools/clang/clang/0023-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 098bc556770cc158a207fcb312e2cd79b4e7d8c4 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -Date: Wed, 18 Sep 2019 12:56:58 +0800 -Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build - -Signed-off-by: Anuj Mittal ---- - llvm/cmake/modules/CrossCompile.cmake | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake -index d6b416131fe..7fae1080df7 100644 ---- a/llvm/cmake/modules/CrossCompile.cmake -+++ b/llvm/cmake/modules/CrossCompile.cmake -@@ -62,6 +62,7 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype) - -DLLVM_ENABLE_PROJECTS="${llvm_enable_projects_arg}" - -DLLVM_EXTERNAL_PROJECTS="${llvm_external_projects_arg}" - -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}" -+ -DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}" - ${build_type_flags} ${linker_flag} ${external_clang_dir} - WORKING_DIRECTORY ${LLVM_${target_name}_BUILD} - DEPENDS CREATE_LLVM_${target_name} diff --git a/recipes-devtools/clang/clang/0023-openmp-Recognise-ARMv7ve-machine-arch.patch b/recipes-devtools/clang/clang/0023-openmp-Recognise-ARMv7ve-machine-arch.patch new file mode 100644 index 0000000..59ee7b6 --- /dev/null +++ b/recipes-devtools/clang/clang/0023-openmp-Recognise-ARMv7ve-machine-arch.patch @@ -0,0 +1,28 @@ +From 68d9f584ed5e3b65af21548fb1a9f3547a14cd59 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 5 Oct 2019 14:47:37 -0700 +Subject: [PATCH] openmp: Recognise ARMv7ve machine arch + +-march in clang when set to armv7ve emits __ARM_ARCH_7VE__ internal +define and not __ARM_ARCH_7A__, hence the condition fails and openmp can +not be compiled, this makes sure that __ARM_ARCH_7VE__ is taken into +consideration as KMP_ARCH_ARMV7 as well + +Signed-off-by: Khem Raj +--- + openmp/runtime/src/kmp_platform.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/openmp/runtime/src/kmp_platform.h b/openmp/runtime/src/kmp_platform.h +index e4f2e06b962..335b91f3575 100644 +--- a/openmp/runtime/src/kmp_platform.h ++++ b/openmp/runtime/src/kmp_platform.h +@@ -139,7 +139,7 @@ + #endif + + #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7R__) || \ +- defined(__ARM_ARCH_7A__) ++ defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7VE__) + #define KMP_ARCH_ARMV7 1 + #endif + diff --git a/recipes-devtools/clang/clang/0024-Check-for-atomic-double-intrinsics.patch b/recipes-devtools/clang/clang/0024-Check-for-atomic-double-intrinsics.patch new file mode 100644 index 0000000..842002e --- /dev/null +++ b/recipes-devtools/clang/clang/0024-Check-for-atomic-double-intrinsics.patch @@ -0,0 +1,32 @@ +From 376f2f44fbfb5d08742e478b193a9da667dab9bd Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 18 Nov 2019 17:00:29 -0800 +Subject: [PATCH] Check for atomic intrinsics + +On some architectures e.g. x86/32bit gcc decides to inline calls to +double atomic variables but clang does not and defers it to libatomic +therefore detect if clang can use built-ins for atomic if not +then link libatomic, this helps building clangd for x86 on linux systems +with gcc runtime + +Signed-off-by: Khem Raj +--- + llvm/cmake/modules/CheckAtomic.cmake | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/llvm/cmake/modules/CheckAtomic.cmake b/llvm/cmake/modules/CheckAtomic.cmake +index 9a4cdf12a62..e70ce924df9 100644 +--- a/llvm/cmake/modules/CheckAtomic.cmake ++++ b/llvm/cmake/modules/CheckAtomic.cmake +@@ -26,9 +26,10 @@ function(check_working_cxx_atomics64 varname) + #include + #include + std::atomic x (0); ++std::atomic y (0); + int main() { + uint64_t i = x.load(std::memory_order_relaxed); +- return 0; ++ return int(y); + } + " ${varname}) + set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) diff --git a/recipes-devtools/clang/clang/0024-openmp-Recognise-ARMv7ve-machine-arch.patch b/recipes-devtools/clang/clang/0024-openmp-Recognise-ARMv7ve-machine-arch.patch deleted file mode 100644 index ec476fc..0000000 --- a/recipes-devtools/clang/clang/0024-openmp-Recognise-ARMv7ve-machine-arch.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cc64b30dd9ca1d39a3807a412d2e6ce1038cc406 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 5 Oct 2019 14:47:37 -0700 -Subject: [PATCH] openmp: Recognise ARMv7ve machine arch - --march in clang when set to armv7ve emits __ARM_ARCH_7VE__ internal -define and not __ARM_ARCH_7A__, hence the condition fails and openmp can -not be compiled, this makes sure that __ARM_ARCH_7VE__ is taken into -consideration as KMP_ARCH_ARMV7 as well - -Signed-off-by: Khem Raj ---- - openmp/runtime/src/kmp_platform.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/openmp/runtime/src/kmp_platform.h b/openmp/runtime/src/kmp_platform.h -index e4f2e06b962..335b91f3575 100644 ---- a/openmp/runtime/src/kmp_platform.h -+++ b/openmp/runtime/src/kmp_platform.h -@@ -139,7 +139,7 @@ - #endif - - #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7R__) || \ -- defined(__ARM_ARCH_7A__) -+ defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7VE__) - #define KMP_ARCH_ARMV7 1 - #endif - diff --git a/recipes-devtools/clang/clang/0025-Check-for-atomic-double-intrinsics.patch b/recipes-devtools/clang/clang/0025-Check-for-atomic-double-intrinsics.patch deleted file mode 100644 index 04a5b93..0000000 --- a/recipes-devtools/clang/clang/0025-Check-for-atomic-double-intrinsics.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a580e8fcf17fb9cb9056debdd342ac4eabef4762 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 18 Nov 2019 17:00:29 -0800 -Subject: [PATCH] Check for atomic intrinsics - -On some architectures e.g. x86/32bit gcc decides to inline calls to -double atomic variables but clang does not and defers it to libatomic -therefore detect if clang can use built-ins for atomic if not -then link libatomic, this helps building clangd for x86 on linux systems -with gcc runtime - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - llvm/cmake/modules/CheckAtomic.cmake | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/llvm/cmake/modules/CheckAtomic.cmake b/llvm/cmake/modules/CheckAtomic.cmake -index 9a4cdf12a62..e70ce924df9 100644 ---- a/llvm/cmake/modules/CheckAtomic.cmake -+++ b/llvm/cmake/modules/CheckAtomic.cmake -@@ -26,9 +26,10 @@ function(check_working_cxx_atomics64 varname) - #include - #include - std::atomic x (0); -+std::atomic y (0); - int main() { - uint64_t i = x.load(std::memory_order_relaxed); -- return 0; -+ return int(y); - } - " ${varname}) - set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index a21bc93..3f50fd0 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -28,11 +28,10 @@ SRC_URI = "\ file://0018-clang-Initial-implementation-of-fmacro-prefix-map-an.patch \ file://0019-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \ file://0020-clang-default-to-lp64d-ABI-and-rv64gc-ISA.patch \ - file://0021-Driver-Prioritize-SYSROOT-usr-include-over-RESOURCE_.patch \ - file://0022-RISCV-Add-support-for-floating-point-registers-in-in.patch \ - file://0023-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \ - file://0024-openmp-Recognise-ARMv7ve-machine-arch.patch \ - file://0025-Check-for-atomic-double-intrinsics.patch \ + file://0021-RISCV-Add-support-for-floating-point-registers-in-in.patch \ + file://0022-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \ + file://0023-openmp-Recognise-ARMv7ve-machine-arch.patch \ + file://0024-Check-for-atomic-double-intrinsics.patch \ " # Fallback to no-PIE if not set -- cgit v1.2.3-54-g00ecf