This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v3] libio: use PTR_MANGLE/PTR_DEMANGLE for FILE vtables
- From: Florian Weimer <fweimer at redhat dot com>
- To: Kees Cook <keescook at chromium dot org>, libc-alpha at sourceware dot org, Adam Conrad <adconrad at 0c3 dot net>, Joseph Myers <joseph at codesourcery dot com>, Yunlian Jiang <yunlian at google dot com>
- Date: Wed, 25 May 2016 20:25:21 +0200
- Subject: Re: [PATCH v3] libio: use PTR_MANGLE/PTR_DEMANGLE for FILE vtables
- Authentication-results: sourceware.org; auth=none
- References: <20160524165854 dot GA32022 at www dot outflux dot net> <0ebd00c0-7bbb-dbc5-d3e7-7fa6ba83c376 at redhat dot com> <20160525175245 dot GD26300 at vapier dot lan>
On 05/25/2016 07:52 PM, Mike Frysinger wrote:
On 25 May 2016 10:29, Florian Weimer wrote:
I think we need a follow-up patch which removes the symbols which are
now incompatible from the ABI, so that programs which are broken by this
configuration receive an explicit error message.
you mean all of the _IO_* symbols ?
There are exceptions which are part of the API. At least _IO_putc and
_IO_getc are, and _IO_stdin_used is interposed from the application.
(We can maybe get rid of the latter because it does not work anyway
because nothing ensures that the program is compiled against a
consistent set of libio definitions.)
my familiarity here is like 0,
Sadly, I don't know if we can pick anyone's brain who is more familiar
with these details.
but are there any reasons to keep exporting those for new ABIs ?
For most symbols, no, there is no reason to keep them for new ABIs.
My understanding of symbol versioning is still limited, and I have no
clear picture of the minimal libio ABI we can export, otherwise I'd have
sent some patches long ago.
A first step would involve cutting down the contents of the installed
<libio.h> header file to the absolute minimum needed by <stdio.h>. But
even that is quite a bit of work.
Florian