This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: printf size requirement


On Mon, 23 Apr 2007, Joel Sherrill wrote:

[snip]
--enable-newlib-reent-small enable small reentrant struct support

This looks promising for general RTEMS use since it doesn't sound like it
disables any functionality. Any ideas how much difference it makes? It looks
pretty substantial.

Without having actually measured, I don't think it saves you a whole lot if your threads actually use libc a lot. It's primary function is to postpone allocation of several reentrancy data fields to runtime as needed, instead of always including them statically in struct reent. If many of your threads only make trivial use of libc however, I guess there could be interesting savings.


[snip]
  --disable-newlib-atexit-alloc    disable dynamic allocation of atexit
entries

Interesting trade-off but doesn't this limit you to one atexit() per thread?

AFAIK it only disables dynamic allocation of additional atexit() entries beyond the 32 dictated by ANSI C. See e.g.: <sys/reent.h>.


[snip]
--enable-target-optspace optimize for space

..and this switches from using -O2 to -Os, and makes some libc functions simpler, e.g. mem* and str* functions.


Take care,
ali:)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]