This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] malloc: Remove malloc hooks (Bug 23328)


On 07/23/2018 02:54 PM, Florian Weimer wrote:
> On 07/23/2018 08:52 PM, Carlos O'Donell wrote:
>> On 07/23/2018 02:45 PM, Florian Weimer wrote:
>>> On 07/23/2018 08:27 PM, Carlos O'Donell wrote:
>>>> On 07/23/2018 11:59 AM, Joseph Myers wrote:
>>>>> On Mon, 23 Jul 2018, Florian Weimer wrote:
>>>>> 
>>>>>> Should we install libmalloc-extras.so under that name?
>>>>>> 
>>>>>> Or should it be libmalloc-extras.so.0 (soname) without a 
>>>>>> libmalloc-extras.so symbolic link, to discourage new 
>>>>>> applications from linking against it, so making it more
>>>>>> obvious that this is intended for backwards compatibility
>>>>>> with old applications?
>>>>> 
>>>>> I don't think it's something to discourage applications from 
>>>>> linking against.  Among other things, it's for any use of
>>>>> mtrace, which is useful for both new and old applications as
>>>>> a light-weight memory checker for uses similar to those in
>>>>> glibc's own testsuite.
>>>> 
>>>> I'm slightly in agreement with Joseph here, the use of 
>>>> libmalloc-extras.so might turn out to be useful mechanism for 
>>>> deploying this kind of code for now and into the future.
>>> 
>>> This wasn't obvious from the patch.
>>> 
>>> If there is a promise of ABI stability for the library (rather
>>> than just interposing bits in libc.so.6), we need ABI checking
>>> for it, and we should add a soname version.  That's currently
>>> missing from the patch.
>> 
>> I'm not sure what you mean by this.
>> 
>> I envision this will always be an interposer.
>> 
>> The core ABI stability will be provided by libc.so.6.
>> 
>> The interposer will provide the functional implementation, such
>> that the default libc.so.6 implementation is a stub that does
>> nothing.
>> 
>> Does that make sense?
> 
> If we support linking against the interposer, it has an ABI, which
> needs to be checked independently.  Merely verifying against
> libc.so.6 is not enough because if you remove a symbol from the
> interposer, it will break existing binaries due to the dynamic linker
> currently performing soname matching for versioned symbols which are
> not interposed.

That is a very good point.

I don't want to commit to this, and I don't think we should until we've
discussed this in more detail.

We can always support Joseph's position at a later date with more knowledge
gained from supporting the implementation of libmalloc-extras.so.0, adding
a stable ABI is easier than removing one :}


Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]