> I've been trying to port PicoLisp to Plan9
> (http://plan9.bell-labs.com/plan9/). The code compiled but the binary
> fails at startup because of the following check in boxSubr(fun f):
> if (num(f) & 3)
> giveup("Unaligned function");
I see. This is miniPicoLisp. For reasons of internal tag bits, it is
necessary that those functions start at an address aligned to a multiple
Do you know if there is some compile time flag, e.g. some optimization
parameter, which could guarantee that? Another option might be to first
compile to assembly language, do some processing on the asm file
(inserting 'align' statements), and then compile to final object code.
BTW, the "full" picoLisp doesn't have that restriction. Do you think it
is possible to port that version?