[Vm-dev] Why StandardFileStream fileID is 16 bytes in Linux while 20 bytes in OSX?

David T. Lewis lewis at mail.msen.com
Sun Jan 10 17:06:05 UTC 2016


On Sun, Jan 10, 2016 at 08:30:16AM -0800, Eliot Miranda wrote:
>  
> On Sat, Jan 9, 2016 at 5:35 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> 
> >
> > On Sat, Jan 09, 2016 at 05:02:40PM -0800, Eliot Miranda wrote:
> > >
> > > Hi David, file size is orthogonal. One needs to define something like
> > -D_FILESIZE=64 or some such. I'm on my phone so don't have the details but
> > if you have a look at an mvm under build.linux32* you'll see the correct
> > incantation.
> > >
> >
> > Yes that's right. The -D_FILE_OFFSET_BITS=64 compiler directive enables
> > large file size access.
> >
> > I think that Mariano is asking with the layout of the SQFile data
> > structure,
> > which is not affected by the D_FILE_OFFSET_BITS setting because it has no
> > affect on sizeof(*FILE).
> >
> 
> SQFile's size /is/ affected by -D_FILE_OFFSET_BITS=64 because
> sizeof(squeakFileOffsetType)
> is 8 with it and 4 without it :-)
> 

Yes you are right. So sizeof(void *) and sizeof(squeakFileOffsetType)
both have an effect on sizeof(SQFile).

Dave



More information about the Vm-dev mailing list