Subject: Re: bug#23760: 25.0.95; emacs 25.0.95 doesn't build with glibc-2.23.90

From: Florian Weimer <[email-masked]>
Date: Mon, 20 Jun 2016 11:21:58 +0200

On 06/20/2016 11:03 AM, Paul Eggert wrote:

>> I'm more worried about the other __ variables in the Emacs malloc.
>> Their in Emacs definition does not even match the one in glibc. The
>> difference is probably harmless, but it is fairly close to be being
>> broken.
>
> The intent is that __malloc_initialize_hook and the other __ variables
> will become inoperative in glibc, right?

No, we need to preserve the past behavior of the hooks for old binaries.

The usual mechanism for deprecation and removal of an API does not work 
if the symbol is interposed because it will be unversioned, and 
unversioned symbols preempt versioned symbols.  As a result, even if the 
symbol is a compat symbol, you can produce new binaries which use the 
removed API.

> That is, glibc won't set or use
> or care about these obsolete variables.

If we did that, old Emacs binaries would stop working because Emacs uses 
__malloc_initialize_hook to call malloc_set_state, which essential for 
restoring the dumped heap.

Florian