summaryrefslogtreecommitdiff
path: root/user/llvm14/ppc-gcc-bug.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2024-07-10 08:27:43 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2024-08-07 10:08:23 -0500
commit2105a97d4afa5022375c9b366138049da5b0a6a2 (patch)
treeb4e6304b5fb5f1702eed8b1660352fba305174dc /user/llvm14/ppc-gcc-bug.patch
parent773497f269dacea4df803a10bcf5d8167db70bc4 (diff)
downloadpackages-2105a97d4afa5022375c9b366138049da5b0a6a2.tar.gz
packages-2105a97d4afa5022375c9b366138049da5b0a6a2.tar.bz2
packages-2105a97d4afa5022375c9b366138049da5b0a6a2.tar.xz
packages-2105a97d4afa5022375c9b366138049da5b0a6a2.zip
user/llvm14: Fix GCC 13-adjacent bugs
Backport the GCC miscompile workaround from LLVM 18. Use the old x87 excess precision behaviour to fix most of the tests. Still no idea why 32-bit Intel wants new shiny colours for the graph. Closes: #1200, #1202, #1204, #1223
Diffstat (limited to 'user/llvm14/ppc-gcc-bug.patch')
-rw-r--r--user/llvm14/ppc-gcc-bug.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/user/llvm14/ppc-gcc-bug.patch b/user/llvm14/ppc-gcc-bug.patch
new file mode 100644
index 000000000..4fe2f34f4
--- /dev/null
+++ b/user/llvm14/ppc-gcc-bug.patch
@@ -0,0 +1,22 @@
+Upstream: https://github.com/llvm/llvm-project/issues/95594
+Ref: #1204
+
+--- llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h.old 2024-06-15 12:21:32.000000000 -0500
++++ llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h 2024-06-25 21:42:07.495284340 -0500
+@@ -378,6 +378,8 @@
+ return Size;
+ }
+
++#pragma GCC push_options
++#pragma GCC optimize("no-tree-ch")
+ static bool serialize(SPSOutputBuffer &OB, const SequenceT &S) {
+ if (!SPSArgList<uint64_t>::serialize(OB, static_cast<uint64_t>(S.size())))
+ return false;
+@@ -386,6 +388,7 @@
+ return false;
+ return true;
+ }
++#pragma GCC pop_options
+
+ static bool deserialize(SPSInputBuffer &IB, SequenceT &S) {
+ using TBSD = TrivialSPSSequenceDeserialization<SPSElementTagT, SequenceT>;