[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#57050] [PATCH v2 10/13] gnu: racket-vm-bc: Add workaround for ppc64
From: |
Philip McGrath |
Subject: |
[bug#57050] [PATCH v2 10/13] gnu: racket-vm-bc: Add workaround for ppc64le. |
Date: |
Thu, 11 Aug 2022 07:08:20 -0400 |
This is an attempt to avoid a problem with Racket BC on ppc64 reported
in <https://issues.guix.gnu.org/57050#19> that was exposed by attempting
to use Racket BC to bootstrap Chez Scheme. Thanks to Matthew Flatt for
the workaround: <https://racket.discourse.group/t/950/22>.
* gnu/packages/racket.scm (racket-vm-bc)[arguments]<#:configure-flags>:
Increase the number of bytes that should be available on the stack for
"safety" when checking for stack overflow.
---
gnu/packages/racket.scm | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 3b96cf46ef..008adcc072 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -432,7 +432,20 @@ (define-public racket-vm-bc
(substitute-keyword-arguments (package-arguments racket-vm-cgc)
((#:configure-flags _ '())
#~(cons "--enable-bconly"
- #$(racket-vm-common-configure-flags)))))
+ #$(cond
+ ((target-ppc64le?)
+ ;; Attempt to avoid a problem bootstrapping Chez Scheme:
+ ;; see <https://issues.guix.gnu.org/57050#19>
+ ;; and <https://racket.discourse.group/t/950/22>.
+ #~(map
+ (lambda (flag)
+ (if (string-prefix? "CPPFLAGS=" flag)
+ (string-append flag
+ " -DSTACK_SAFETY_MARGIN=200000")
+ flag))
+ #$(racket-vm-common-configure-flags)))
+ (else
+ (racket-vm-common-configure-flags)))))))
(synopsis "Racket BC [3M] implementation")
(description "The Racket BC (``before Chez'' or ``bytecode'')
implementation was the default before Racket 8.0. It uses a compiler written
--
2.32.0
- [bug#57050] [PATCH v2 12/13] etc: teams: Add racket team., (continued)
- [bug#57050] [PATCH v2 07/13] gnu: chez-scheme-for-racket: Support cross-compilation., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 07/13] gnu: chez-scheme-for-racket: Support cross-compilation., Liliana Marie Prikler, 2022/08/11
- [bug#57050] [PATCH v2 07/13] gnu: chez-scheme-for-racket: Support cross-compilation., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 11/13] gnu: racket: Use Racket CS on all systems., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 11/13] gnu: racket: Use Racket CS on all systems., Liliana Marie Prikler, 2022/08/11
- [bug#57050] [PATCH v2 09/13] gnu: chez-scheme-for-racket: Suport all systems., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 09/13] gnu: chez-scheme-for-racket: Suport all systems., Liliana Marie Prikler, 2022/08/11
- [bug#57050] [PATCH v2 09/13] gnu: chez-scheme-for-racket: Suport all systems., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 10/13] gnu: racket-vm-bc: Add workaround for ppc64le.,
Philip McGrath <=
- [bug#57050] [PATCH v2 13/13] etc: teams: Add entry for Philip McGrath., Philip McGrath, 2022/08/11
- [bug#57050] [PATCH v2 00/13] gnu: Update Racket to 8.6. Add Zuo., Thiago Jung Bauermann, 2022/08/13
- [bug#57050] [RFC PATCH] gnu: racket-vm-cs: Avoid 'configure' bug with '--enable-racket'., Philip McGrath, 2022/08/15
- [bug#57050] [RFC PATCH] gnu: racket-vm-cs: Avoid 'configure' bug with '--enable-racket'., Philip McGrath, 2022/08/15
- [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le., Philip McGrath, 2022/08/15
- [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le., Thiago Jung Bauermann, 2022/08/18
- [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le., Maxime Devos, 2022/08/19