Reduce stack usage of _vfiprintf_r()
Corinna Vinschen
vinschen@redhat.com
Wed Oct 10 17:53:00 GMT 2012
On Oct 10 17:59, Federico Terraneo wrote:
> [...]
> first of all, am not a newlib devloper, just a regular user. I noticed
> the exact same problem in RAM constrained ARM microcontrollers when
> using newlib together with an RTOS that I developed. The solution I
> found is different though, and is to apply a simple patch to newlib
> that redefines BUFSIZ to 512 instead of 1024. That small change later
> became part of a larger patch that can be found here:
> http://gitorious.org/miosix-kernel/miosix-kernel/blobs/master/miosix/compiler/gcc-patches/newlib.patch
> The relevant lines are 32--39.
This isn't the right way to handle BUFSIZ. The right thing to do is
to define __BUFSIZ__ for your target in libc/include/sys/config.h:
#if defined(miosix) /* Or whatever is the right preprocessor macro */
#define __BUFSIZ__ 512
#endif
The same goes for many other settings. See the config.h file for
details. XStormy16, for instance, a 16 bit target, defines __BUFSIZ__
to 16 in that file.
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat
More information about the Newlib
mailing list