[Vm-dev] [commit][3238] Compile for 32 or 64 bit host or image, 4 or 8 byte sqInt, squeakvm or squeakvm64.

David T. Lewis lewis at mail.msen.com
Fri Jan 30 01:57:44 UTC 2015

On Thu, Jan 29, 2015 at 05:31:02PM -0800, Eliot Miranda wrote:
> Hi David,
>     you might look at latforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c in
> the Cog branch.  It uses e.g.
> if(ssl->loglevel) printf("sqAcceptSSL: cert = %p\n", cert);
> instead of
> if(ssl->loglevel) printf("sqAcceptSSL: cert = %lx\n", (long)cert);
> which is preferrable, as cert is a pointer.  The Cog version definitely
> compiles on 64-bit; I'm running a 64-bit Spur Stack VM regularly.

Thanks, that looks much better, but:

/home/lewis/squeak/VM/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:175:2: warning: format ‘%p’ expects argument of type ‘void *’, but argument 2 has type ‘sqInt’ [-Wformat=]
  if(ssl->loglevel) printf("sqConnectSSL: BIO_write %p bytes\n", srcLen);

So some further type declarations may be required.

The issue I was dealing with was sizeof(sqInt) == 8, but declaring pointers
properly in both the slang and platforms code is probably also needed.

I will try to follow up in it this weekend.


More information about the Vm-dev mailing list