Georg-Johann Lay schrieb:
Denis Chertykov schrieb:

What difference in size of avr-libc ?

I have no tool for smart size analysis, so here is just a diff:

After rebuilding avr-libc with respective compiler version, did respectively:

$ find . -name 'lib[mc].a' -exec avr-size {} ';' > size-orig.txt
$ find . -name 'lib[mc].a' -exec avr-size {} ';' > size-patch.txt

and then

$ diff -U 0 size-orig.txt size-patch.txt > size.diff

As far as I can see, there is not a big gain but no object increases in size.

For some files like ./avr/lib/avr2/libc.a:dtoa_prf.o size gain is 3%.
For ./avr/lib/avr4/libc.a:vfprintf_std.o it's 1.7% and for others just one
instruction better.

Actually there are some cases where the size increases by one instruction:

-    464              0       0     464     1d0 realloc.o (ex 
./avr/lib/avr31/libc.a)
+    466              0       0     466     1d2 realloc.o (ex 
./avr/lib/avr31/libc.a)

-    464              0       0     464     1d0 realloc.o (ex 
./avr/lib/avr3/libc.a)
+    466              0       0     466     1d2 realloc.o (ex 
./avr/lib/avr3/libc.a)

Will have a look tomorrow; presumably it's adding +/-1 that force a scratch whilst the old code does not.

Johann

Reply via email to