This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] abort: Only flush file-based stdio streams before termination
On 08/17/2017 05:52 PM, Florian Weimer wrote:
> On 08/17/2017 05:31 PM, Carlos O'Donell wrote:
>
>> I'm OK with this change if we clearly document what we're doing in the
>> glibc manual, and explain the alternative solution of flushing from the
>> abort handler.
>
> The manual currently does not list abort as an action which flushes any
> buffers:
>
> <http://www.gnu.org/software/libc/manual/html_node/Flushing-Buffers.html>
>
> I think you are making up an implementation constraint which does not
> actually exist.
Furthermore, GCC performs dead store elimination on malloc'ed memory
whichis incompatible with your made-up use case:
#include <stdlib.h>
void f (int i)
{
int *p = malloc (sizeof (p));
*p = i;
abort ();
}
f:
subq $8, %rsp
call abort
malloc is not an interface useful for persistent memory.
Thanks,
Florian