Leo -- Thanks for the pointer.
I made the change, and now I get consistent results. I'll check that in. I am still not clear, though, on why we wouldn't have the same failure in all cases. I'd think these should be equivalent: * Running parrot on 'foo.imc' * Running parrot on 'foo.pasm' generated from 'foo.imc' * Running parrot on 'foo.pbc' generated from 'foo.pasm' since I'd think that the later cases would be mirroring what is going on inside parrot in the earlier ones. Where am I going wrong? Regards, -- Gregor On Sat, 2004-02-28 at 05:33, Leopold Toetsch wrote: > Gregor N. Purdy <[EMAIL PROTECTED]> wrote: > > > I was running the various languages/jako/examples and I ran > > across this oddity (after doing a fresh 'make' of Parrot and > > in the languages/jako directory): > > > [EMAIL PROTECTED] jako]$ ./jako examples/fact.jako > > [EMAIL PROTECTED] jako]$ ../../parrot examples/fact.imc > > This segfaults because of illegal code. The "branch __IN_LINE_1" doesn't > get a proper fixup - branches are not supposed to go into different > compilation units. > > Changing the code to: > > .sub __INLINE_0 > .globalconst int N = 15 > bsr __INLINE_1 > ret > .end > > fixes this. > > When compiling the PASM, all is one compilation unit and the error > vanishes. > > leo -- Gregor Purdy [EMAIL PROTECTED] Focus Research, Inc. http://www.focusresearch.com/