summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/lisp.scm6
-rw-r--r--gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch71
3 files changed, 2 insertions, 76 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f0a59f1658..728b5f5685 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1933,7 +1933,6 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-clml-fix-types.patch \
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
- %D%/packages/patches/sbcl-riscv-Make-contribs-build-again.patch \
%D%/packages/patches/scalapack-gcc-10-compilation.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scons-test-environment.patch \
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index fd2e1a006a..c2a771093c 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -438,17 +438,15 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl
(package
(name "sbcl")
- (version "2.3.5")
+ (version "2.3.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
(sha256
- (base32 "11ji5n65l31249r0v7hm0wc0yk2ila0y746nj36xn1cxrwh0gjc9"))
+ (base32 "0a8dranh15gsbq51ssnvccl91mzqmgs5xsmwisz5hvlimjr725a2"))
(modules '((guix build utils)))
- ;; backport from upstream.
- (patches (search-patches "sbcl-riscv-Make-contribs-build-again.patch"))
(snippet
'(begin
;; Don't force ARMv5.
diff --git a/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch b/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch
deleted file mode 100644
index 85b96e1b20..0000000000
--- a/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 8704f528f227f587d0e06dfd2f807aeca7a69a71 Mon Sep 17 00:00:00 2001
-From: Charles Zhang <charleszhang99@yahoo.com>
-Date: Thu, 1 Jun 2023 16:39:26 +0200
-Subject: [PATCH] riscv: Make contribs build again.
-
-The issue was that the LINKAGE_TEMP_REG being NL3 was a C argument
-register, so of course that caused clashing on C call-out, causing
-problems with run-program. Going back to NL7 didn't work either
-because it wasn't getting saved before entry into the trampoline. The
-code here used to have NL7 before the trampoline code was gutted and
-then restored, so I'm wondering how this ever worked before, because
-it definitely did. Pick LIP as the TEMP_REG now because not only does
-it get saved, it's also the least likely thing to get disturbed by
-clobbering.
-
-Fixes #lp2002930.
-
-Also remove assembly routine printing because it doesn't need to be
-part of the build script (unlike the other files in output/ which
-can't trivially be recovered from a built image), and because not all
-disassembler printers have been written on riscv yet.
----
- NEWS | 3 +++
- make-target-2-load.lisp | 4 ----
- src/runtime/riscv-arch.c | 2 +-
- 3 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 17537ff92..5c0f7777b 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,5 +1,8 @@
- ;;;; -*- coding: utf-8; fill-column: 78 -*-
-
-+changes relative to sbcl-2.3.5:
-+ * bug fix: riscv can build contribs again.
-+
- changes in sbcl-2.3.5 relative to sbcl-2.3.4:
- * enhancement: Unicode support has been updated to support version 15.0.0 of
- the Unicode standard, including addition of characters and their collation
-diff --git a/make-target-2-load.lisp b/make-target-2-load.lisp
-index 885ebda74..b9a1a1e36 100644
---- a/make-target-2-load.lisp
-+++ b/make-target-2-load.lisp
-@@ -6,10 +6,6 @@
- (defvar *compile-files-p* nil)
- (load (merge-pathnames "src/cold/warm.lisp" *load-pathname*))
-
--(with-open-file (stream "output/asm-routines.txt" :direction :output
-- :if-does-not-exist :create :if-exists :supersede)
-- (sb-c:dis sb-fasl:*assembler-routines* stream))
--
- ;; sb-xref-for-internals is actively harmful to tree-shaking.
- ;; Remove some symbols to make the hide-packages test pass.
- #+sb-xref-for-internals
-diff --git a/src/runtime/riscv-arch.c b/src/runtime/riscv-arch.c
-index 6c1994829..062623899 100644
---- a/src/runtime/riscv-arch.c
-+++ b/src/runtime/riscv-arch.c
-@@ -159,7 +159,7 @@ arch_install_interrupt_handlers(void)
- * Linkage entry size is 8 or 20, because we need 2 instructions for the 32-bit case and we need 3 instructions and an 8 byte address in the 64-bit case.
- */
-
--#define LINKAGE_TEMP_REG reg_NL3
-+#define LINKAGE_TEMP_REG reg_LIP // Lisp needs to save before entry.
-
- void arch_write_linkage_table_entry(int index, void *target_addr, int datap)
- {
---
-2.40.1
-