[Stackless] Port of 2.4.3 for arm32 and Zaurus

Sylvain Baro sylvain.baro at laposte.net
Wed Aug 16 19:11:52 CEST 2006

I'll make a more precise answer as soon as I have more informations.  
I do all the build and development on the PDA itself, so it can be  
quite long for each trial and error cycle (trial and error is not the  
development process I recommend, but when it comes to low level  
problems, I suddenly become very permissive about myself :) ).

In the meantime:

> You've used the inline assembly method.  I have a suspicion that
> if I used this switching function with the version of gcc that comes
> with devkitarm (for GBA and NDS), it would have the stack
> register preservation problems I had with the thumb switching
> inlined code, and I would have to create a full assembler
> routine like there is for thumb.  But I think it is probably useful
> to have both.

I'll try to see if I can do this. For the moment, I only managed to  
obtain Bus Errors with this method...

> Didn't you have a problem with the stack register preservation
> with your version of gcc?

It seems to produce some stack preservation stuff: it saves SP in  
another register (IP), then pushes IP on the stack. At the end, when  
returning to the caller, it restores SP from the stack.

I let it do this, because saving the SP on the stack itself "should"  
not prevent the function to work.

> Why do you modify the fp register?

No better arguments than "other people also did it"... Don't believe  
I'm proud of this anwer...
> I see you also save r1, r2 and r3.  The reason I don't do the same
> is that I read somewhere that r0-r3 do not need to be preserved.
> Also, they were not used in the assembler version of the inlined
> switch which I used as a base.

I agree. I'll try to build it again without saving them to check if  
it works.

It also seems that some module cannot be loaded. 'specially the one I  
didn't test in the first place...
Pickle works, re works, but tkinter and math do not.

I'll investigate to see if could be linked with one of the above  
subjects, or if its a simple library problem.


Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list