Hi, of course I know about
http://wiki.lazarus.freepascal.org/Lazarus_Faq#Why_are_the_generated_binaries_so_big.3F etc. but I still wonder why generated binary of
the same lpi project (my case is shared library) is roughly 3 times bigger for Linux target than for Windows target.
i386-linux/libmylib.so 6686916 bytes
i386-win32/mylib.dll 2157056 bytes
When I inspect the *.so ELF:
- 3151152 bytes are taken by PROGBITS/.text section
- 1517624 bytes by PROGBITS/.data section
- 1352880 bytes by REL/.rel.dyn section
- 337740 bytes by PROGBITS/.rodata section
- 207160 bytes by PROGBITS/fpc.resources section
- 113460 bytes by NOBITS/.bss section
another section sizes are small (below 65536 bytes).
When I inspect the *.dll PE:
- 1463808 bytes are taken by .text section
- 370176 bytes by .rdata section
- 159232 bytes by .rsrc section
- 105984 bytes by .reloc section
again another section sizes are small (below 65536 bytes).
I don't have problem with it but I am just interested why these sizes are so different.