Re: Cleaning up FILE in stdio..
- From: John Baldwin <jhb@xxxxxxxxxxx>
- Date: Wed, 27 Feb 2008 00:27:05 -0500
On Tuesday 26 February 2008 11:58:55 pm Daniel Eischen wrote:
On Tue, 26 Feb 2008, Garrett Wollman wrote:
In article <200802261524.30384.jhb@xxxxxxxxxxx> 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.
You have to worry about other libraries (say ncurses) that use fopen@xxx and
then return that FILE * to a user app that calls fclose (but the user app
will call fclose@xxx and it blows up). Hence in my other e-mail where I said
all the stdio routines would have to detect the two different versions and
handle them. Gross.
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.
The problem is that _file is used by fileno() via __sfile() and that's the one
I want to fix. The sFILEX stuff is ok as none of it is exposed, but not
fixing __file.
--
John Baldwin
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- References:
- Re: Cleaning up FILE in stdio..
- From: Garrett Wollman
- Re: Cleaning up FILE in stdio..
- From: Daniel Eischen
- Re: Cleaning up FILE in stdio..
- Prev by Date: Re: Cleaning up FILE in stdio..
- Next by Date: Re: Cleaning up FILE in stdio..
- Previous by thread: Re: Cleaning up FILE in stdio..
- Next by thread: Re: Cleaning up FILE in stdio..
- Index(es):
Relevant Pages
|