Porting squeak to the Alpha

Ian Piumarta Ian.Piumarta at inria.fr
Mon Nov 2 12:49:50 UTC 1998


Rob,

 > Does anyone know how this code runs on Alpha OSF/1?

I use the native OSF linker (rather than GNU ld) which has a *really* useful
option "-taso" that locates all the program segments in the bottom 32-bits
of the address space.  For aesthetic reasons I also have a wrapper around
gcc (util/decgcc) that filters out the thousands of warnings about 64-bit
pointers being converted to 32-bit ints (which are irrelevant since the
linker guarantees that there will be no pointers >= 2^32).

Check whether GNU ld on Alphas has an option similar to "-taso".  Squeak
will almost certainly work just fine if you use it.  If there's no such
option, and no other way to configure GNU ld to locate everything in the
first 2^32 bytes of memory, then you're probably in trouble. :^(

Looking at the GNU ld manual page, you might be able to force everything
into the low end of memory using the -Ttext -Tdata and -Tbss flags with some
vaguely suitable arguments.  You might also have to link with -Bstatic to
avoid problems with ld.so allocating stuff in higher memory.  (You might
find the -Map option useful for seeing precisely where the linker is putting
things.)

Good luck.

 > Thanks in advance.

You're welcome in arrears.  Regards,

Ian





More information about the Squeak-dev mailing list