mirror of
https://codeberg.org/guix/guix.git
synced 2026-04-28 06:34:05 +00:00
Compare commits
1 Commits
2f329a8131
...
update-sbc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61f13f4851 |
@@ -76,6 +76,7 @@
|
||||
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
|
||||
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
# Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -2399,7 +2400,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/sajson-build-with-gcc10.patch \
|
||||
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
|
||||
%D%/packages/patches/sbc-fix-build-non-x86.patch \
|
||||
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
|
||||
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
|
||||
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
|
||||
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
|
||||
;;; Copyright © 2024 David Pflug <david@pflug.io>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1294,16 +1295,14 @@ be built as a stand-alone REPL interpreter.")
|
||||
(define-public sbcl
|
||||
(package
|
||||
(name "sbcl")
|
||||
(version "2.5.8")
|
||||
(version "2.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
|
||||
version "-source.tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1bm9hvsrg21mzqhcayiyghz0nkfp43ks840p0bg3bxlma22kwq57"))
|
||||
;; TODO: Remove this patch when upgrading to SBCL > 2.5.8.
|
||||
(patches (search-patches "sbcl-fix-arm64-shared-lib.patch"))
|
||||
(base32 "12lqd5ywl6q9hgx3xls2rsbaa2ixiwhnvif0bxdd4bcm8av2yhz7"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
From b25c5a9f89922554e1221dab761e1eb583113953 Mon Sep 17 00:00:00 2001
|
||||
From: Douglas Katzman <dougk@google.com>
|
||||
Date: Thu, 4 Sep 2025 13:28:15 -0400
|
||||
Subject: [PATCH 1/2] Change asm to avoid 'ld' error making libsbcl.so on linux
|
||||
|
||||
Fixes lp#2122059
|
||||
---
|
||||
src/runtime/arm64-assem.S | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/runtime/arm64-assem.S b/src/runtime/arm64-assem.S
|
||||
index 95e0bfc89..b708f4ca0 100644
|
||||
--- a/src/runtime/arm64-assem.S
|
||||
+++ b/src/runtime/arm64-assem.S
|
||||
@@ -235,9 +235,15 @@ no_args:
|
||||
|
||||
// load CARDTABLE-TN. reg_NAME macros aren't autogenerated for native asm code
|
||||
// and it hardly seems worth #defining it to use in one assembly statement.
|
||||
+#ifdef LISP_FEATURE_LINUX
|
||||
+ adrp x28, :got:gc_card_mark
|
||||
+ ldr x28, [x28, #:got_lo12:gc_card_mark]
|
||||
+ ldr x28, [x28]
|
||||
+#else
|
||||
adrp x28, PAGE(gc_card_mark)
|
||||
add x28, x28, PAGELOW(gc_card_mark)
|
||||
ldr x28, [x28]
|
||||
+#endif
|
||||
|
||||
// Load the closure-fun (or simple-fun-self), in case we're
|
||||
// trying to call a closure.
|
||||
--
|
||||
2.51.0
|
||||
|
||||
From 076ae8dfc67d23bda158666847c5f1b627d90778 Mon Sep 17 00:00:00 2001
|
||||
From: Stas Boukarev <stassats@gmail.com>
|
||||
Date: Thu, 4 Sep 2025 20:39:24 +0300
|
||||
Subject: [PATCH 2/2] Fix libsbcl.so on linux arm64
|
||||
|
||||
It got already fixed but this one has a macro.
|
||||
---
|
||||
src/runtime/GNUmakefile | 2 +-
|
||||
src/runtime/arm64-assem.S | 43 ++++++++++++++++++++++-----------------
|
||||
2 files changed, 25 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/src/runtime/GNUmakefile b/src/runtime/GNUmakefile
|
||||
index cb34b5586..3a63d1c67 100644
|
||||
--- a/src/runtime/GNUmakefile
|
||||
+++ b/src/runtime/GNUmakefile
|
||||
@@ -138,7 +138,7 @@ libsbcl.so: $(PIC_OBJS)
|
||||
%.pic.o: %.c
|
||||
$(CC) -fPIC -c $(CPPFLAGS) $(filter-out -fno-pie,$(CFLAGS)) $< -o $@
|
||||
%.pic.o: %.S # (-fPIC doesn't affect hand-written assembly source)
|
||||
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
|
||||
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@ -DLIBSBCL
|
||||
|
||||
SHRINKWRAP_DEPS = ../../output/sbcl.core ../../tools-for-build/elftool.lisp
|
||||
shrinkwrap-sbcl.s shrinkwrap-sbcl-core.o: $(SHRINKWRAP_DEPS)
|
||||
diff --git a/src/runtime/arm64-assem.S b/src/runtime/arm64-assem.S
|
||||
index b708f4ca0..1794fc60e 100644
|
||||
--- a/src/runtime/arm64-assem.S
|
||||
+++ b/src/runtime/arm64-assem.S
|
||||
@@ -13,24 +13,37 @@
|
||||
|
||||
#endif
|
||||
|
||||
-#ifdef LISP_FEATURE_DARWIN
|
||||
-#define GNAME(var) _##var
|
||||
-#define PAGE(var) _##var@PAGE
|
||||
-#define PAGELOW(var) _##var@PAGEOFF
|
||||
-#else
|
||||
-#define GNAME(var) var
|
||||
-#define PAGE(var) var
|
||||
-#define PAGELOW(var) #:lo12:##var
|
||||
-#endif
|
||||
-
|
||||
#ifdef LISP_FEATURE_DARWIN
|
||||
#define TYPE(name)
|
||||
#define SIZE(name)
|
||||
+#define GNAME(var) _##var
|
||||
+
|
||||
+.macro LOAD_GNAME, dest, symbol
|
||||
+ adrp \dest, _\symbol@PAGE
|
||||
+ ldr \dest, [\dest, _\symbol@PAGEOFF]
|
||||
+.endm
|
||||
+
|
||||
#else
|
||||
+
|
||||
#define TYPE(name) .type name,%function
|
||||
#define SIZE(name) .size name,.-name
|
||||
+#define GNAME(var) var
|
||||
+
|
||||
+#ifdef LIBSBCL
|
||||
+.macro LOAD_GNAME, dest, symbol
|
||||
+ adrp \dest, :got:\symbol
|
||||
+ ldr \dest, [\dest, #:got_lo12:\symbol]
|
||||
+ ldr \dest, [\dest]
|
||||
+.endm
|
||||
+#else
|
||||
+.macro LOAD_GNAME, dest, symbol
|
||||
+ adrp \dest, \symbol
|
||||
+ ldr \dest, [\dest, #:lo12:\symbol]
|
||||
+.endm
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
+
|
||||
#ifdef LISP_FEATURE_SB_THREAD
|
||||
.macro ENTER_PA
|
||||
str reg_wNULL,[reg_THREAD,THREAD_PSEUDO_ATOMIC_BITS_OFFSET]
|
||||
@@ -235,15 +248,7 @@ no_args:
|
||||
|
||||
// load CARDTABLE-TN. reg_NAME macros aren't autogenerated for native asm code
|
||||
// and it hardly seems worth #defining it to use in one assembly statement.
|
||||
-#ifdef LISP_FEATURE_LINUX
|
||||
- adrp x28, :got:gc_card_mark
|
||||
- ldr x28, [x28, #:got_lo12:gc_card_mark]
|
||||
- ldr x28, [x28]
|
||||
-#else
|
||||
- adrp x28, PAGE(gc_card_mark)
|
||||
- add x28, x28, PAGELOW(gc_card_mark)
|
||||
- ldr x28, [x28]
|
||||
-#endif
|
||||
+ LOAD_GNAME x28, gc_card_mark
|
||||
|
||||
// Load the closure-fun (or simple-fun-self), in case we're
|
||||
// trying to call a closure.
|
||||
--
|
||||
2.51.0
|
||||
|
||||
Reference in New Issue
Block a user