* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher @ 2016-07-25 7:22 Markus Trippelsdorf 2016-07-25 12:38 ` Wolfgang Jenkner 0 siblings, 1 reply; 8+ messages in thread From: Markus Trippelsdorf @ 2016-07-25 7:22 UTC (permalink / raw) To: 24065; +Cc: Wolfgang Jenkner commit 09ece4d341a7e07fab7be22868ebcadae8641c79 Author: Wolfgang Jenkner <wjenkner@inode.at> Date: Tue Feb 9 15:04:40 2016 -0800 Restore the calloc family. causes gcc-5 and higher to compile calloc to an endless loop. -fno-builtin-malloc should be used to work around the problem. See: https://gcc.gnu.org/ml/gcc-help/2015-03/msg00109.html for a similar example. -- Markus ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher 2016-07-25 7:22 bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher Markus Trippelsdorf @ 2016-07-25 12:38 ` Wolfgang Jenkner 2016-07-25 12:55 ` Markus Trippelsdorf 0 siblings, 1 reply; 8+ messages in thread From: Wolfgang Jenkner @ 2016-07-25 12:38 UTC (permalink / raw) To: markus; +Cc: 24065 Markus Trippelsdorf <markus@trippelsdorf.de> wrote: > commit 09ece4d341a7e07fab7be22868ebcadae8641c79 > Author: Wolfgang Jenkner <wjenkner@inode.at> > Date: Tue Feb 9 15:04:40 2016 -0800 > > Restore the calloc family. > > causes gcc-5 and higher to compile calloc to an endless loop. > -fno-builtin-malloc should be used to work around the problem. This was the reason for the (compiler-independent) work-around discussed in http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22085 and committed in commit 4b1436b702d56eedd27a0777fc7232cdfb7ac4f6 Author: Wolfgang Jenkner <wjenkner@inode.at> Date: Sat Dec 26 12:12:02 2015 -0800 Always define gmalloc etc. in src/gmalloc.c The commit you cited shouldn't change that, I think. In any case, that work-around seems to work for DragonflyBSD, which has gcc 5 as base compiler, and, for the time being (i.e., emacs-25 branch), actually uses the malloc implemented in src/gmalloc, cf. https://github.com/DragonFlyBSD/DPorts/tree/master/editors/emacs-devel So, it would be useful to know on which system compilation fails. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher 2016-07-25 12:38 ` Wolfgang Jenkner @ 2016-07-25 12:55 ` Markus Trippelsdorf 2016-07-25 13:27 ` Wolfgang Jenkner 0 siblings, 1 reply; 8+ messages in thread From: Markus Trippelsdorf @ 2016-07-25 12:55 UTC (permalink / raw) To: Wolfgang Jenkner; +Cc: 24065 On 2016.07.25 at 14:38 +0200, Wolfgang Jenkner wrote: > Markus Trippelsdorf <markus@trippelsdorf.de> wrote: > > > commit 09ece4d341a7e07fab7be22868ebcadae8641c79 > > Author: Wolfgang Jenkner <wjenkner@inode.at> > > Date: Tue Feb 9 15:04:40 2016 -0800 > > > > Restore the calloc family. > > > > causes gcc-5 and higher to compile calloc to an endless loop. > > -fno-builtin-malloc should be used to work around the problem. > > This was the reason for the (compiler-independent) work-around > discussed in > > http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22085 > > and committed in > > commit 4b1436b702d56eedd27a0777fc7232cdfb7ac4f6 > Author: Wolfgang Jenkner <wjenkner@inode.at> > Date: Sat Dec 26 12:12:02 2015 -0800 > > Always define gmalloc etc. in src/gmalloc.c > > The commit you cited shouldn't change that, I think. > > In any case, that work-around seems to work for DragonflyBSD, which > has gcc 5 as base compiler, and, for the time being (i.e., emacs-25 > branch), actually uses the malloc implemented in src/gmalloc, cf. > > https://github.com/DragonFlyBSD/DPorts/tree/master/editors/emacs-devel > > So, it would be useful to know on which system compilation fails. This happens on a Gentoo system (glibc trunk, gcc-6 latest branch): (gdb) run Starting program: /var/tmp/portage/app-editors/emacs-24.5-r3/work/emacs-24.5/src/temacs --batch --load loadup bootstrap Program received signal SIGSEGV, Segmentation fault. 0x00000000005cac25 in calloc (nmemb=<error reading variable: DWARF-2 expression error: Loop detected (257).>, size=size@entry=1) at gmalloc.c:1529 1529 result = malloc (bytes); (gdb) bt #0 0x00000000005cac25 in calloc (nmemb=<error reading variable: DWARF-2 expression error: Loop detected (257).>, size=size@entry=1) at gmalloc.c:1529 #1 0x00000000005cac2a in calloc (nmemb=<error reading variable: DWARF-2 expression error: Loop detected (257).>, size=size@entry=1) at gmalloc.c:1529 #2 0x00000000005cac2a in calloc (nmemb=<error reading variable: DWARF-2 expression error: Loop detected (257).>, size=size@entry=1) at gmalloc.c:1529 ... Adding -fno-builtin-malloc to CFLAGS fixes the issue for me. -- Markus ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher 2016-07-25 12:55 ` Markus Trippelsdorf @ 2016-07-25 13:27 ` Wolfgang Jenkner 2016-07-25 14:24 ` Markus Trippelsdorf 0 siblings, 1 reply; 8+ messages in thread From: Wolfgang Jenkner @ 2016-07-25 13:27 UTC (permalink / raw) To: markus; +Cc: 24065 Markus Trippelsdorf <markus@trippelsdorf.de> wrote: > On 2016.07.25 at 14:38 +0200, Wolfgang Jenkner wrote: [...] > > Author: Wolfgang Jenkner <wjenkner@inode.at> > > Date: Sat Dec 26 12:12:02 2015 -0800 > > > > Always define gmalloc etc. in src/gmalloc.c > > [...] > > So, it would be useful to know on which system compilation fails. > > This happens on a Gentoo system (glibc trunk, gcc-6 latest branch): > > (gdb) run > Starting program: /var/tmp/portage/app-editors/emacs-24.5-r3/work/emacs-24.5/src/temacs --batch --load loadup bootstrap According to ftp://alpha.gnu.org/gnu/emacs/pretest/ your emacs version has been made available in April 2015 and so predates the fix from December 2015 above. Also, your version belongs to an older (and effectively unmaintained) release series. tl; dr: Please update to a current release candidate. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher 2016-07-25 13:27 ` Wolfgang Jenkner @ 2016-07-25 14:24 ` Markus Trippelsdorf 2016-07-25 15:48 ` Wolfgang Jenkner 0 siblings, 1 reply; 8+ messages in thread From: Markus Trippelsdorf @ 2016-07-25 14:24 UTC (permalink / raw) To: Wolfgang Jenkner; +Cc: 24065 On 2016.07.25 at 15:27 +0200, Wolfgang Jenkner wrote: > Markus Trippelsdorf <markus@trippelsdorf.de> wrote: > > > On 2016.07.25 at 14:38 +0200, Wolfgang Jenkner wrote: > [...] > > > Author: Wolfgang Jenkner <wjenkner@inode.at> > > > Date: Sat Dec 26 12:12:02 2015 -0800 > > > > > > Always define gmalloc etc. in src/gmalloc.c > > > > [...] > > > So, it would be useful to know on which system compilation fails. > > > > This happens on a Gentoo system (glibc trunk, gcc-6 latest branch): > > > > (gdb) run > > Starting program: /var/tmp/portage/app-editors/emacs-24.5-r3/work/emacs-24.5/src/temacs --batch --load loadup bootstrap > > According to ftp://alpha.gnu.org/gnu/emacs/pretest/ your emacs > version has been made available in April 2015 and so predates > the fix from December 2015 above. Also, your version belongs to > an older (and effectively unmaintained) release series. > > tl; dr: Please update to a current release candidate. Ok. Sorry for pointing to the wrong commit. But version 24.5 is the latest stable release. It is sad, that it cannot be compiled with gcc-5 or gcc-6. -- Markus ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher 2016-07-25 14:24 ` Markus Trippelsdorf @ 2016-07-25 15:48 ` Wolfgang Jenkner 2016-07-25 15:58 ` Markus Trippelsdorf 2016-07-26 7:08 ` Paul Eggert 0 siblings, 2 replies; 8+ messages in thread From: Wolfgang Jenkner @ 2016-07-25 15:48 UTC (permalink / raw) To: markus; +Cc: eggert, 24065 Markus Trippelsdorf <markus@trippelsdorf.de> wrote: > > > This happens on a Gentoo system (glibc trunk, gcc-6 latest branch): > But version 24.5 is the latest stable release. > It is sad, that it cannot be compiled with gcc-5 or gcc-6. Actually, on GNU/Linux src/gmalloc.c (which contains the code in question) is not even compiled, normally. The reason for your compilation troubles seems to be that you use a recent git checkout of glibc (as you stated above) which I guess already contains http://repo.or.cz/glibc.git/commitdiff/2ba3cfa1607c36613f3b30fb1ae4ec530245ce64 IIUC, this commit removes the declaration of __malloc_initialize_hook, so the emacs configure check for "whether malloc is Doug Lea style" will fail. And this is the reason why you suddenly need malloc etc. from src/gmalloc.c. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher 2016-07-25 15:48 ` Wolfgang Jenkner @ 2016-07-25 15:58 ` Markus Trippelsdorf 2016-07-26 7:08 ` Paul Eggert 1 sibling, 0 replies; 8+ messages in thread From: Markus Trippelsdorf @ 2016-07-25 15:58 UTC (permalink / raw) To: Wolfgang Jenkner; +Cc: eggert, 24065 On 2016.07.25 at 17:48 +0200, Wolfgang Jenkner wrote: > Markus Trippelsdorf <markus@trippelsdorf.de> wrote: > > > > > This happens on a Gentoo system (glibc trunk, gcc-6 latest branch): > > > But version 24.5 is the latest stable release. > > It is sad, that it cannot be compiled with gcc-5 or gcc-6. > > Actually, on GNU/Linux src/gmalloc.c (which contains the code in > question) is not even compiled, normally. > > The reason for your compilation troubles seems to be that you use > a recent git checkout of glibc (as you stated above) which I guess > already contains > > http://repo.or.cz/glibc.git/commitdiff/2ba3cfa1607c36613f3b30fb1ae4ec530245ce64 > > IIUC, this commit removes the declaration of __malloc_initialize_hook, > so the emacs configure check for "whether malloc is Doug Lea style" > will fail. > > And this is the reason why you suddenly need malloc etc. from > src/gmalloc.c. Thanks for finding the root cause. I can confirm that my glibc versions contains the commit in question. -- Markus ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher 2016-07-25 15:48 ` Wolfgang Jenkner 2016-07-25 15:58 ` Markus Trippelsdorf @ 2016-07-26 7:08 ` Paul Eggert 1 sibling, 0 replies; 8+ messages in thread From: Paul Eggert @ 2016-07-26 7:08 UTC (permalink / raw) To: Wolfgang Jenkner, markus; +Cc: 24065-done On 07/25/2016 05:48 PM, Wolfgang Jenkner wrote: > IIUC, this commit removes the declaration of __malloc_initialize_hook, > so the emacs configure check for "whether malloc is Doug Lea style" > will fail. This problem should be fixed on Emacs master and emacs-25, as well as in the current release candidate for Emacs 25 <ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-25.1-rc1.tar.xz>. If you're still observing the problem in any of these editions of Emacs, please let us know. In the meantime I will close the bug report as I think this bug is fixed now. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-07-26 7:08 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-07-25 7:22 bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher Markus Trippelsdorf 2016-07-25 12:38 ` Wolfgang Jenkner 2016-07-25 12:55 ` Markus Trippelsdorf 2016-07-25 13:27 ` Wolfgang Jenkner 2016-07-25 14:24 ` Markus Trippelsdorf 2016-07-25 15:48 ` Wolfgang Jenkner 2016-07-25 15:58 ` Markus Trippelsdorf 2016-07-26 7:08 ` Paul Eggert
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.