[Vm-dev] What I would like to do is get a 64 bit VM compiled to native 64 powering a 64 bit image.

gettimothy gettimothy at zoho.com
Wed Feb 26 21:32:37 UTC 2014


Hi All.

Please excuse any mistakes in terminology as I wrap my feeble mind around this stuff.

To my happy surprise, building a VM per http://wiki.squeak.org/squeak/6177 

     1. builds a standard 32 bit VM
     2. The 32 bit VM compiles to native 64 on linux: (ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped)
     3. and powers a 32 bit Squeak4.x image.

(I think I stated that correctly)

The above runs perfectly on my pure-64 boot partition with no 32 bit compat libs..its a wonderful feeling.

What I would like to do next is get a 64 bit VM compiled to native 64 powering a 64 bit image (64x64x64) as that is my goal for StackInterpreter and then Cog going forward. (and then kernel mode, multi-processor ala roarVM...VAX...)

With the Squeak4.x build, cmake's configure --help provides a    --image64  option that  builds a VM for running 64-bit images.
That vm builds just fine, but I have not been able to find a compatible 64 bit image that it will run!
The instructions to create a 64 bit image using SystemTracer did not pan out (the instructions to file-in System-Tracing.1.cs and All64BitChanges.1.cs don't apply as there is no All64BitChanges.1.cs to file in. I flailed a bit with the other files there, but gave up temporarily 
) and scouring the bowels of the internet yielded no appropriate ready made image. I will return to this, but being lazy by nature--I turned to  David's work at http://squeakvm.org/squeak64/sq64-20101106-dtl-sources-and-image.zip hoping for an easy way out of this.

David's zip runs a Squeak3.8-gamma 64 bit image, but it is powered by a 32 bit VM (?) that is compiled to a native 64 bit executable. So, at this point we are 64x64x32--32 short of the goal.
So, I think, ok, compile a 64 bit VM to run the 64 bit image from the 64 bit image--easy-peasy,right?The build worked just fine, but I got the  error from the FAQ that states 


 If you try to run a 64-bit image with a VM built for 32-bit images, you will get an error message such as this: 
 This interpreter (vers. 6502) cannot read image file (vers. 68000). 
 where (vers. 6502) displayed as  (vers. 0) when I tried to launch the original 64 bit image from which I had just created the vm.

The VMMakerTool on the 3.8 gamma does not have the 64 bit vm check box--or if it does, it is well hidden.
The CMake configure script for the 3.8 gamma does not support the --image64 option either.

So, I am thinking now, to "port" the Squeak3.8-gamma source tree to the squeak4.x Cmake configuration, but I really don't know if this is a valid approach.

If there is anything obvious that you see that I am missing, I would appreciate your advice on how to proceed. If not, I will keep poking away!

Thank you for your time

cordially,


tty.





Thanks for your time.

tty.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140226/e0df9e0b/attachment-0001.htm


More information about the Vm-dev mailing list