~ruther/guix-local

ref: e68ec94fdb4c00a950480e845bc3746d6f01ce97 guix-local/gnu/packages/patches/jamvm-2.0.0-disable-branch-patching.patch -rw-r--r-- 1.1 KiB
e68ec94f — Christopher Baines gnu: guix-build-coordinator: Update to 0-136.a1c18b1. a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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