[Stackless] Compiling Stackless on Linux PPC / MacOS X

Richard Tew richard.m.tew at gmail.com
Fri Aug 4 23:14:34 CEST 2006

> From: Max Noel <maxfnoel at gmail.com>
> Date: Aug 4, 2006 3:31 PM
> As I was idling around on #stackless, someone reported that bug also
> affects Linux on PPC. Applying the same patch to the Linux-equivalent
> file seems to fix the compiling bug.


Max forwarded me this IRC log.  Does anyone have access to
a Linux PPC system who can reproduce the bug and provide a

Also, does the Mac OS X patch need to be fixed further as
nostromo describes, changing the inline assembler register
thingy from "g" to "r"?

Please do not provide any patches for Greenlets.  These are
maintained elsewhere, in the PyPy SVN repository I believe.
They should really be removed from the Stackless source
code IMO, which is something I need to get Christian to
approve when he has the time.


-->8-- IRC log --8<--

<nostromo> I have another errors compiling, and some people told me
there is a patch needed in the ppc inline assembly (which I use)
<Wild_Cat> is that on OS X?
<Wild_Cat> it should compile now if you do a svn checkout.
<nostromo> no, it is linux ppc
<nostromo> svn up in the trunk has been static for several weeks now
<nostromo> revision 51104
<nostromo> not the trunk, but 2.4.3
<Wild_Cat> there was a similar bug a few weeks ago on OS X, which they
fixex when I reported it.
<Wild_Cat> it had to do with some pretty low-level PPC stuff IIRC.
<nostromo> it could be the same
<Wild_Cat> yeah... i'll try to see if I still have the patch lying
around somewhere...
<nostromo> got it committed in
http://svn.python.org/projects/stackless/Python-2.4.3/dev/ ?
<nostromo> this is what I was tracking
<Wild_Cat> yup.
<Wild_Cat> the thread is here:
<Wild_Cat> the patch was applied to an OS X-specific file -- wouldn't
surprise me if there was a similar one in Linux-PPC.
<nostromo> same exact error :)
<nostromo> I just sent email about a similar buglet in the same file
<Wild_Cat> same patch, then?
<nostromo> it does not seem to affect result
<nostromo> yes, same patch
<nostromo> trying it
<nostromo> it works, thanks
<nostromo> there is something needed additionally, according to some gcc expert:
<nostromo> -            : "g" (stsizediff)
<nostromo> +            : "r" (stsizediff)
<nostromo> for mr instructions. mr moves one register to another, so
it is not a "g" -> general reference
<nostromo> but a "r" -> register difference
<nostromo> in the same file and it Greenlet/switch_ppc*.h
<nostromo> register reference, sorry

Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list