Stefan's last point is the key one. GHC compiles into code that doesn't use call/return instructions. Instead, it pushes explicit return addresses, and returns by doing an indirect jump. I bet this isn't what your tool expects.
Simon | -----Original Message----- | From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On | Behalf Of Stefan O'Rear | Sent: 04 October 2007 01:15 | To: Ganesh Narayan | Cc: [email protected] | Subject: Re: [Haskell] Haskell Applications - reg | | On Thu, Oct 04, 2007 at 05:32:31AM +0530, Ganesh Narayan wrote: | > [1] Am presently constructing the call graphs from disassembled application | > binaries; resultant graph includes ghc runtime library calls. | | Not necessary a good idea - Haskell's purity gives the compilers great | license to reorder and rearrange code, and the laziness causes the | dynamic call graph to differ wildly from the static call graph even | without without optimizations. GHC's use of a private stack with very | weird return conventions probably isn't helping either! | | Stefan _______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
