This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Recursive calloc() due to optimization
- From: Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 25 Mar 2015 12:32:58 +0100
- Subject: Recursive calloc() due to optimization
- Authentication-results: sourceware.org; auth=none
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@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschÃftliche Mitteilung im Sinne des EHUG.