Hey, it's Avra...not ASerge.... (just kidding... )
I prefer funny Thaddy over grumpy Thaddy any time
Here are the results of the test on Laz 1.8.1 + FPC 3.0.5 cross compiler (brackets show size of external dbg file):
Executable | SmartLink + ExternDebugInfo | SmartLink + Strip |
ct2laz-i386-win32.exe | 2589715 (1668133) | 2583040 |
ct2laz-i386-linux | 2704524 (2475036) | 2700208 |
ct2laz-x86_64-win64.exe | 3551763 (3233312) | 3540992 |
ct2laz-x86_64-linux | 6378600 (5030304) | 3616816 |
It looks like Thaddy was on the right track and size of Lin64 debug info is to blame. All other platforms have size difference od less then 1% between stripped executables and executables with external debug info. Only Lin64 breaks this proportion (3616816 vs 6378600). Like some part of debug info ended up into Lin64 executable although it should go to external dbg file.
Is this a bug or some Lin64 specific thing?
I have attached elfreader outputs for Lin32 and Lin64 executables (with external dbf file) if someone can take a look.