Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Feb 2008 00:14:59 -0500 (EST)
From:      Garrett Wollman <wollman@hergotha.csail.mit.edu>
To:        deischen@freebsd.org
Cc:        arch@freebsd.org
Subject:   Re: Cleaning up FILE in stdio..
Message-ID:  <200802270514.m1R5ExDe024046@hergotha.csail.mit.edu>
In-Reply-To: <Pine.GSO.4.64.0802262351060.11586@sea.ntplx.net>
References:  <200802262251.m1QMp7bV021709@hergotha.csail.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <Pine.GSO.4.64.0802262351060.11586@sea.ntplx.net>,
Daniel Eischen <deischen@freebsd.org> writes:
>> [I wrote:]
>> I think you have the right idea but this will break the ABI in a way
>> that can't be fudged with symbol versioning.
>
>Well, you can if you add compat symbols for all functions with FILE
>as an argument.

In every library, including hundreds of third-party libraries that
pass FILE * arguments?  I don't think so.

What would work, although it would be extra pain, would be to extend
the structure.  It would be necessary to keep compatibility members of
the structure, in their old locations, and update them to reflect
state changes appropriately.  If the only thing that will change is
the width of _file, then that's probably a workable approach, since it
doesn't break anything that wasn't already broken in the presence of
FD 65536 anyway.  Applications aren't permitted to store objects of
type FILE, only FILE *, so this should be safe.

-GAWollman



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802270514.m1R5ExDe024046>