diff options
author | Gábor Boskovits <boskovits@gmail.com> | 2018-07-02 11:02:11 +0200 |
---|---|---|
committer | Gábor Boskovits <boskovits@gmail.com> | 2018-07-02 14:41:27 +0200 |
commit | 1cdff8cdb7b4822bd16fe713bc0b138a01a546aa (patch) | |
tree | d51b5b8784c642e3322d237ff6bf8631f43a2624 /gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch | |
parent | 79f9b054dff6fc76073b1b040db9d80881e55f42 (diff) | |
download | guix-1cdff8cdb7b4822bd16fe713bc0b138a01a546aa.tar guix-1cdff8cdb7b4822bd16fe713bc0b138a01a546aa.tar.gz |
gnu: icedtea: Work around gcc segfault.
* gnu/packages/java.scm (icedtea-6)[arguments]: Modify phases to extract
hostspot, as after the patching it becomes an archive.
[native-inputs]: add patch to hotspot-src.
* gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch')
-rw-r--r-- | gnu/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch | 42 |
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------------------------------ |