This is the mail archive of the
mailing list for the binutils project.
Re: PR 18167, Relax PR 15228 protected visibility restriction
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Fri, 27 Mar 2015 10:09:55 -0700
- 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> <55158E28 dot 3010207 at redhat dot com>
On Fri, Mar 27, 2015 at 10:06 AM, Pedro Alves <email@example.com> wrote:
> 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
It is easy to verify. Stay tuned.