Subject: bug#24065: commit 09ece4d341a7 (Restore the calloc family) causes miscompile for gcc-5 and higher

From: Wolfgang Jenkner <[email-masked]>
Date: Mon, 25 Jul 2016 14:38:40 +0200

Markus Trippelsdorf <[email-masked]> wrote:

> commit 09ece4d341a7e07fab7be22868ebcadae8641c79
> Author: Wolfgang Jenkner <[email-masked]>
> 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 <[email-masked]>
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.