Subject: bug#22522: Commit b88e9cded7ae3756e3a2ec4a23e8df352a0239f9 breaks emacs dumping for me

From: Paul Eggert <[email-masked]>
Date: Tue, 2 Feb 2016 09:26:17 -0800

Thanks for reporting this. I reproduced the problem on Fedora 23 x86-64. 
It appears to be a bug in link-time optimization. The symbol 
__malloc_initialize_hook is marked external in alloc.o, but merely 
static (private) in temacs:

$ nm -o alloc.o temacs | grep __malloc_init
alloc.o:00000000002e0a40 D __malloc_initialize_hook
temacs:0000000000b25340 d __malloc_initialize_hook

We used to define this variable in emacs.o, and we now do it in alloc.o. 
Possibly we were lucky that the code ever worked, as I guess the LTO bug 
strikes depending on link time order.

I installed the attached patch, which works around the bug for me. 
Please give it a try. Are any of you connected to the folks who 
implement LTO? It'd be nice to report this bug to them somehow.