From: Simon South <simon@simonsouth.net>
To: 41748@debbugs.gnu.org
Subject: [bug#41748] [PATCH 0/1] Fix JamVM to work with current gcc and glibc
Date: Wed, 10 Jun 2020 11:03:39 -0400 [thread overview]
Message-ID: <87a71botdg.fsf@simonsouth.net> (raw)
In-Reply-To: <20200607151709.21821-1-simon@simonsouth.net> (Simon South's message of "Sun, 7 Jun 2020 11:17:09 -0400")
[-- Attachment #1: Type: text/plain, Size: 237 bytes --]
Attached is an updated version of this patch that
- Adds a brief description to the patch it contains, indicating why it
is necessary; and
- Updates gnu/local.mk, as is apparently now required.
--
Simon South
simon@simonsouth.net
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-jamvm-Fix-to-work-with-current-gcc-and-glibc.patch --]
[-- Type: text/x-patch, Size: 3741 bytes --]
From 3dbc081418737b0901982f89b8eb260b6c8bd3f0 Mon Sep 17 00:00:00 2001
From: Simon South <simon@simonsouth.net>
Date: Sat, 6 Jun 2020 19:53:39 -0400
Subject: [PATCH] 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.
---
gnu/local.mk | 1 +
gnu/packages/java.scm | 7 ++---
.../jamvm-2.0.0-disable-branch-patching.patch | 31 +++++++++++++++++++
3 files changed, 34 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/patches/jamvm-2.0.0-disable-branch-patching.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 76d6b5deba..7d65fbb605 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1107,6 +1107,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 43f0f37b91..9a6f6fe0df 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -254,11 +254,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 +703,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 0000000000..1352ed7803
--- /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
+
--
2.26.2
next prev parent reply other threads:[~2020-06-10 15:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-07 15:17 [bug#41748] [PATCH 0/1] Fix JamVM to work with current gcc and glibc Simon South
2020-06-07 15:18 ` [bug#41748] [PATCH 1/1] gnu: jamvm: Fix " Simon South
2020-06-10 15:03 ` Simon South [this message]
2020-06-22 20:37 ` bug#41748: [PATCH 0/1] Fix JamVM " Marius Bakke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a71botdg.fsf@simonsouth.net \
--to=simon@simonsouth.net \
--cc=41748@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).