This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
Optimizing for size
- From: Vincent Rubiolo <vincent dot rubiolo at st dot com>
- To: newlib at sources dot redhat dot com
- Date: Thu, 28 Aug 2003 02:31:40 +0200
- Subject: Optimizing for size
Hello to you newlib experts,
I am currently investigating on means to reduce the code size of our project
that I ported from ADS 1.2 to GNU toolchain with newlib.
The perl scripts I use to report sizes of the different parts show that the
runtime lib could be one area of such improvements.
I would like to have your feedback concerning the following points :
1. The build of newlib with optimisations for size has no incidence of the
library size archive (libc.a) at all. The memory usage (we have two memory
zones, RAM and FLASH) is -192 bytes in FLASH and -12 bytes in RAM (retaken over
by padding) between the two versions of the library. Can I expect more from the
size-optimised version of newlib of are these typical memory improvements?
2. Since enabling -fdata-sections and -ffunction-sections flags of gcc along
with --gc-sections really improved the size of the binary, I was thinking about
tweaking newlib to build in such a way. After having dug into the source, I see
that this can be done via C-defines for the mallocr to contain only one function
each time. Is there any other less painful way of doing this (such as
-fdata-sections and -ffunction-sections)?
Thank you for your consideration.
Regards,
Vincent