guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[shepherd] branch master updated: Disable JIT on AArch64.


From: Ludovic Courtès
Subject: [shepherd] branch master updated: Disable JIT on AArch64.
Date: Fri, 12 May 2023 08:50:33 -0400

This is an automated email from the git hooks/post-receive script.

civodul pushed a commit to branch master
in repository shepherd.

The following commit(s) were added to refs/heads/master by this push:
     new a0c01c4  Disable JIT on AArch64.
a0c01c4 is described below

commit a0c01c4e3ebf872d892f9cb10b99873886eb4710
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri May 12 14:47:51 2023 +0200

    Disable JIT on AArch64.
    
    This works around <https://github.com/wingo/fibers/issues/83>, which
    causes unexplained behavior such as messages sent twice.
    
    * shepherd.in: Set 'GUILE_JIT_THRESHOLD' to -1 and re-exec self when
    running on AArch64.
---
 shepherd.in | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/shepherd.in b/shepherd.in
index 4dfe101..29a8227 100644
--- a/shepherd.in
+++ b/shepherd.in
@@ -7,4 +7,11 @@
 (set! %load-compiled-path
       (append '("%modbuilddir%" "%FIBERS_OBJECT_DIRECTORY%") 
%load-compiled-path))
 
-(apply (@ (shepherd) main) (cdr (command-line)))
+;; On AArch64, work around <https://github.com/wingo/fibers/issues/83> by
+;; disabling JIT (needed with Guile 3.0.9).
+(if (and (string-prefix? "aarch64-" %host-type)
+         (not (getenv "GUILE_JIT_THRESHOLD")))
+    (begin
+      (setenv "GUILE_JIT_THRESHOLD" "-1")
+      (apply execlp (car (command-line)) (command-line)))
+    (apply (@ (shepherd) main) (cdr (command-line))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]