[Python-Dev] TELL64

Thomas Wouters thomas@xs4all.net
Tue, 16 Jan 2001 00:55:36 +0100


On Mon, Jan 15, 2001 at 02:10:26PM -0800, Trent Mick wrote:

> > > [ I've looked thru fileobject.c and am a bit confused: the conditions
> > >   for defining TELL64 do not match the conditions for *using* it. that
> > >   would seem to imply a semantic error somewhere and/or a potential
> > >   gotcha when they get skewed (like I assume what happened to
> > >   FreeBSD). simplifying with an autoconf macro may help to rationalize
> > >   it. ]

> The problem is that these systems lie when they "say" (according to
> Python's configure tests for HAVE_LARGEFILE_SUPPORT) that they have
> largefile support. This seems to have happened for a particular release of
> BSD (which has since been fixed). I think that the Right(tm) (meaning the
> cleanest solution where the tests and definitions in the code actually
> represent the truth) answer is a proper configure test (sort of as Greg
> suggests). I don't really feel comfortable writing that patch (because (1)
> lack of time and (2) inability to test, I don't have any access to any of
> these BSD machines).

There is no (longer any) 'single BSD release', so I doubt it has 'since been
fixed' :) We should consider the different BSD derived OSes as separate, if
slightly related, systems (much like SunOS <-> BSD.) The problem in the BSDI
case is really simple: the autoconf test doesn't test whether the fs really
supports large files, but rather whether the system has an off_t type that
is 64 bits. BSDI has that type, but does not actually use it in any of the
seek/tell functions. This has not been 'fixed' as far as I know, precisely
because it isn't 'broken' :)

I tried to fix the test, but I have been completely unable to find a proper
test. There doesn't seem to be a 'standard' one, and I wasn't able to figure
out what, say, 'zsh' uses -- black autoconf magic, for sure.

-- 
Thomas Wouters <thomas@xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!