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>