autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ac-archive: ac_sys_largefile and libraries...


From: Paul Eggert
Subject: Re: ac-archive: ac_sys_largefile and libraries...
Date: Sat, 11 Jan 2003 10:37:36 -0800 (PST)

> Date: Sat, 11 Jan 2003 19:30:54 +0100
> From: Guido Draheim <address@hidden>

> > The problem can exist even if the public headers export only
> > 'int'.

> I don't see the point - the largefile specification describes
> that libc calls must check whether the filedescriptor has been
> opened as an O_LARGEFILE one, and act accordingly. The only
> thing is a new error-code, EOVERFLOW

The point is that older applications may not know about EOVERFLOW, or
may assume that a failure means that a file is not accessible, or
whatever.  The mismatch will break the program.  I've seen it happen.

> As for ftell, again, it _must_ result in an EOVERFLOW if the
> result does not fit

And old programs (reasonably) assume that ftell cannot fail under
ordinary circumstances, and break when it does fail.  The breakage
is just as real as callframe mismatch.

> > We should instead tell people the much simpler solution: don't mix
> > object modules compiled in different modes.  This is easy to
> > understand, and it works.
> 
> That's an administrative task

Yes, and it's a much easier administrative task than to tell
application and library authors about mixed-mode programs.  Mixed-mode
programs are a mistake, regardless of whether you consider them to be
an administrative task or a technical task.  For free software,
mixed-mode is way too-much work for way too-little benefit.

For closed software, mixed-mode makes more technical sense in some
cases; but Autoconf maintainers shouldn't waste their time supporting
features that are useful only for closed software.

> Perhaps introduce AC_TYPE_OFF64_T

That is not a good name, because that should define off64_t, and the
whole point is to avoid the use of off64_t entirely.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]