This has come up before, and here's what's going on... the new
msp430-elf-gcc includes all the code required by the standard, partly
because... well, standards... and partly so that the testsuite can test
everything.  The old msp-gcc made lots of assumptions about how the
compiler would actually be used, and "pre-optimized" the runtime for it.

So you end up with things like "argv handling" when there's no command
line, or "exit closes files" when you never exit.  A big change is using
a float-enabled printf when you don't need it.

I put some notes here, way back when, but they're old, and IIRC it's
been improved even more since then:

http://people.redhat.com/~dj/msp430/size-optimizations.html

Also, you can use "msp430-elf-gcc -mintr ..." to minimize the runtime
support.

Also, if you're REALLY constrained to size, you might consider getting
the crt0.S source file from newlib and modifying it yourself to really
strip out the parts you don't need.  Most embedded code really only
needs to set up the stack and watchdog, then jump to main().

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to