summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2022-12-05 02:23:19 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2022-12-05 02:23:19 +0000
commit1f70373be016b80505407f5b2f2d813b6d782694 (patch)
tree331cddf4323c2eb1c0e3beba47afbc32e7da71ad
parent0ef3b184a5fe0c69b8b9b53e010362c07f09a2ac (diff)
downloadpackages-1f70373be016b80505407f5b2f2d813b6d782694.tar.gz
packages-1f70373be016b80505407f5b2f2d813b6d782694.tar.bz2
packages-1f70373be016b80505407f5b2f2d813b6d782694.tar.xz
packages-1f70373be016b80505407f5b2f2d813b6d782694.zip
user/clang: Disable tests on PowerPC
The Interpreter unit-test is already disabled on AIX, so it is likely ABI-related. The other Interpreter test needs R_PPC_REL24 to be implemented in the LLVM RuntimeDyld to work. The DirectoryWatcher tests are all broken for unknown reasons, but don't affect actual compilation so we just skip them for now. Fixes: #848
-rw-r--r--user/clang/APKBUILD6
-rw-r--r--user/clang/ppc-dirwatcher.patch10
-rw-r--r--user/clang/ppc-interp.patch25
3 files changed, 39 insertions, 2 deletions
diff --git a/user/clang/APKBUILD b/user/clang/APKBUILD
index 51c167189..af8550375 100644
--- a/user/clang/APKBUILD
+++ b/user/clang/APKBUILD
@@ -20,6 +20,8 @@ source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/$
https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz
0001-Add-support-for-Ad-lie-Linux.patch
cfe-005-ppc64-dynamic-linker-path.patch
+ ppc-dirwatcher.patch
+ ppc-interp.patch
ppc64-elfv2.patch
use-llvm-lit.patch
"
@@ -59,8 +61,6 @@ check() {
}
package() {
- local _dir _file
-
make DESTDIR="$pkgdir" -C build install
install -m 644 build/lib/libclang.a "$pkgdir"/usr/lib
@@ -109,5 +109,7 @@ sha512sums="5f5497b57dd116225e90f321902f1015beb50c0b1bb90d0fc6c026f13aa748feabe4
6461bdde27aac17fa44c3e99a85ec47ffb181d0d4e5c3ef1c4286a59583e3b0c51af3c8081a300f45b99524340773a3011380059e3b3a571c3b0a8733e96fc1d llvm-14.0.6.src.tar.xz
7f422f671167498102789e8c0b3ab4e46d6a4433d89f0f6b2cf0736ad257146e5eeb04b6f1d9431cce4635c9691d0cc80e643f852269bf7119ce312ae9bb8068 0001-Add-support-for-Ad-lie-Linux.patch
b3c999ef1e380b02a25f1ebca4811f1c696b88309b73af0c19865e3b92084becc9529b910d24b4fb7133606c1e105860104017406d876f95e9260c716348bd1c cfe-005-ppc64-dynamic-linker-path.patch
+0032fdd3864870d345caff9c4ff44f58bebc802bddf06c4b3bf30276c89e237167e6dea03456d322d3f6e2ee5e3a2ecf9f649ed033f0ab078b80bda44371b3ce ppc-dirwatcher.patch
+0d8f77100cd8550be0dc251704081574b0cdc46169df1428ad8cc9f689cdaa47adcd9ff45a816e238ee279395036c7548bf1033307aabbb3a62cce9f360698eb ppc-interp.patch
4f534e72cf3ec9134d9f77a1a787c84859a5ee84b52da529d47745eb7d75d383070573018588bfbf622e826fcb281fdf20fa79217024df5cb824e6ae1ea1d7bf ppc64-elfv2.patch
1f93918d512849e8bf7eb4e71d2b623c0ae3361e4b6ed5b50b76b0fe78e3d70f8773061b1ea0f327950a4f7c2ffdcdaafcb224301732df2a7469c742e8f5883f use-llvm-lit.patch"
diff --git a/user/clang/ppc-dirwatcher.patch b/user/clang/ppc-dirwatcher.patch
new file mode 100644
index 000000000..35587152f
--- /dev/null
+++ b/user/clang/ppc-dirwatcher.patch
@@ -0,0 +1,10 @@
+Doesn't work on PowerPC.
+
+--- clang-14.0.6.src/unittests/DirectoryWatcher/CMakeLists.txt.old 2022-06-22 16:46:24.000000000 +0000
++++ clang-14.0.6.src/unittests/DirectoryWatcher/CMakeLists.txt 2022-12-05 01:14:23.863133395 +0000
+@@ -1,4 +1,4 @@
+-if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME STREQUAL Windows)
++if(APPLE OR (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc")) OR CMAKE_SYSTEM_NAME STREQUAL Windows)
+
+ set(LLVM_LINK_COMPONENTS
+ Support
diff --git a/user/clang/ppc-interp.patch b/user/clang/ppc-interp.patch
new file mode 100644
index 000000000..a8cb6bc90
--- /dev/null
+++ b/user/clang/ppc-interp.patch
@@ -0,0 +1,25 @@
+PPC32 doesn't support some of the clang-repl due to R_PPC_REL24 not being
+implemented in RuntimeDyld.
+
+--- clang-14.0.6.src/test/Interpreter/execute.cpp.old 2022-06-22 16:46:24.000000000 +0000
++++ clang-14.0.6.src/test/Interpreter/execute.cpp 2022-12-05 01:04:26.517960246 +0000
+@@ -1,7 +1,7 @@
+ // RUN: clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);' \
+ // RUN: 'auto r1 = printf("i = %d\n", i);' | FileCheck --check-prefix=CHECK-DRIVER %s
+ // REQUIRES: host-supports-jit
+-// UNSUPPORTED: system-aix
++// UNSUPPORTED: system-aix, powerpc-
+ // CHECK-DRIVER: i = 10
+ // RUN: cat %s | clang-repl | FileCheck %s
+ extern "C" int printf(const char *, ...);
+--- clang-14.0.6.src/unittests/Interpreter/InterpreterTest.cpp.old 2022-06-22 16:46:24.000000000 +0000
++++ clang-14.0.6.src/unittests/Interpreter/InterpreterTest.cpp 2022-12-05 01:53:47.058187317 +0000
+@@ -205,7 +205,7 @@
+ return R.getFoundDecl();
+ }
+
+-#ifdef _AIX
++#if defined(_AIX) || (!defined(__powerpc64__) && defined(__powerpc__))
+ TEST(IncrementalProcessing, DISABLED_InstantiateTemplate) {
+ #else
+ TEST(IncrementalProcessing, InstantiateTemplate) {