Yes, this option sounded like the right way to fix it, but...

https://gcc.gnu.org/ml/gcc-help/2015-03/msg00093.html
https://gcc.gnu.org/ml/gcc-help/2015-03/msg00094.html

----- Joel Sherrill <joel.sherr...@oarcorp.com> schrieb:
> This is possible to do inside the file itself using function
> attributes or pragmas. I am not sure which method is best but
> wanted to pass along so we could decide as a group.
> 
> > optimize
> > The optimize attribute is used to specify that a function is to be compiled 
> > with different optimization options than specified on the command line. 
> > Arguments can either be numbers or strings. Numbers are assumed to be an 
> > optimization level. Strings that begin with O are assumed to be an 
> > optimization option, while other options are assumed to be used with a -f 
> > prefix. You can also use the ‘#pragma GCC optimize’ pragma to set the 
> > optimization options that affect more than one function. See Function 
> > Specific Option Pragmas, for details about the ‘#pragma GCC optimize’ 
> > pragma.
> > This can be used for instance to have frequently-executed functions 
> > compiled with more aggressive optimization options that produce faster and 
> > larger code, while other functions can be compiled with less aggressive 
> > options.
> 
> 
> --joel        
> 
> On 7/13/2015 3:20 AM, Sebastian Huber wrote:
> > Disable an optimization which would lead to a recursive calloc() call in
> > calloc().
> > ---
> >   cpukit/libcsupport/Makefile.am | 8 ++++++--
> >   cpukit/wrapup/Makefile.am      | 1 +
> >   2 files changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am
> > index 7474079..a5da5f1 100644
> > --- a/cpukit/libcsupport/Makefile.am
> > +++ b/cpukit/libcsupport/Makefile.am
> > @@ -1,8 +1,9 @@
> >   include $(top_srcdir)/automake/multilib.am
> >   include $(top_srcdir)/automake/compile.am
> >
> > -noinst_LIBRARIES = libcsupport.a
> > +noinst_LIBRARIES = libcsupport.a libcalloc.a
> >   libcsupport_a_CPPFLAGS = $(AM_CPPFLAGS)
> > +libcalloc_a_CPPFLAGS = $(AM_CPPFLAGS)
> >
> >   include_rtemsdir = $(includedir)/rtems
> >   include_rtems_HEADERS = include/console.h
> > @@ -79,7 +80,7 @@ ID_C_FILES = src/getegid.c src/geteuid.c src/getgid.c 
> > src/getgroups.c \
> >       src/seteuid.c src/setgid.c src/setuid.c src/setegid.c src/setpgid.c \
> >       src/setsid.c
> >
> > -MALLOC_C_FILES = src/malloc_initialize.c src/calloc.c src/malloc.c \
> > +MALLOC_C_FILES = src/malloc_initialize.c src/malloc.c \
> >       src/realloc.c src/_calloc_r.c src/_malloc_r.c \
> >       src/free.c src/_free_r.c \
> >       src/_realloc_r.c src/mallocfreespace.c \
> > @@ -138,6 +139,9 @@ libcsupport_a_SOURCES += $(LIBC_GLUE_C_FILES) 
> > $(PASSWORD_GROUP_C_FILES) \
> >
> >   libcsupport_a_SOURCES += src/flockfile.c src/funlockfile.c 
> > src/ftrylockfile.c
> >
> > +libcalloc_a_SOURCES = src/calloc.c
> > +libcalloc_a_CFLAGS = -fno-builtin
> > +
> >   EXTRA_DIST = src/TODO src/CASES src/README
> >
> >   include $(srcdir)/preinstall.am
> > diff --git a/cpukit/wrapup/Makefile.am b/cpukit/wrapup/Makefile.am
> > index 53861df..5fd6e33 100644
> > --- a/cpukit/wrapup/Makefile.am
> > +++ b/cpukit/wrapup/Makefile.am
> > @@ -21,6 +21,7 @@ endif
> >
> >   TMP_LIBS += ../libcrypt/libcrypt.a
> >   TMP_LIBS += ../libcsupport/libcsupport.a
> > +TMP_LIBS += ../libcsupport/libcalloc.a
> >   TMP_LIBS += ../libblock/libblock.a
> >   if LIBDOSFS
> >   TMP_LIBS += ../libfs/libdosfs.a
> >
> 
> -- 
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel.sherr...@oarcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> Support Available                (256) 722-9985

-- 
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.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to