
Christian Maeder wrote:
Don Stewart wrote:
hp:
I convinced myself that the ~500kbytes for the 'hello' code is 'correct' in version 6.6.1. [ The exact size on the platform mentioned below is 422k. ]
Looks like version 6.8.2 blows up the binary code size significantly --- 3.9Mbytes vs 0.422Mbytes.
Is this a known issue with 6.8.2 ? Is it a specific platform dependent issue --- i.e. does it occur on linux machines ??
I can confirm HP's code size. I've no idea what went wrong (or differently):
-bash-3.00$ ls -l hello -rwxr-xr-x 1 maeder wimi 3907865 May 23 11:38 hello
That's platform dependent. It means on ghc 6.8.2 wasn't built with split-objs enabled, so it includes a whole bunch of dead code normally stripped out.
Consult whoever built the ghc on your platform, to ensure they know how to build with split objects.
-- Don
Object Splitting was enabled:
-bash-3.00$ ll hello -rwxr-xr-x 1 maeder wimi 3907865 May 23 11:38 hello
-bash-3.00$ ghc --info [("Project name","The Glorious Glasgow Haskell Compilation System") ,("Project version","6.8.2") ,("Booter version","6.8.1") ,("Stage","2") ,("Interface file version","6") ,("Have interpreter","YES") ,("Object splitting","YES") ,("Have native code generator","NO") ,("Support SMP","YES") ,("Unregisterised","NO") ,("Tables next to code","YES") ,("Win32 DLLs","") ,("RTS ways"," debug thr thr_p thr_debug") ,("Leading underscore","NO") ]
If the libraries were built with -fvia-C, we occasionally get incompabitilities with newer versions of gcc and end up duplicating too much stuff in the split .o files. If this is happening to you, please report a bug. Otherwise, please report a bug giving as much info as possible, and we'll try to figure out what is wrong. Cheers, Simon