This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2] libio: use PTR_MANGLE/PTR_DEMANGLE for FILE vtables
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Kees Cook <keescook at chromium dot org>, libc-alpha <libc-alpha at sourceware dot org>, Mike Frysinger <vapier at gentoo dot org>, Adam Conrad <adconrad at 0c3 dot net>
- Date: Thu, 15 Oct 2015 16:55:27 +0000
- Subject: Re: [PATCH v2] libio: use PTR_MANGLE/PTR_DEMANGLE for FILE vtables
- Authentication-results: sourceware.org; auth=none
- References: <20151001184048 dot GA31563 at www dot outflux dot net> <560D8108 dot 6060802 at redhat dot com> <CAGXu5jLi7iW+543YD7ySDb7Yq+_2SfGW8q3z50p4C3Usg5dC0w at mail dot gmail dot com> <560D8A2F dot 8020900 at redhat dot com> <CAGXu5jLCBUKaXoX3Dy1dcEc9bd0WcXAZU32zOaEHXechEfNuxg at mail dot gmail dot com> <560D943C dot 40301 at redhat dot com> <CAGXu5jKNssVif3=JsufU0a_tQpcURVgdDjDdHUkRmY1PQdv7LQ at mail dot gmail dot com> <561FA2CA dot 1050309 at redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1510151523160 dot 32402 at digraph dot polyomino dot org dot uk> <561FC841 dot 8060401 at redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1510151541590 dot 32402 at digraph dot polyomino dot org dot uk> <561FD146 dot 2060808 at redhat dot com>
On Thu, 15 Oct 2015, Florian Weimer wrote:
> > Well, I think the starting point is that those are valid binaries that
> > users who've kept their binaries and libstdc++.so shared libraries should
> > be able to expect to continue to work - that we don't break binary
> > compatibility for users using documented interfaces in the documented way.
>
> I respect your view, but we did that for errno (and presumably _res and
> h_errno, but I have less experience with that) and the i386 ABI bump for
> SSE stack alignment.
As I said, starting point. The basic presumption is against breaking any
valid binaries; sometimes it may be rebutted, but that needs a compelling
case to justify the breakage.
In the SSE stack alignment case I think we ought to be realigning the
stack on entry to glibc at entry points that existed long enough ago and
where SSE is used in a way that requires 16-byte alignment, as I said in
<https://sourceware.org/ml/libc-alpha/2013-08/msg00372.html>.
It would, admittedly, be convenient if we could do the occasional global
ABI transition with SONAME bump to limit how long compatibility is needed
with problematic old ABIs - we've had libc.so.6 a lot longer than
GNU/Linux had either libc.so.4 or libc.so.5. But given how it seems to
have been concluded that's not practical for libstdc++ I suppose it's not
practical for libc either (on some architectures - the ARM move to EABI
went fine).
--
Joseph S. Myers
joseph@codesourcery.com