Cleaning up FILE in stdio..

Daniel Eischen deischen at freebsd.org
Wed Feb 27 04:58:57 UTC 2008


On Tue, 26 Feb 2008, Garrett Wollman wrote:

> In article <200802261524.30384.jhb at FreeBSD.org> you write:
>
>> This is assuming that the contents and layout of FILE are not a
>> public ABI (i.e. we malloc the things internally and consumers should
>> just treat the pointer value as a cookie and not grub around in the
>> internals).
>
> Most interpreted languages grub around in the internals, as
> (historically) do a number of <stdio.h> macros.  Historically Emacs
> did so as well (I suppose you can call it an interpreted language).

Yech.  I also forgot about the macros in <stdio.h>, like __sfeof()
and friends.

>> Comments?
>
> 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.

I'd like us to say that the innards of FILE are not part of our
ABI, but we would still have to do something to keep at least
enough of the ABI for any macros.

-- 
DE


More information about the freebsd-arch mailing list