ARM Linux version of squeak HELP.

Roderick Taylor r.taylor at
Mon May 24 07:40:43 UTC 2004


This question would mainly be directed at Ian Piumarta, Tim 
Rowledge and anyone else involved in porting squeak.  I am 
trying to compile a squeak vm for an Xscale (ARM) based single 
board computer.

I modified tim's configure script so that it would configure 
in cross compile mode.  I didn't change the Autoconf stuff, I 
just removed the checking for primitive length, set long long 
as the type for 64 bit and left DOUBLE_WORD_ALIGNMENT and 
DOUBLE_WORD_ORDER cat ed to confdefs.h. (actually I've tested 
each combination of DOUBLE_WORD_xxxx and all give the same 

I've removed FFI from the vm using VMMakerTool because it 
seemed to be relying upon x86 assembly language.

I get a compiled vm and compiled vm-sound-null 
vm-display-null.  But when I run squeak on the SBC i get an 
invalid opcode error.  (sorry I couldn't attach the output  
here, my computer situation is less than convenient for this 
kind of task.)  I am using a majorShrunk 3.6 image cause only 
it will fit on my SBC.

I came across a post to this mailing list made in 2000 that 
outlines a couple of changes to sqGnu.h specifically.

#if defined(__arm__)
# define IP_REG asm("%0")
# define SP_REG asm("$1")
# define CB_REG asm("$2")

Would this fix my problem?  From the post, it seems that Tim 
is using a different toolchain than what I am using.  I am 
using a gcc 2.95-3 toolchain.  I might have to change these 
defines to reflect a gnu assembler style (which I am not sure 
about) and maybe change a few other things.

Can Tim or Ian or anybody give me some direction.  I am very 
keen to get squeak working on our SBC, and a few people at my 
university are interested in Squeak and ARM as a robotics 
platform. I think it's a cool idea.


More information about the Squeak-dev mailing list