I have an old 20060421 version of WinAVR on my PC and compile all codes with it. Recently I've compiled a large C program for M168 (10 digit clock with multiple alarms and other functions):
clock.elf : section size addr .data 222 8388864 .text 14976 0 .bss 142 8389086 .noinit 0 8389228 .eeprom 0 8454144 .stab 876 0 .stabstr 132 0 .debug_aranges 20 0 .debug_pubnames 2525 0 .debug_info 5783 0 .debug_abbrev 391 0 .debug_line 7418 0 .debug_str 2156 0 Total 34641
Then I skyped the whole project folder (including Makefile) to my friend with the latest 2010 build of WinAVR. He clicks make clean and make all, then reports:
clock.elf : section size addr .data 222 8388864 .text 15216 0 .bss 142 8389086 .debug_aranges 32 0 .debug_pubnames 2525 0 .debug_info 8104 0 .debug_abbrev 704 0 .debug_line 10801 0 .debug_frame 1296 0 .debug_str 2234 0 .debug_loc 3564 0 .debug_ranges 24 0 Total 44864
Why is the .text size 240 bytes larger? All compilation options are the same, he did not edit anything.