- 11 Apr, 2011 1 commit
-
-
Simon Marlow authored
-
- 09 Apr, 2011 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
Based on the darcs patch from Greg Wright in #4828.
-
Ian Lynagh authored
-
- 08 Apr, 2011 6 commits
-
-
Ian Lynagh authored
Part of the patch from #5062, from Greg Wright.
-
Ian Lynagh authored
We are now more lenient in parsing the packages file, and we don't use any GNUisms. Based on a patch from Matthias Kilian.
-
kgardas authored
-
Simon Marlow authored
A common sequence of commands (at least for me) is this: $ ghc hello 1 of 1] Compiling Main ( hello.hs, hello.o ) Linking hello ... $ ./hello +RTS -s hello: Most RTS options are disabled. Link with -rtsopts to enable them. $ ghc hello -rtsopts $ grr, nothing happened. I could use -fforce-recomp, but if this was a large program I probably don't want to recompile it all again, so: $ rm hello removed `hello' $ ghc hello -rtsopts Linking hello ... $ ./hello +RTS -s ./hello +RTS -s Hello World! 51,264 bytes allocated in the heap 2,904 bytes copied during GC 43,808 bytes maximum residency (1 sample(s)) 17,632 bytes maximum slop etc. With this patch, GHC notices when the options have changed and forces a relink, so you don't need to rm the binary or use -fforce-recomp. This is done by adding the pertinent stuff to the binary in a special section called ".debug-ghc-link-info": $ readelf -p .debug-ghc-link-info ./hello String dump of section 'ghc-linker-opts': [ 0] (["-lHSbase-4.3.1.0","-lHSinteger-gmp-0.2.0.2","-lgmp","-lHSghc-prim-0.2.0.0","-lHSrts","-lm","-lrt","-ldl","-u","ghczmprim_GHCziTypes_Izh_static_info","-u","ghczmprim_GHCziTypes_Czh_static_info","-u","ghczmprim_GHCziTypes_Fzh_static_info","-u","ghczmprim_GHCziTypes_Dzh_static_info","-u","base_GHCziPtr_Ptr_static_info","-u","base_GHCziWord_Wzh_static_info","-u","base_GHCziInt_I8zh_static_info","-u","base_GHCziInt_I16zh_static_info","-u","base_GHCziInt_I32zh_static_info","-u","base_GHCziInt_I64zh_static_info","-u","base_GHCziWord_W8zh_static_info","-u","base_GHCziWord_W16zh_static_info","-u","base_GHCziWord_W32zh_static_info","-u","base_GHCziWord_W64zh_static_info","-u","base_GHCziStable_StablePtr_static_info","-u","ghczmprim_GHCziTypes_Izh_con_info","-u","ghczmprim_GHCziTypes_Czh_con_info","-u","ghczmprim_GHCziTypes_Fzh_con_info","-u","ghczmprim_GHCziTypes_Dzh_con_info","-u","base_GHCziPtr_Ptr_con_info","-u","base_GHCziPtr_FunPtr_con_info","-u","base_GHCziStable_StablePtr_con_info","-u","ghczmprim_GHCziTypes_False_closure","-u","ghczmprim_GHCziTypes_True_closure","-u","base_GHCziPack_unpackCString_closure","-u","base_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConcziIO_ensureIOManagerIsRunning_closure","-u","base_GHCziConcziSync_runSparks_closure","-u","base_GHCziConcziSignal_runHandlers_closure","-lHSffi"],Nothing,RtsOptsAll,False,[],[]) And GHC itself uses the readelf command to extract it when deciding whether to relink. The reason for the name ".debug-ghc-link-info" is that sections beginning with ".debug" are removed automatically by strip. This currently only works on Linux; Windows and OS X still have the old behaviour.
-
Ian Lynagh authored
By default, git will clone in autocrlf mode, which on Windows means we get '\r's added to the ghc-packages files.
-
Simon Marlow authored
not the _stub.c file, because the latter is now created as a temporary file.
-
- 07 Apr, 2011 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 06 Apr, 2011 14 commits
-
-
http://darcs.haskell.org/ghcIan Lynagh authored
-
Ian Lynagh authored
You can set up remotes and give them as an argument "./sync-all pull someremote" instead. The old way meant that the patches would be pulled, but remotes/origin/master wouldn't be updated.
-
Ian Lynagh authored
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Simon Marlow authored
* origin: Revert "Suppress dumpTcRn when -dno-debug-output is enabled."
-
https://github.com/thoughtpolice/ghcSimon Marlow authored
* 'trac_5025' of https://github.com/thoughtpolice/ghc: Teach GHC to compile objective-c files; trac #5025 Conflicts: compiler/main/DriverPipeline.hs
-
Edward Z. Yang authored
This reverts commit 12929a21.
-
Simon Marlow authored
-
tibbe authored
-
Simon Marlow authored
-
Simon Marlow authored
to the way stub files were handled.
-
Simon Marlow authored
in a LANGUAGE pragma, but it is parsed by parseDynamicFlags, and it can be set per-session in the GHC API. We don't have a name for this type of flag, but from the user's point of view "static" is probably less confusing.
-
tibbe authored
-
tibbe authored
-
- 05 Apr, 2011 13 commits
-
-
Thomas Schilling authored
-
Edward Z. Yang authored
This change may constitute a substantial performance hit, due to the new creation of a set for every instruction we emit. Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
Now GHC still generates the _stub.c files, but the object file is automatically merged into the main .o file for a module. This means that build systems (including GHC's own) no longer need to worry about looking for _stub.o files and including them when linking. I had to do lots of refactoring in DriverPipeline to make this work; now there's a monad to carry around all the information, and everything is a lot tidier. The _stub.c is now created as a temporary file and removed after compilation (unless the -keep-tmp-files flag is on).
-
Simon Marlow authored
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Simon Marlow authored
-
Simon Marlow authored
e.g. ./sync-all -r ~/git/ghc-working remote add working ./sync-all fetch working
-
Simon Marlow authored
To add and delete remote branches from all subrepos. e.g. ./sync-all -r ~/git/ghc-working remote add working ./sync-all remote rm working
-
Simon Marlow authored
-