For anyone interested, here's a copy of a message I just posted to vm-dev:
Folks,
I've just released 64-bit compatible sources for 3.8, and checked-in both Unix and Cross changes to the TRUNK of the repository.
To build a Unix VM from the repository, first check out the trunk as usual, then:
mkdir bld cd bld ../platforms/unix/config/configure --with-src=src32 make
will build a 32-bit VM. If you say
../platforms/unix/config/configure --with-src=src64
instead then it will build you a 64-bit VM.
I have tested both 32- and 64-bit VMs on PowerPC (32-bit native), Intel Pentium and Intel Itanium 2. All appears to work.
Note that I have made some changes to the platforms/Cross part of the repository. While I tried hard to keep things as backwardly compatible as possible (e.g., the Unix tree happily compiles pre-3.8 sources as-is) this might have temporarily broken the build for other platforms. My apologies if this is the case, OTOH it's a wonderful forcing function to have the maintainer of your favorite platform get a 64-bit VM out the door Real Soon Now.
I've not had chance to update my usual download page to reflect the new 32/64 duality in the distribution, but I did have time to make some archives of source code, 32- and 64-bit images, and 32- and 64-bit VMs for the three architectures mentioned above. You can pick them up here:
http://squeak.hpl.hp.com/squeak64/dist3/
wherein:
Squeak-3.8a-2.src.tar.gz contains the source code, and a handy one-stop top-levelMakefile at which you can type 'make WIDTH=32' and 'make width=64'.
Squeak32-3.8g-6548.image.tar.gz Squeak64-3.8g-6548.image.tar.gz contain 32- and 64-bit images, respectively. (Note that I had to condense the changes in the base 3.8g-6548 image because of reaching the limit on source position stamp.)
Squeak32-3.8a-2.i686-pc-linux-gnu.tar.gz Squeak32-3.8a-2.ia64-linux-gnu.tar.gz Squeak32-3.8a-2.powerpc-apple-darwin7.8.0.tar.gz contain 32-bit VMs precompiled for Pentium, Itanium 2 and PowerPC.
Squeak64-3.8a-2.i686-pc-linux-gnu.tar.gz Squeak64-3.8a-2.ia64-linux-gnu.tar.gz Squeak64-3.8a-2.powerpc-apple-darwin7.8.0.tar.gz contain 64-bit VMs precompiled for Pentium, Itanium 2 and PowerPC.
Finally...
ChangeSets
is a directory containing everything that was used to create the above, relative to the base 3.8g-6548 image:
VMMaker-tpr.14.mcz is Tim's latest VMMaker.
VMM38b4-64bit-vm1-ikp.1.cs are Dan and my 64-bit changes, plus various changes Tim made to VMM since 3.7-5, all spiffed up and including a final couple of (nasty) new bugs (one original bug, and a few that crept in which merging VMM with the 64-bit changes) thoroughly fixed. This gets you enough to generate interp.c plus the three essential plugins: BitBlt, Ballon and File.
VMM38b4-64bit-vm2-ikp.2.cs is new 64-bit support for plugins using the SmartSyntax thing. I made SocketPlugin (which uses it) 64-bit clean to make sure it was working reasonably.
With both of the above loaded you should be able to regenerate the src32 and src64 trees included in the source tarball (and included in the unix part of the repository).
System-Tracing.2.cs is the new SystemTracer from Anthony and Stephen, subclassed by Dan to make 64-bit images. This ONLY works on big-endian machines for now. (We know about this. Don't yell at us.)
VMM38b4-64bit-image1-ikp.1.cs VMM38b4-64bit-image2-ikp.1.cs contain various changes to the class library that you probably need to have a healthy image running with 64-bit oops.
(Tim, especially, will want to take the vm1 and vm2 changesets and file them into VMMaker _immediately_, before it becomes a 'moved target' [again]. No need to read these files: they are the changes Dan and I sent you, that you sent back last week with your recent VMM additions filed-in over the top, in which I then fixed some subtle 'merge' bugs that crept in during the process along with the WeakArray problem in primStringReplace posted to squeak-dev a couple of days ago. Trust me. Just hit 'install'. It's one huge chunk of goodness.)
Enjoy!
Ian (totally exhausted, and declaring the weekend already arrived ;-)
squeak-dev@lists.squeakfoundation.org