This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I am using "h8300-hms-gcc" version 2.95.2 with "newlib-1.8.1" to compile C programs for an embedded application on the Hitachi 3048F processor (which includes on the chip 4k RAM, 128k ROM and lots of useful functions). newlib was configured as ./configure --host=i686-pc-linux-gnu --target=h8300-hms --norecursion I found that the library wastes a lot of memory for things that I don't need: - the standard initialization routine calls "_exit" which in turn calls "malloc". This is something I do neither need nor want, since it uses up a lot of my precious 4k RAM. Luckily I could easily get rid of that one by not calling "_exit" any more in "crt0.o". "exit" in my embedded application is achieved via the power switch. However, another one I cannot get rid of so easily and that's why I ask for help: - I need some floating point routines (from fp-bit.o), and also one square root of a number which I know to be positive. The linker includes "errno.o" because of the "sqrt", and "errno.o" in turn includes "impure.o" which comes with a huge "static struct _reent __ATTRIBUTE_IMPURE_DATA__ impure_data" This structure takes more than 600 bytes, which is more than 16% of my total RAM. How can I avoid linking this "impure.o" ? Thanks for any hints, Gerhard ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |