<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-07-07 14:47 GMT+02:00 David T. Lewis <span dir="ltr"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Thu, Jul 07, 2016 at 12:45:14PM +0200, Nicolas Cellier wrote:<br>
><br>
> 2016-07-06 4:04 GMT+02:00 Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>>:<br>
><br>
> ><br>
> > Hi All,<br>
> ><br>
> > On Tue, Jul 5, 2016 at 8:06 AM, Nicolas Cellier <<br>
> > <a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>> wrote:<br>
> ><br>
> >><br>
> >><br>
> >> 2016-07-05 15:40 GMT+02:00 marcel.taeumel <<a href="mailto:Marcel.Taeumel@hpi.de">Marcel.Taeumel@hpi.de</a>>:<br>
> >><br>
> >>><br>
> >>> >><br>
> >>> >> --<br>
> >>> >> View this message in context:<br>
> >>> >><br>
> >>> <a href="http://forum.world.st/Poll-Who-is-interested-in-thinking-about-or-already-contributing-to-a-64-bit-OpenSmalltalk-VM-for-Wi-tp4904953.html" rel="noreferrer" target="_blank">http://forum.world.st/Poll-Who-is-interested-in-thinking-about-or-already-contributing-to-a-64-bit-OpenSmalltalk-VM-for-Wi-tp4904953.html</a><br>
> >>> >> Sent from the Squeak VM mailing list archive at Nabble.com.<br>
> >>> >><br>
> >>><br>
> >>> Hi Nicolas,<br>
> >>><br>
> >>><br>
> >> Hi Marcel,<br>
> >><br>
> >><br>
> >>> if we target Cygwin as a build environment, this might be worth noticing:<br>
> >>> <a href="https://cygwin.com/faq.html#faq.programming.64bitporting" rel="noreferrer" target="_blank">https://cygwin.com/faq.html#faq.programming.64bitporting</a><br>
> >>><br>
> >>><br>
> >> As currently generated, the Spur Vm for 64 bits expects sizeof(long) == 8.<br>
> >> So it is cygwin64 x86_64 compatible, but not so much MSVC... (or<br>
> >> mingw-w64 variants...)<br>
> >> IMO, this is the easiest target. then we could inquire about alternate<br>
> >> compilers.<br>
> >><br>
> ><br>
> > This is great to hear. So there is a model where sizeof(long) == 8? If<br>
> > that's so, we should target it. There's a /lot/ of work to do if we have<br>
> > to support the Win64 sizeof(long) == 4 model.<br>
> ><br>
> snip...<br>
><br>
> After inquiring a bit more, that's not going to be that easy...<br>
> Yes, x86_64-pc-cygwin-gcc.exe is LP64 and Spur64 compatible, but it lacks<br>
> all the interfaces used by platforms/win32 (like _fmode _O_BINARY etc...)<br>
> On the other hand, x86_64-w64-mingw32-gcc.exe has all the required win32<br>
> interfaces but is thus LLP64.<br>
><br>
> Thus, either we use cygwin, switch to a unix architecture, and loose a<br>
> bunch of win32 specific features (Direct3D etc...). But how to provide the<br>
> interface to window manager/GUI?<br>
<br>
</div></div>Also, on Windows, FilePlugin uses HANDLE rather than (FILE *) for all<br>
references to file operations.<br>
<span class=""><br>
> Or we take the longer path to get VMMaker work on LLP64 (sizeof long == 4,<br>
> sizeof(long) < sizeof(char *)).<br>
<br>
</span>That would be the right thing to do. Assuming that a long is large enough<br>
to hold a pointer is wrong. But it would not be easy or quick to make the<br>
changes. Updates to platforms/Cross would be needed, so it affects more<br>
than just the win32 tree.<br>
<br>
Dave<br>
<br></blockquote><div>Hi Dave,<br></div><div>I've started the LLP64 compatibility changes on master branch.<br></div><div>It's not so hard if we stick to the sq* types.<br></div><div>Then there will be a bunch of VMMaker (long) usage to revise.<br><br></div><div>cheers<br></div><div><br></div></div><br></div></div>