summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch b/gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch
new file mode 100644
index 0000000000..ef090e0ec9
--- /dev/null
+++ b/gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch
@@ -0,0 +1,42 @@
+# HG changeset patch
+# User Gábor Boskovits <boskovits@gmail.com>
+# Date 1530519413 -7200
+#      Mon Jul 02 10:16:53 2018 +0200
+# Node ID 77e5bc9e238a28d17e097647badc04ed67a6a452
+# Parent  1ae05a34e052d1672b4a7894ddf5fc2f662eb861
+Fix gcc segfault.
+
+diff -r 1ae05a34e052 -r 77e5bc9e238a src/share/vm/opto/output.cpp
+--- a/src/share/vm/opto/output.cpp	Sun Dec 25 23:52:13 2016 +0000
++++ b/src/share/vm/opto/output.cpp	Mon Jul 02 10:16:53 2018 +0200
+@@ -1758,6 +1758,8 @@
+ 
+ // Initializer for class Scheduling
+ 
++volatile const void *eePointer = Pipeline_Use::elaborated_elements;
++
+ Scheduling::Scheduling(Arena *arena, Compile &compile)
+   : _arena(arena),
+     _cfg(compile.cfg()),
+@@ -1802,8 +1804,8 @@
+ 
+   // Clear the bundling information
+   memcpy(_bundle_use_elements,
+-    Pipeline_Use::elaborated_elements,
+-    sizeof(Pipeline_Use::elaborated_elements));
++	 (void *)eePointer,
++    11*sizeof(Pipeline_Use_Element));
+ 
+   // Get the last node
+   Block *bb = _cfg->_blocks[_cfg->_blocks.size()-1];
+@@ -1854,8 +1856,8 @@
+   _bundle_use.reset();
+ 
+   memcpy(_bundle_use_elements,
+-    Pipeline_Use::elaborated_elements,
+-    sizeof(Pipeline_Use::elaborated_elements));
++	 (void *)eePointer,
++    11*sizeof(Pipeline_Use_Element));
+ }
+ 
+ //------------------------------ScheduleAndBundle------------------------------