Yesterday I spent several hours resurrecting an old PowerMac G4 running OS X 10.5 (Leopard). I managed to find Xcode 3.1.4 download on Apple's developer site and install it. I want to build a Cog/Stack VM for this machine. I opened the xcode project in Cog/stackbuild/macbuild/CoreVM.xcodeproj and built with no problems. However the VM won't start instead popping up "You can't open the application "Squeak" because it is not supported on this architecture." This is the same message I get if I try to open the Squeak-4.5-All-in-One on the G4 - which in that case makes sense since it's a full Cog VM built for IA32 and of course doesn't run on PPC. So my questions are: 1. Should I be able to run Cog/Stack on PPC? 2. How should I build it? Clearly I'm doing something wrong. Thanks, Doug |
On Mon, May 12, 2014 at 10:16 AM, Douglas McPherson <[hidden email]> wrote:
A Stack VM yes. 2. How should I build it? Clearly I'm doing something wrong. You'll need to open up the xcode project. I modified the Cog xcodeproj to produce a single x86 architecture (since it was a JIT) and I think I made the Stack one do the same. Look for
ARCHS = i386 in the CoreVM.xcodeproj/project.pbxproj. This needs to read something that includes ppc. There used to be all sorts of other G5-related tuning flags, but I nuked them. If you ask Ron Teitlebaum or John McIntosh they may have the old version history with the full sets of flags. Forgive me.
best, Eliot
project.pbxproj (201K) Download Attachment |
In reply to this post by douglas mcpherson
It might be defaulting to build intel architecture. Check the build parms to see if it is building a fat binary of power pc and intel instructions. You can use the os-x cmd lipo to confirm you have both architectures in the build.
On Mon, May 12, 2014 at 10:16 AM, Douglas McPherson <[hidden email]> wrote:
=========================================================================== John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882 =========================================================================== |
Thank you both John and Eliot, Yes that was the problem ... I changed the architecture setting in the CoreVM project, but I (also?) needed to make the change for the Squeak target. Now that I'm building for the right architecture, there are several compile errors ... mostly atomic operation macros not yet defined for PPC. Also an error due to no high res clock defined :( My actual goal for this effort is to try to fill in the pieces of the ThreadedPPCBEFFIPlugin, mostly as an academic exercise. Doug On May 12, 2014, at 11:01 , John McIntosh wrote:
|
Hi Doug,
On Mon, May 12, 2014 at 9:27 PM, Douglas McPherson <[hidden email]> wrote:
Never mind. Just do without. I know that requires some trickery, but...
That's fab. I want to dangle a PowerPC JIT as an academic exercise too ;-). But we need to talk over the PPC, because there's a gotcher with it. basically the register parameters are shadowed on the stack, so while marshalling (while computing the values to pass) one can't "just call" a marshalling routine (say to convert a LargeInteger to a parameter), because doing so would trash the stack. Instead one has to alloca additional space for marshalling calls and then throw it away by cutting back the stack just before the actual call. What I've just said probably makes as much sense as Mary Poppins lyrics so we'll probably need to talk it through.
best, Eliot
|
On May 12, 2014, at 22:04 , Eliot Miranda wrote:
Ok, after some mostly blind hacking (especially with regard to choosing compile flags) I managed to compile. Of course it won't open an image though :) I tried both a 4.5 image and a 4.1 image. Does anyone have have experience with StackVM on PPC?
Yes, that would be a cool longer-term exercise!
Yes, I think I saw #registerArgsSlop used for this purpose, right?
|
Here is the crash log hoping that someone can spot something obvious :) On May 14, 2014, at 08:42 , Douglas McPherson wrote:
crash.dmp (2K) Download Attachment |
Did you try it with -O0 On Wed, May 14, 2014 at 9:16 AM, Douglas McPherson <[hidden email]> wrote:
=========================================================================== John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882 =========================================================================== |
In reply to this post by douglas mcpherson
Hi Doug,
On Wed, May 14, 2014 at 8:42 AM, Douglas McPherson <[hidden email]> wrote:
I like your attitude :-)
wow, sometimes I think ahead. Yes, that's exactly what it's for.
best, Eliot
|
In reply to this post by johnmci
Yes, I tried with -O0, but to no avail. I'm still unable to open any image. I'm sure it's one of these compiler flags that I'm missing or have got wrong, but I'm afraid I don't understand what many of them do :( Any suggestions on how to proceed would be most welcome! Thanks, Doug On May 14, 2014, at 10:15 , John McIntosh wrote:
|
On Thu, May 15, 2014 at 10:04 AM, Douglas McPherson <[hidden email]> wrote:
gdb. Plus -sendtrace (I think) can print out messages (slow) that can help. In gdb you can run and then interrupt to see where it is stuck.
best, Eliot
|
Free forum by Nabble | Edit this page |