Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix #5636: Use clang as assembler on OSX when LLVM >= 3.0 | David Terei | 2011-11-21 | 1 | -3/+24 | |
| | | | | | | LLVM doesn't support the OS X system assembler anymore so we must use their assembler through clang. Also improved error messages when various LLVM tools can't be run. | |||||
* | Convert the HAVE_GNU_NONEXEC_STACK conditional into Haskell | Ian Lynagh | 2011-10-19 | 1 | -0/+2 | |
| | ||||||
* | Add "have subsections via symbols" to the Platform type | Ian Lynagh | 2011-10-19 | 1 | -1/+3 | |
| | ||||||
* | Put the target platform in the settings file | Ian Lynagh | 2011-10-19 | 1 | -0/+13 | |
| | ||||||
* | With -v, we now print the commandlines that get run by askCc | Ian Lynagh | 2011-08-06 | 1 | -7/+13 | |
| | ||||||
* | Fix #5289 (loading libstdc++.so in GHCi), and also fix some other | Simon Marlow | 2011-08-03 | 1 | -25/+59 | |
| | | | | | | | | | | | | | linking scenarios. We weren't searching for .a archives to satisfy -lfoo options on the GHCi command line, for example. I've tidied up the code in this module so that dealing with -l options on the command line is consistent with the handling of extra-libraries for packages. While I was here I moved some stuff out of Linker.hs that didn't seem to belong here: dataConInfoPtrToName (now in new module DebuggerUtils) and lessUnsafeCoerce (now in DynamicLoading, next to its only use) | |||||
* | -optm is now deprecated | Ian Lynagh | 2011-07-03 | 1 | -1/+0 | |
| | ||||||
* | Warn if LLVM tools aren't installed (#5169) | David Terei | 2011-06-29 | 1 | -1/+3 | |
| | ||||||
* | Move more commands into the settings file | Ian Lynagh | 2011-06-22 | 1 | -17/+7 | |
| | ||||||
* | Move some Windows special-casing out of the compiler | Ian Lynagh | 2011-06-22 | 1 | -5/+10 | |
| | | | | | | This is a little cleaner, and removes a barrier to cross-compiling to/from Windows. There are a few more tools that still need to be handled in the same way. | |||||
* | Fix some validation errors | David Terei | 2011-05-31 | 1 | -2/+1 | |
| | ||||||
* | LLVM: Figure out llvm version we are calling | David Terei | 2011-05-30 | 1 | -0/+40 | |
| | ||||||
* | deprecate the -n option (#5180) | Simon Marlow | 2011-05-25 | 1 | -6/+2 | |
| | ||||||
* | Unicode fixes, taking into account PEP383 support | Max Bolingbroke | 2011-05-14 | 1 | -9/+10 | |
| | ||||||
* | LLVM: Support LLVM 2.9 (#5103) | David Terei | 2011-05-04 | 1 | -1/+1 | |
| | | | | | Instead of using the GNU As subsection feature on Linux/Windows for TNTC we now use the LLVM Mangler on all platforms. | |||||
* | Add "C compiler flags" to settings file | Ian Lynagh | 2011-04-29 | 1 | -6/+13 | |
| | | | | | | I've made cpp_args include gcc_args. It effectively didn't before, but seeing as gcc_args sometimes has -D flags in, I think doing so is the right thing to do. | |||||
* | Rename "GCC command" to "C compiler command" | Ian Lynagh | 2011-04-23 | 1 | -1/+1 | |
| | | | | | Makes it consistent with the existing "C compiler flags" field. | |||||
* | Move gcc's and perl's location to the settings file | Ian Lynagh | 2011-04-22 | 1 | -13/+15 | |
| | | | | They were hardcoded in Config.hs | |||||
* | Move the opt* fields from DynFlags into the Settings type | Ian Lynagh | 2011-04-22 | 1 | -1/+15 | |
| | | | | The pgm* fields are already in Settings | |||||
* | Split off a Settings type from DynFlags | Ian Lynagh | 2011-04-22 | 1 | -28/+25 | |
| | ||||||
* | Rename "extra-gcc-opts" to "settings", and start generalising it | Ian Lynagh | 2011-04-21 | 1 | -6/+15 | |
| | ||||||
* | tweak to cleanTempFilesExcept | Simon Marlow | 2011-04-11 | 1 | -1/+1 | |
| | ||||||
* | Force re-linking if the options have changed (#4451) | Simon Marlow | 2011-04-08 | 1 | -0/+25 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | |||||
* | Remove dead code, now that -fvia-c is a no-op | Ian Lynagh | 2011-04-04 | 1 | -13/+3 | |
| | ||||||
* | Replace uses of the old catch function with the new one | Ian Lynagh | 2010-12-18 | 1 | -5/+5 | |
| | ||||||
* | Use showCommandForUser when showing tracing commands | Ian Lynagh | 2010-09-28 | 1 | -2/+7 | |
| | ||||||
* | Remove (most of) the FiniteMap wrapper | Ian Lynagh | 2010-09-14 | 1 | -5/+5 | |
| | | | | | | | | We still have insertList, insertListWith, deleteList which aren't in Data.Map, and foldRightWithKey which works around the fold(r)WithKey addition and deprecation. | |||||
* | Remove LlvmAs phase as the llvm opt tool now handles this phase | David Terei | 2010-06-22 | 1 | -9/+1 | |
| | | | | | | | This phase originally invoked the llvm-as tool that turns a textual llvm assembly file into a bit code file for the rest of llvm to deal with. Now the llvm opt tool can do this itself, so we don't need to use llvm-as anymore. | |||||
* | Add new LLVM code generator to GHC. (Version 2) | David Terei | 2010-06-15 | 1 | -1/+27 | |
| | | | | | | | | | | | | | | | | | | This was done as part of an honours thesis at UNSW, the paper describing the work and results can be found at: http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf A Homepage for the backend can be found at: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM Quick summary of performance is that for the 'nofib' benchmark suite, runtimes are within 5% slower than the NCG and generally better than the C code generator. For some code though, such as the DPH projects benchmark, the LLVM code generator outperforms the NCG and C code generator by about a 25% reduction in run times. | |||||
* | Change another / to </> to avoid building paths containing \/ | Ian Lynagh | 2010-05-18 | 1 | -1/+1 | |
| | | | | This will hopefully fix #2889. | |||||
* | Use </> rather than ++ "/" | Ian Lynagh | 2010-03-25 | 1 | -1/+1 | |
| | | | | | | This stops us generating paths like c:\foo\/ghc460_0/ghc460_0.o which windres doesn't understand. | |||||
* | Use the ghc-perl tarball on Windows, instead of the msys one | Ian Lynagh | 2009-11-20 | 1 | -1/+2 | |
| | ||||||
* | Make a mingw tree from mingw tarballs | Ian Lynagh | 2009-10-23 | 1 | -1/+1 | |
| | ||||||
* | Fix invoking windres in a directory containing spaces | Ian Lynagh | 2009-09-27 | 1 | -3/+17 | |
| | ||||||
* | Change the representation of the package database | Simon Marlow | 2009-09-10 | 1 | -7/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | - the package DB is a directory containing one file per package instance (#723) - there is a binary cache of the database (#593, #2089) - the binary package is now a boot package - there is a new package, bin-package-db, containing the Binary instance of InstalledPackageInfo for the binary cache. Also included in this patch - Use colour in 'ghc-pkg list' to indicate broken or hidden packages Broken packages are red, hidden packages are Colour support comes from the terminfo package, and is only used when - not --simple-output - stdout is a TTY - the terminal type has colour capability - Fix the bug that 'ghc-pkg list --user' shows everything as broken | |||||
* | Remove GHC's haskell98 dependency | Ian Lynagh | 2009-07-24 | 1 | -1/+1 | |
| | ||||||
* | Move showOpt into DynFlags | Ian Lynagh | 2009-07-16 | 1 | -4/+0 | |
| | ||||||
* | Remove unused imports | Ian Lynagh | 2009-07-07 | 1 | -1/+0 | |
| | ||||||
* | Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263 | Max Bolingbroke | 2009-07-01 | 1 | -2/+2 | |
| | ||||||
* | copyFileWithHeader: use binary Handles | Simon Marlow | 2009-06-15 | 1 | -6/+7 | |
| | | | | Fixes failure when Haddocking Data.Monoid in libraries/base | |||||
* | GHC new build system megapatch | Ian Lynagh | 2009-04-26 | 1 | -142/+58 | |
| | ||||||
* | Don't put a trailing / on the mingw include path | Ian Lynagh | 2009-03-10 | 1 | -1/+1 | |
| | ||||||
* | If we are given -Werror, then pass -Werror to cpp | Ian Lynagh | 2009-02-26 | 1 | -2/+5 | |
| | ||||||
* | SysTools no longer needs -fno-cse | Ian Lynagh | 2008-12-11 | 1 | -3/+0 | |
| | ||||||
* | Make the lists of files and directories to be cleaned-up non-global | Ian Lynagh | 2008-12-11 | 1 | -16/+16 | |
| | | | | | They still need to be stored in IORefs, as the exception handler needs to know what they all are. | |||||
* | Perform case-insensitive matching of path components in getBaseDir on ↵ | Neil Mitchell | 2008-11-05 | 1 | -3/+4 | |
| | | | | Windows (Fixes bug 2743) | |||||
* | Make the matching of the filename ghc.exe case insensitive, fixes bug #2603 | Neil Mitchell | 2008-09-16 | 1 | -1/+1 | |
| | ||||||
* | When passing gcc -B, also tell it where the mingw include directory is | Ian Lynagh | 2008-09-18 | 1 | -2/+3 | |
| | ||||||
* | Follow extensible exception changes | Ian Lynagh | 2008-07-30 | 1 | -6/+6 | |
| | ||||||
* | update the comments about how we find $topdir | Simon Marlow | 2008-07-25 | 1 | -33/+22 | |
| |