[Vm-dev] SocketPlugin and 64 bit

David T. Lewis lewis at mail.msen.com
Wed Aug 9 10:34:18 UTC 2006


On Tue, Aug 08, 2006 at 08:34:37PM +0200, Martin Kuball wrote:
>  
> After having a working vm for linux-amd64 again, I tried to get the 
> network stuff up and running which has never worked for met on amd64. 
> Some debugging in gdb showed that the code for optaining the bytesize 
> of an array is broken in SocketPlugin. Some comparisions with the 
> Fileplugin showed that code like this from SocketPlugin:
> 
>   sz = interpreterProxy->byteSizeOf(((sqInt)(long)(name) - 4));
> 
> (where name is the adress of the first indexable field of an 
> ByteArray) does not work while
> 
>   pathNameSize = interpreterProxy->byteSizeOf(pathName);
> 
> (pathName beeing an oop from the stack) does work.
> 
> I changed the generated code and it works now. But of course something 
> has to be done at VMMaker level to realy solve the problem.

Hi Martin,

It sounds like you may be using an outdated version of VMMaker. All
of the literal references to "4" were removed from the file and socket
plugins a long time ago.

The VMMaker on SqueakMap is version 3.8b6. In your development image,
if you evaluate "VMMaker versionString" should see something similar.

Dave

p.s. OSProcessPlugin, XDisplayControlPlugin, and AIOPlugin are also
updated for 64 bit, so you can include them in the build if you like.



More information about the Vm-dev mailing list