Fixed! Thanks for the recommendation. I'll merge this with the 7.8 branch too.
On Mon, Feb 17, 2014 at 3:03 AM, Simon Peyton Jones <[email protected]> wrote: > Austin, eek... you really need a Note [Need to initialise the hooks], a > significant comment, and an explicit mention of this ticket. Otherwise > someone in 2 yrs time will have no clue why that lonely call to defaultsHook > is so important, nor will be confident enough to remove it when the hookery > is done better. > > I have gotten into habit of writing a Note about virtually any fix. After > all, it is by definition not obvious or we'd have got it right the first > time. And I have too often re-invented the wheel when looking at Note-free > code; or thanked the author when I read a Note and thought "ah, *that's* > why!". I wrote up some of this here > https://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle > > I don't think the commit log is enough. git annotate may or may not lead you > to the right comment, depending on how heavily modified that code is. > > Thanks > > Simon > > | -----Original Message----- > | From: ghc-commits [mailto:[email protected]] On Behalf Of > | [email protected] > | Sent: 17 February 2014 07:49 > | To: [email protected] > | Subject: [commit: ghc] master: Fix #8754 in a round-about way. (5023c91) > | > | Repository : ssh://[email protected]/ghc > | > | On branch : master > | Link : > | http://ghc.haskell.org/trac/ghc/changeset/5023c91780e90947680fe0640f7564 > | a4f6448bea/ghc > | > | >--------------------------------------------------------------- > | > | commit 5023c91780e90947680fe0640f7564a4f6448bea > | Author: Austin Seipp <[email protected]> > | Date: Sun Feb 16 19:10:16 2014 -0600 > | > | Fix #8754 in a round-about way. > | > | For some reason on OS X, it seems like -Bsymbolic (which we use for > | hooks into the RTS) isn't working, which results in #8754, where > | stats > | don't work because defaultHooks doesn't initialize the stats flag. > | This > | seems to work on Linux static/dynamically, but only on OS X > | statically. > | > | After talking with Simon, really, the entire hooks thing is a bit > | fragile. For now, we just work around it (since GHCi is dynamically > | linked) by calling into the defaultHooks ourselves when GHC starts. > | > | Signed-off-by: Austin Seipp <[email protected]> > | > | > | >--------------------------------------------------------------- > | > | 5023c91780e90947680fe0640f7564a4f6448bea > | ghc/Main.hs | 4 ++++ > | 1 file changed, 4 insertions(+) > | > | diff --git a/ghc/Main.hs b/ghc/Main.hs > | index 868042b..1aa6553 100644 > | --- a/ghc/Main.hs > | +++ b/ghc/Main.hs > | @@ -1,4 +1,5 @@ > | {-# OPTIONS -fno-warn-incomplete-patterns -optc-DNON_POSIX_SOURCE #-} > | +{-# LANGUAGE ForeignFunctionInterface #-} > | > | ----------------------------------------------------------------------- > | ------ > | -- > | @@ -76,6 +77,7 @@ import Data.Maybe > | > | main :: IO () > | main = do > | + defaultsHook > | hSetBuffering stdout LineBuffering > | hSetBuffering stderr LineBuffering > | GHC.defaultErrorHandler defaultFatalMessager defaultFlushOut $ do @@ > | -818,3 +820,5 @@ unknownFlagsErr fs = throwGhcException $ UsageError $ > | concatMap oneError fs > | (case fuzzyMatch f (nub allFlags) of > | [] -> "" > | suggs -> "did you mean one of:\n" ++ unlines (map (" " ++) > | suggs)) > | + > | +foreign import ccall safe "defaultsHook" defaultsHook :: IO () > | > | _______________________________________________ > | ghc-commits mailing list > | [email protected] > | http://www.haskell.org/mailman/listinfo/ghc-commits > _______________________________________________ > ghc-devs mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/ghc-devs > -- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ _______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
