[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22522: Commit b88e9cded7ae3756e3a2ec4a23e8df352a0239f9 breaks emacs

From: Paul Eggert
Subject: bug#22522: Commit b88e9cded7ae3756e3a2ec4a23e8df352a0239f9 breaks emacs dumping for me
Date: Tue, 2 Feb 2016 09:26:17 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0

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.

Attachment: 0001-Port-malloc.h-hygiene-fix-to-LTO.patch
Description: Source code patch

reply via email to

[Prev in Thread] Current Thread [Next in Thread]