[Top][All Lists]

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

Want to test Racket/Chez on powerpc64le?

From: Philip McGrath
Subject: Want to test Racket/Chez on powerpc64le?
Date: Mon, 01 Aug 2022 15:46:21 -0400
User-agent: Cyrus-JMAP/3.7.0-alpha0-758-ge0d20a54e1-fm-20220729.001-ge0d20a54

Hi folks,

I have a patch series at for 
the Racket 8.5.900 release candidate for the imminent Racket 8.6 release.[1] 
The patch series also enables Racket CS and the 'chez-scheme-for-racket' 
package on systems they haven't supported until now, such as 
powerpc64le-linux—at least, I think it does: I'm hoping some of you can test 
it. The riscv64-linux, mips64el-linux, and i586-gnu are similarly situated: I 
ask particularly about powerpc64le-linux because Matthew Flatt has tested it 
upstream (thanks to the GCC Compile Farm).

If you just want to help quickly, try this:

guix time-machine --url= --branch=zuo 
--disable-authentication -- build chez-scheme-for-racket racket

and let me know how it goes, either here or at [2]. Allow about an hour for the 
build. (So, not *that* quickly …)

Some more background about what's new:

The systems I listed above are ones for which Racket's variant of Chez Scheme 
doesn't (yet!) have backends to generate machine code. With these changes, they 
instead can now use "pbarch" backends added to Racket's variant of Chez Scheme: 
a "portable bytecode" mode specialized to word size and endianness, with core 
bytecode additionally compiled to C.

I've cross-compiled 'chez-scheme-for-racket' and 'racket-vm-cs' successfully 
for the Linux-based systems. (There's still a problem with i586-pc-gnu, 
probably some missing/different C flag.) Unfortunately, I ran into a QEMU error 
[3] when I tried an emulated build, possibly related to Racket BC's use of 
SIGSEGV to implement the GC write barrier, and I don't have access to any of 
the relevant hardware myself. So, I'm hoping people who do might be able to 
give it a try!



reply via email to

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