I'm working to cross compiling (for arm, with arm-elf-* tools) some pieces of code and I have to pay really attention to the compiled size. Some tests with others compilers (arm, m16c, 8051) show me that the GNU performance, in respect with the size consumption, are the worst. I will ask you if my tests are credible or not? And If not, I hope someone can tell me were I'm wrong.
This are the tests results: ARM 37324 Bytes
8051 37903 Bytes M16C 42132 Bytes GNU 47488 BytesI have obtained the GNU value of 47488 Bytes from the Map file (I create it with the linker option -Wl,-Map=.\Map.map) reading the first .text section hexadecimal address and converting it into a decimal value.
The other compiler's options I have used are:
-v -Os -Tflash.ld -nostartfiles -Wl,-Map=.\Map.map,--cref,-nostdlib -s
-o...
Thanks,
Maja