diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/lisp.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch | 71 |
3 files changed, 0 insertions, 75 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 254037a3af..f9afb433e6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1895,7 +1895,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 296ed6b5f2..9e896cc8a5 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -23,7 +23,6 @@ ;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net> ;;; Copyright © 2021, 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 ( <paren@disroot.org> -;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -441,8 +440,6 @@ an interpreter, a compiler, a debugger, and much more.") (sha256 (base32 "11ji5n65l31249r0v7hm0wc0yk2ila0y746nj36xn1cxrwh0gjc9")) (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 - |