This is the mail archive of the
mailing list for the binutils project.
Re: PR 18167, Relax PR 15228 protected visibility restriction
- From: Pedro Alves <palves at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Fri, 27 Mar 2015 17:06:48 +0000
- Subject: Re: PR 18167, Relax PR 15228 protected visibility restriction
- Authentication-results: sourceware.org; auth=none
- References: <20150327054327 dot GB26234 at bubble dot grove dot modra dot org> <551531AA dot 1060006 at redhat dot com> <20150327122941 dot GC26234 at bubble dot grove dot modra dot org> <55158778 dot 8050009 at redhat dot com> <CAMe9rOrZB+kuDd-Z0hx-EMiZO=c2tG3J7gQH1JpNe_gHGSUBKA at mail dot gmail dot com> <551588C6 dot 9080004 at redhat dot com> <CAMe9rOoZPSLL0OOokyFEsDiCs8ey5tYNUx3fhXRhjJGokW5PFg at mail dot gmail dot com>
On 03/27/2015 04:54 PM, H.J. Lu wrote:
> On Fri, Mar 27, 2015 at 9:43 AM, Pedro Alves <firstname.lastname@example.org> wrote:
>> On 03/27/2015 04:40 PM, H.J. Lu wrote:
>>> On Fri, Mar 27, 2015 at 9:38 AM, Pedro Alves <email@example.com> wrote:
>>>> Urgh. The glibc issue sounds the most alarming. If we can't keep
>>>> back compatibility, isn't there a new bit/attribute we can put
>>>> somewhere to tag new binaries with protected symbols in a
>>>> way that existing systems just error out when loading them?
>>> There is no backward compatibility to speak with since protected
>>> data symbol never worked before.
>> OK, but when it's all fixed, programs and libraries will start
>> using the feature. It'd be best if such programs/libraries just
>> failed to load in older systems, than crash or corrupt data at random.
> If one of gcc, glibc or binutils isn't fixed, the program may misbehave.
> I don't know how it be avoided at run-time with fixing all 3.
I'm not really worried about gcc or binutils. Those are easy to
update. The issue is picking a binary that was built against fixed
gcc and binutils, and then running it on an system that happens to
not have glibc fixed. That just seems like ABI breakage.
How about emitting a reference to a symbol that only fixed glibc