guix-commits
[Top][All Lists]
Advanced

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

branch lisp-team updated: gnu: sbcl: Fix build on powerpc64.


From: guix-commits
Subject: branch lisp-team updated: gnu: sbcl: Fix build on powerpc64.
Date: Tue, 09 Jan 2024 09:05:43 -0500

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

glv pushed a commit to branch lisp-team
in repository guix.

The following commit(s) were added to refs/heads/lisp-team by this push:
     new ea832b44b7 gnu: sbcl: Fix build on powerpc64.
ea832b44b7 is described below

commit ea832b44b79fb06bac88679029773006fea15827
Author: Guillaume Le Vaillant <glv@posteo.net>
AuthorDate: Tue Jan 9 09:59:46 2024 +0100

    gnu: sbcl: Fix build on powerpc64.
    
    * gnu/packages/patches/sbcl-fix-ppc64-build.patch: New file.
    * gnu/local.mk: Register it.
    * gnu/packages/lisp.scm (sbcl)[source]: Use it.
    
    Change-Id: If81321bc7e4075ac7ec63f7b8d623011b4b975d5
---
 gnu/local.mk                                    |  1 +
 gnu/packages/lisp.scm                           |  1 +
 gnu/packages/patches/sbcl-fix-ppc64-build.patch | 27 +++++++++++++++++++++++++
 3 files changed, 29 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index ee25e1535e..1bf8a9df27 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1988,6 +1988,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch       \
   %D%/packages/patches/sbcl-clml-fix-types.patch               \
   %D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
+  %D%/packages/patches/sbcl-fix-ppc64-build.patch              \
   %D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch   \
   %D%/packages/patches/scalapack-gcc-10-compilation.patch      \
   %D%/packages/patches/scheme48-tests.patch                    \
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 20ec61dfe5..40217780c8 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -447,6 +447,7 @@ an interpreter, a compiler, a debugger, and much more.")
                            version "-source.tar.bz2"))
        (sha256
         (base32 "0xhpdnsg8idzxkn20iw8gd2rk470d7vc22vrp5clq9fj117vgn43"))
+       (patches (search-patches "sbcl-fix-ppc64-build.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/patches/sbcl-fix-ppc64-build.patch 
b/gnu/packages/patches/sbcl-fix-ppc64-build.patch
new file mode 100644
index 0000000000..a7d4d9a21e
--- /dev/null
+++ b/gnu/packages/patches/sbcl-fix-ppc64-build.patch
@@ -0,0 +1,27 @@
+commit 255f3ead060129aa097b62f10d054cdc4997a431
+Author: Douglas Katzman <dougk@google.com>
+Date:   Mon Jan 1 23:59:50 2024 -0500
+
+    Fix ppc64 failure-to-build (from a few weeks ago)
+    
+    Git rev 7354472bb5 caused NIL to get a bogus widetag.
+
+diff --git a/make-target-2-load.lisp b/make-target-2-load.lisp
+index 6571ec27d..daef942ea 100644
+--- a/make-target-2-load.lisp
++++ b/make-target-2-load.lisp
+@@ -339,7 +339,13 @@ Please check that all strings which were not recognizable 
to the compiler
+ 
+ 
+   (do-all-symbols (symbol)
+-    (sb-kernel:logior-header-bits symbol sb-vm::+symbol-initial-core+)
++    ;; Don't futz with the header of static symbols.
++    ;; Technically LOGIOR-HEADER-BITS can only be used on an 
OTHER-POINTER-LOWTAG
++    ;; objects, so modifying NIL should not ever work, but it's especially 
wrong
++    ;; on ppc64 where OTHER- and LIST- pointer lowtags are 10 bytes apart 
instead
++    ;; of 8, so this was making a random alteration to the header.
++    (unless (eq (heap-allocated-p symbol) :static)
++      (sb-kernel:logior-header-bits symbol sb-vm::+symbol-initial-core+))
+ 
+     ;; A symbol whose INFO slot underwent any kind of manipulation
+     ;; such that it now has neither properties nor globaldb info,



reply via email to

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