* 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>
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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
 | |
| 
 |