On Sun, 2011-08-28 at 17:47 +0100, Thomas Schilling wrote: > I don't think you can link GHCi with binaries compiled in profiling > mode. You'll have to build an executable.
Okay... sorry to be obtuse, but what exactly does this mean? I'm not using GHCi at all: I *am* in an executable built with profiling info. I'm doing this: dflags <- GHC.getSessionDynFlags let dflags' = dflags { GHC.ghcMode = GHC.CompManager, GHC.ghcLink = GHC.LinkInMemory, GHC.hscTarget = GHC.HscAsm, GHC.optLevel = 2, GHC.safeHaskell = GHC.Sf_Safe, GHC.packageFlags = [GHC.TrustPackage "gloss" ], GHC.log_action = addErrorTo codeErrors } GHC.setSessionDynFlags dflags' target <- GHC.guessTarget filename Nothing GHC.setTargets [target] r <- fmap GHC.succeeded (GHC.load GHC.LoadAllTargets) and then if r is true: mods <- GHC.getModuleGraph let mainMod = GHC.ms_mod (head mods) Just mi <- GHC.getModuleInfo mainMod let tyThings = GHC.modInfoTyThings mi let var = chooseTopLevel varname tyThings session <- GHC.getSession v <- GHC.liftIO $ GHC.getHValue session (GHC.varName var) return (unsafeCoerce# v) Here, I know that chooseTopLevel is working, but the getHValue part only works without profiling. So is this still hopeless, or do I just need to find the right additional flags to add to dflags'? -- Chris Smith _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe