From 1f70373be016b80505407f5b2f2d813b6d782694 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Mon, 5 Dec 2022 02:23:19 +0000 Subject: 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 --- user/clang/APKBUILD | 6 ++++-- user/clang/ppc-dirwatcher.patch | 10 ++++++++++ user/clang/ppc-interp.patch | 25 +++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 user/clang/ppc-dirwatcher.patch create mode 100644 user/clang/ppc-interp.patch 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) { -- cgit v1.2.3-70-g09d2