sbcl: fix build on hosts without avx2.
Patch picked from upstream. Return to using ccl for bootstrapping.
This commit is contained in:
parent
df7ebc36a9
commit
04e8462089
3 changed files with 27 additions and 38 deletions
|
@ -1,36 +0,0 @@
|
|||
#2020/01/30 Patch has not yet been accepted upstream
|
||||
From f4de7a2a21acf1a205b725b4bb5596e1475bad26 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Timmons <etimmons@mit.edu>
|
||||
Date: Sun, 8 Dec 2019 14:00:01 -0500
|
||||
Subject: [PATCH] Fix ARM build using ECL host
|
||||
|
||||
ECL appears to not like ~T nested in ~<, even when it's the first argument. So
|
||||
replace the ~9T that gets triggered during build with spaces.
|
||||
---
|
||||
src/compiler/checkgen.lisp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/compiler/checkgen.lisp b/src/compiler/checkgen.lisp
|
||||
index a49a0a1fc..026782327 100644
|
||||
--- src/compiler/checkgen.lisp
|
||||
+++ src/compiler/checkgen.lisp
|
||||
@@ -518,14 +518,14 @@ (defun cast-check-uses (cast)
|
||||
(cond ((and (ref-p use) (constant-p (ref-leaf use)))
|
||||
(warn condition
|
||||
:format-control "~:[This~;~:*~A~] is not a ~
|
||||
- ~<~%~9T~:;~/sb-impl:print-type/:~>~% ~S"
|
||||
+ ~<~% ~:;~/sb-impl:print-type/:~>~% ~S"
|
||||
:format-arguments
|
||||
(list what atype (constant-value (ref-leaf use)))))
|
||||
(t
|
||||
(warn condition
|
||||
:format-control
|
||||
"~:[Result~;~:*~A~] is a ~/sb-impl:print-type/, ~
|
||||
- ~<~%~9T~:;not a ~/sb-impl:print-type/.~>"
|
||||
+ ~<~% ~:;not a ~/sb-impl:print-type/.~>"
|
||||
:format-arguments (list what dtype atype)))))))
|
||||
(values))
|
||||
|
||||
--
|
||||
2.24.0
|
||||
|
25
srcpkgs/sbcl/patches/fix-avx2.patch
Normal file
25
srcpkgs/sbcl/patches/fix-avx2.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From d0243a9f9961f0afdc09b555821b88edb2488be9 Mon Sep 17 00:00:00 2001
|
||||
From: Stas Boukarev <stassats@gmail.com>
|
||||
Date: Wed, 30 Sep 2020 02:46:31 +0300
|
||||
Subject: [PATCH] Fix CPUID checking.
|
||||
|
||||
cpu-has- is an index, not a mask. Have popcnt and no avx => bad time.
|
||||
---
|
||||
src/compiler/x86-64/parms.lisp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/compiler/x86-64/parms.lisp b/src/compiler/x86-64/parms.lisp
|
||||
index 5aeddff47c..a9d2bef01e 100644
|
||||
--- src/compiler/x86-64/parms.lisp
|
||||
+++ src/compiler/x86-64/parms.lisp
|
||||
@@ -178,8 +178,8 @@
|
||||
(defvar *binding-stack-pointer*)
|
||||
|
||||
;;; Bit indices into *CPU-FEATURE-BITS*
|
||||
-(defconstant cpu-has-ymm-registers 1)
|
||||
-(defconstant cpu-has-popcnt 2)
|
||||
+(defconstant cpu-has-ymm-registers 0)
|
||||
+(defconstant cpu-has-popcnt 1)
|
||||
|
||||
(defconstant-eqx +static-symbols+
|
||||
`#(,@+common-static-symbols+
|
|
@ -35,8 +35,8 @@ aarch64)
|
|||
checksum+=" 494829f8e3ea7eb1c308b343cc390daf94a6215030a5f2b9ee0cded67511e918"
|
||||
;;
|
||||
*-musl)
|
||||
makedepends+=" ecl"
|
||||
_bootstrap_lisp="ecl"
|
||||
makedepends+=" ccl"
|
||||
_bootstrap_lisp="ccl --batch --quiet --no-init"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
Loading…
Reference in a new issue