diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-10-11 07:46:34 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-10-17 00:58:48 -0500 |
commit | fabdb20dca6d9ab750d4cd1d3d20c30f1c74435f (patch) | |
tree | 5caff3c41ab630fb6c1b7ebff24af4ce4e38fd92 /user/clang/ppc-interp.patch | |
parent | 9e58acae6c47ac62c807d204e28bb79b085d2f76 (diff) | |
download | packages-fabdb20dca6d9ab750d4cd1d3d20c30f1c74435f.tar.gz packages-fabdb20dca6d9ab750d4cd1d3d20c30f1c74435f.tar.bz2 packages-fabdb20dca6d9ab750d4cd1d3d20c30f1c74435f.tar.xz packages-fabdb20dca6d9ab750d4cd1d3d20c30f1c74435f.zip |
user/clang: Fixes for PPC32, and more generally
* Fix upstream issue on all 32-bit BE platforms where pointers are
cast in an invalid way, causing crashes when building C++ code.
* Improve ppc-interp.patch to ensure *all* executable repl tests will
be skipped when run on ppc32.
* Disable known-flaky test (found on ppc, but also Gentoo/arm).
Closes: #1255
Diffstat (limited to 'user/clang/ppc-interp.patch')
-rw-r--r-- | user/clang/ppc-interp.patch | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/user/clang/ppc-interp.patch b/user/clang/ppc-interp.patch index bc2905f42..fae58aa3d 100644 --- a/user/clang/ppc-interp.patch +++ b/user/clang/ppc-interp.patch @@ -9,14 +9,27 @@ implemented in RuntimeDyld. // clang-format off // RUN: clang-repl "int i = 10;" '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 -@@ -270,7 +270,7 @@ - return R.getFoundDecl(); - } +--- clang/unittests/Interpreter/InterpreterTest.cpp.old 2024-10-10 18:11:05.390017076 +0000 ++++ clang/unittests/Interpreter/InterpreterTest.cpp 2024-10-10 22:34:07.176019197 +0000 +@@ -30,7 +30,7 @@ --#ifdef CLANG_INTERPRETER_NO_SUPPORT_EXEC -+#if defined(CLANG_INTERPRETER_NO_SUPPORT_EXEC) || (!defined(__powerpc64__) && defined(__powerpc__)) - TEST(IncrementalProcessing, DISABLED_InstantiateTemplate) { - #else - TEST(IncrementalProcessing, InstantiateTemplate) { + using namespace clang; + +-#if defined(_AIX) ++#if defined(_AIX) || (!defined(__powerpc64__) && defined(__powerpc__)) + #define CLANG_INTERPRETER_NO_SUPPORT_EXEC + #endif + +--- clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp.old 2024-06-15 17:21:32.000000000 +0000 ++++ clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp 2024-10-10 22:36:53.358466534 +0000 +@@ -113,8 +113,8 @@ + if (Triple.isOSAIX()) + GTEST_SKIP(); + +- // FIXME: ARM fails due to `Not implemented relocation type!` +- if (Triple.isARM()) ++ // FIXME: ARM and PPC32 fail due to `Not implemented relocation type!` ++ if (Triple.isARM() || Triple.isPPC32()) + GTEST_SKIP(); + + // FIXME: libunwind on darwin is broken, see PR49692. |