Fwd: Recursive calloc() due to optimization
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Mar 25 11:34:23 UTC 2015
A nice surprise with GCC 5:
-------- Forwarded Message --------
Subject: Recursive calloc() due to optimization
Date: Wed, 25 Mar 2015 12:32:58 +0100
From: Sebastian Huber <sebastian.huber at embedded-brains.de>
To: gcc-help at gcc.gnu.org
Hello,
I updated to GCC 5 and now it turns the RTEMS calloc() implementation into
Disassembly of section .text:
00000000 <calloc>:
0: fb01 f000 mul.w r0, r1, r0
4: 2101 movs r1, #1
6: f7ff bffe b.w 0 <calloc>
a: bf00 nop
on ARM. How can I disable this optimization? I tried
__attribute__((__optimize__("-fno-builtin")))
void *calloc(
size_t nelem,
size_t elsize
)
{
char *cptr;
size_t length;
length = nelem * elsize;
cptr = malloc( length );
if ( cptr )
memset( cptr, '\0', length );
return cptr;
}
but this doesn't work. It this one of the -fno-tree-* options?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list