The documentation seems to be saying that using those flags is
supposed to save flash, but without them, a main() that does a single
printf("foo\n"); gives me a 330 byte flash, while with them I get a
1330 byte flash.

If I remove the printf() call, I get flash sizes of 1228 or 228 with
or without the above mentioned printf-min flags, respectively.

It looks like somehow the printf-min flag ends up dragging in a bunch
extra code somehow?

The rest of my linker invocation looks like this:

avr-gcc -mmcu=atmega328p -lm -Wl,-gc-sections
-Wl,-Map=program_to_upload.out.map -o program_to_upload.out main.o

I think probably the documentation ought to mention this possibility,
assuming it isn't a bug.


Britton

_______________________________________________
AVR-chat mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/avr-chat

Reply via email to