This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Proposal: Deprecate direct access stdio internals (for future hard removal)
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Wed, 3 Jan 2018 15:08:38 -0200
- Subject: Re: Proposal: Deprecate direct access stdio internals (for future hard removal)
- Authentication-results: sourceware.org; auth=none
- References: <be630d66-177e-66ee-7588-2f15b3f27753@redhat.com> <e7e1d867-704d-f228-b3d4-083bafbc941b@redhat.com>
On 03/01/2018 13:54, Florian Weimer wrote:
> On 12/22/2017 02:01 PM, Florian Weimer wrote:
>> I would like to remove quite a few libio internals in a future glibc version.
>>
>> Note that the symbol list does not include _IO_stdin &c, __uflow, __underflow, and other bits which were used by old inline implementations of the C interface (for things like getc_unlocked). We can preserve support for those by keeping the layout of the start of _IO_FILE unchanged, always signaling empty read/write buffers, thus redirecting the old inline implementations into the slow path.
>>
>> The immediate goal is to remove the vtables, marker support, streamline save area support (for an implementation of fgetln), and no longer depend on the _IO_stdin_used mechanism to detect that the stdin/stdout/stderr variables are in use. Old library versions had macros for them, not variables, and did not support reassignment. This still causes problems when linking new DSOs because you have to be careful to include _IO_stdin_used in the linker script, otherwise strange things will happen.
>
> Any further comments on this?
>
> Thanks,
> Florian
LGTM.