ccl icon indicating copy to clipboard operation
ccl copied to clipboard

CCL portability to ppc64le

Open choudary21 opened this issue 6 years ago • 4 comments

Not able to build CCL on ppc64le. The current version is written for Big-Endian and has not been updated for little endian. Any plans to update for LE?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

choudary21 avatar Mar 26 '18 15:03 choudary21

The PowerPC port has not been updated for quite some while now. Version 1.10 still supported Linux/ppc, but that release is something like 4 years old.

We had been keeping the port alive to keep us honest. However, when our last PowerPC hardware died off, we couldn't really justify acquiring new hardware so that we could keep supporting a platform that practically nobody was using.

It would be great to be able to resurrect the PowerPC port, and even add ppc64le support, but I myself don't have any plans to do so. It would be fun, but it is hard for me to see how spending a couple of months on such a project would pay off, either financially or otherwise. However, if you would be interested in funding that work somehow, please get in touch. I'd love to do it.

I think the code tends to assume that PowerPC implies big-endian, so we'd need to do some work to disentangle that assumption.

xrme avatar Mar 26 '18 18:03 xrme

Hi,

This helps only a little bit, but, IBM might be convinced to throw some money at this.  I do have some Power8 boxes around and IBM is pushing Power9 hard, and, love that lots of stuff works.  Combine that with IBM wanting to get away from ppc64be and move to ppc64le and there might be some interest.

The next time the IBM sales person stops by I'll see if I can get him interested.

cheers

bruce

The PowerPC port has not been updated for quite some while now. Version 1.10 still supported Linux/ppc, but that release is something like 4 years old.
We had been keeping the port alive to keep us honest. However, when our last PowerPC hardware died off, we couldn't really justify acquiring new hardware so that we could keep supporting a platform that practically nobody was using.
It would be great to be able to resurrect the PowerPC port, and even add ppc64le support, but I myself don't have any plans to do so. It would be fun, but it is hard for me to see how spending a couple of months on such a project would pay off, either financially or otherwise. However, if you would be interested in funding that work somehow, please get in touch. I'd love to do it.
I think the code tends to assume that PowerPC implies big-endian, so we'd need to do some work to disentangle that assumption.

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread. {"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/Clozure/ccl","title":"Clozure/ccl","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/Clozure/ccl"}},"updates":{"snippets":[{"icon":"PERSON","message":"@xrme in #116: The PowerPC port has not been updated for quite some while now. Version 1.10 still supported Linux/ppc, but that release is something like 4 years old.\r\n\r\nWe had been keeping the port alive to keep us honest. However, when our last PowerPC hardware died off, we couldn't really justify acquiring new hardware so that we could keep supporting a platform that practically nobody was using.\r\n\r\nIt would be great to be able to resurrect the PowerPC port, and even add ppc64le support, but I myself don't have any plans to do so. It would be fun, but it is hard for me to see how spending a couple of months on such a project would pay off, either financially or otherwise. However, if you would be interested in funding that work somehow, please get in touch. I'd love to do it.\r\n\r\nI think the code tends to assume that PowerPC implies big-endian, so we'd need to do some work to disentangle that assumption.\r\n"}],"action":{"name":"View Issue","url":"https://github.com/Clozure/ccl/issues/116#issuecomment-376266743"}}}

edoneel avatar Mar 26 '18 19:03 edoneel

Hi,

I was able to bootstrap CCL on a Raptor Talos II machine, albeit with a few cheats. I wanted to mention the process here in case it provided motivation to the CCL team to do a ppc64le port.

I started with the last release-tagged binaries that support PowerPC:

https://trac.clozure.com/ccl/export/16815/release/1.10/linuxppc/ccl/ppccl64 https://trac.clozure.com/ccl/export/16815/release/1.10/linuxppc/ccl/ppccl64.image

In a Debian big-endian VM (cheat 1; the host is ppc64le), these produced:

$ ./ppccl64
remap spjump: Invalid argument

I debugged this and found the cause; ppccl64 was written for 4 KiB pages, whereas the Debian ppc64 kernel was configured for 64 KiB pages. I reconfigured and rebuilt the kernel for 4 KiB pages (cheat 2), and the release 1.10 binaries worked.

I made some minor changes to the Lisp kernel sources for GCC 10 and Binutils 2.35 compatibility (published on sourcehut) after which bootstrapping worked too:

$ ./ppccl64 -n
Welcome to Clozure Common Lisp Version 1.10-r16196  (LinuxPPC64)!

CCL is developed and maintained by Clozure Associates. For more information
about CCL visit http://ccl.clozure.com.  To enquire about Clozure's Common Lisp
consulting services e-mail [email protected] or visit http://www.clozure.com.

? (ccl:rebuild-ccl :full t)
[...]
;Wrote bootstrapping image: #P"/home/build/ccl/ppc-boot64"
;Building lisp-kernel ...
;Kernel built successfully.
;Wrote heap image: #P"/home/build/ccl/ppccl64.image"
NIL
? (quit)

$ ./ppccl64 -n
Welcome to Clozure Common Lisp Version 1.10-fitzsim-1  (LinuxPPC64)!

CCL is developed and maintained by Clozure Associates. For more information
about CCL visit http://ccl.clozure.com.  To enquire about Clozure's Common Lisp
consulting services e-mail [email protected] or visit http://www.clozure.com.

? (format t "Hello, CCL~%")
Hello, CCL
NIL
? (quit)

fitzsim avatar Apr 10 '21 02:04 fitzsim

Nice hack, @fitzsim !

xrme avatar Apr 10 '21 05:04 xrme