[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09/13: gnu: jamvm: Fix to work with current gcc and glibc.
From: |
guix-commits |
Subject: |
09/13: gnu: jamvm: Fix to work with current gcc and glibc. |
Date: |
Mon, 22 Jun 2020 17:55:45 -0400 (EDT) |
mbakke pushed a commit to branch master
in repository guix.
commit a212006048b14dc8614010a16db5bc6585dbf699
Author: Simon South <simon@simonsouth.net>
AuthorDate: Wed Jun 10 11:03:39 2020 -0400
gnu: jamvm: Fix to work with current gcc and glibc.
* gnu/packages/java.scm (jamvm)[source]: Add patch.
(jamvm-1-bootstrap)[native-inputs]: Remove.
* gnu/packages/patches/jamvm-2.0.0-disable-branch-patching.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Marius Bakke <marius@gnu.org>
---
gnu/local.mk | 1 +
gnu/packages/java.scm | 8 ++----
.../jamvm-2.0.0-disable-branch-patching.patch | 31 ++++++++++++++++++++++
3 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index 940f1c5..1b9fabd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1109,6 +1109,7 @@ dist_patch_DATA =
\
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
+ %D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \
%D%/packages/patches/jamvm-arm.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch
\
%D%/packages/patches/java-commons-collections-fix-java8.patch \
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d5bc713..cfe67d5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -54,7 +54,6 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
- #:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages ghostscript) ;lcms
#:use-module (gnu packages gnome)
@@ -254,11 +253,6 @@ language.")
("libffi" ,libffi)
("zip" ,zip)
("zlib" ,zlib)))
- ;; When built with a recent GCC and glibc the configure step of icedtea-6
- ;; fails with an invalid instruction error.
- (native-inputs
- `(("gcc" ,gcc-5)
- ("libc" ,glibc-2.28)))
(home-page "http://jamvm.sourceforge.net/")
(synopsis "Small Java Virtual Machine")
(description "JamVM is a Java Virtual Machine conforming to the JVM
@@ -708,6 +702,8 @@ machine.")))
(sha256
(base32
"1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn"))
+ (patches
+ (search-patches "jamvm-2.0.0-disable-branch-patching.patch"))
(snippet
'(begin
;; Remove precompiled software.
diff --git a/gnu/packages/patches/jamvm-2.0.0-disable-branch-patching.patch
b/gnu/packages/patches/jamvm-2.0.0-disable-branch-patching.patch
new file mode 100644
index 0000000..1352ed7
--- /dev/null
+++ b/gnu/packages/patches/jamvm-2.0.0-disable-branch-patching.patch
@@ -0,0 +1,31 @@
+From d80cfc83325f8e95d35ecd9f15b36b96fa9ed3ee Mon Sep 17 00:00:00 2001
+From: Simon South <simon@simonsouth.net>
+Date: Sat, 6 Jun 2020 18:56:56 -0400
+Subject: [PATCH] Disable branch-patching
+
+This patch disables JamVM's branch-patching optimization, which tends
+to make JamVM fail with an "Illegal instruction" error on x86_64 (and
+possibly other architectures that use variable-length instructions)
+when built using modern versions of gcc and glibc.
+---
+ src/init.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/init.c b/src/init.c
+index 32539cf..38ad54b 100644
+--- a/src/init.c
++++ b/src/init.c
+@@ -72,8 +72,8 @@ void setDefaultInitArgs(InitArgs *args) {
+ #ifdef INLINING
+ args->replication_threshold = 10;
+ args->profile_threshold = 10;
+- args->branch_patching_dup = TRUE;
+- args->branch_patching = TRUE;
++ args->branch_patching_dup = FALSE;
++ args->branch_patching = FALSE;
+ args->print_codestats = FALSE;
+ args->join_blocks = TRUE;
+ args->profiling = TRUE;
+--
+2.25.2
+
- branch master updated (68a6070 -> 62115b7), guix-commits, 2020/06/22
- 01/13: gnu: Add python-py-cpuinfo., guix-commits, 2020/06/22
- 02/13: gnu: Add python-pytest-benchmark., guix-commits, 2020/06/22
- 06/13: gnu: Add python-libtmux., guix-commits, 2020/06/22
- 05/13: gnu: Add python-pyfiglet., guix-commits, 2020/06/22
- 08/13: gnu: template-glib: Update to 3.34.0., guix-commits, 2020/06/22
- 11/13: gnu: mlt: Update to 6.20.0., guix-commits, 2020/06/22
- 13/13: gnu: liferea: Update to 1.12.8., guix-commits, 2020/06/22
- 03/13: gnu: Add python-pytest-flask., guix-commits, 2020/06/22
- 07/13: gnu: Add python-daemux., guix-commits, 2020/06/22
- 09/13: gnu: jamvm: Fix to work with current gcc and glibc.,
guix-commits <=
- 04/13: gnu: Add python-flask-restx., guix-commits, 2020/06/22
- 10/13: gnu: darktable: Update to 3.0.2., guix-commits, 2020/06/22
- 12/13: gnu: mlt: Build with the latest ffmpeg., guix-commits, 2020/06/22