Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | iOS: generate archive files when compiling. | Austin Seipp | 2013-08-14 | 1 | -5/+6 | |
| | | | | | | | | | | | When cross compiling to iOS, we generate archive files which are linked into the final executable. We already *did* generate archive files - just with the wrong suffix. Fixes #8125. Authored-by: Stephen Blackheath <...@blacksapphire.com> Signed-off-by: Austin Seipp <aseipp@pobox.com> | |||||
* | Rename doDynamicToo to dynamicTooMkDynamicDynFlags | Ian Lynagh | 2013-07-30 | 1 | -2/+2 | |
| | | | | | Makes it look less likely that people will confuse what it is for (e.g. #8104). | |||||
* | Disable executable stack for the linker note, fixing #703 (again) | Edward Z. Yang | 2013-07-09 | 1 | -1/+11 | |
| | | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu> | |||||
* | Always have LLVM optimize globals | Peter Wortmann | 2013-07-05 | 1 | -2/+2 | |
| | | | | | | | | This pass is pretty cheap and eliminates the aliases generated by the LLVM backend. This in turn is required for dynamic linking to work correctly, as LLVM fails to properly attribute calls to aliased addresses. Signed-off-by: David Terei <davidterei@gmail.com> | |||||
* | Fix many ASSERT uses under Clang. | Austin Seipp | 2013-06-18 | 1 | -1/+1 | |
| | | | | | | Clang doesn't like whitespace between macro and arguments. Signed-off-by: Austin Seipp <aseipp@pobox.com> | |||||
* | Use assembler-with-cpp mode when running CPP. | Austin Seipp | 2013-06-18 | 1 | -4/+8 | |
| | | | | | | | | | | | | | | | | This is needed because Clang is very strict about C99 macro rules, which dictate that '#' in a body must have a token immediately following it for string-ification. In practice we break this all the time, because we do very weird stuff like: #define FOOBAR(xyz) \ {-# SOME PRAGMA #-} \ baz :: (xyz) \ baz = ... where the leading '#' in in the macro body clearly breaks this rule. Signed-off-by: Austin Seipp <aseipp@pobox.com> | |||||
* | Handle -opt<blah> options more consistently (#7909) | Simon Marlow | 2013-05-21 | 1 | -45/+19 | |
| | | | | | Now these are always added by the run<blah> functions in SysTools, so we never miss any out. Several cleanups resulted. | |||||
* | Update a comment; spotted by Carter Schonwald | Ian Lynagh | 2013-05-18 | 1 | -1/+1 | |
| | ||||||
* | Don't use getPackageLinkOpts on iOS; fixes #7720. | Ian Lynagh | 2013-04-27 | 1 | -1/+7 | |
| | | | | | On iOS, binaries are really static libraries, so we don't want to use flags like -lm when linking them. | |||||
* | Remove extCoreName from DynFlags | Ian Lynagh | 2013-04-26 | 1 | -25/+19 | |
| | | | | We now just pass the filename as an argument | |||||
* | Remove DynFlags's hscOutName field | Ian Lynagh | 2013-04-26 | 1 | -8/+4 | |
| | | | | We now just pass the output filename as an argument instead | |||||
* | Fix "-dynamic-too --make"; fixes #7864 | Ian Lynagh | 2013-04-26 | 1 | -26/+27 | |
| | ||||||
* | We need to setModLocation in the HscOut phase, not the Hsc phase | Ian Lynagh | 2013-04-26 | 1 | -2/+2 | |
| | | | | | The output location needs to be different for the vanilla and dynamic ways when doing -dynamic-too. Fixes dynamicToo003. | |||||
* | Add support for OSX ld's -filelist flag | Ian Lynagh | 2013-03-18 | 1 | -0/+6 | |
| | | | | | Without it, when linking the split objects for Language.Haskell.TH.Syntax, the commandline was too long when listing all the files directly. | |||||
* | Fix -dynamic-too: Outputt to the dyn file when output_spec is SpecificFile | Ian Lynagh | 2013-03-09 | 1 | -14/+13 | |
| | ||||||
* | Change how -dynamic-too works | Ian Lynagh | 2013-03-09 | 1 | -20/+11 | |
| | | | | | We now run the tail of the pipeline twice, rather than trying to do both ways in lockstep. | |||||
* | Split the Hsc phase into two subphases | Ian Lynagh | 2013-03-09 | 1 | -86/+118 | |
| | | | | | The goal is that the second subphase will be run twice when using -dynamic-too | |||||
* | A couple more small refactorings | Ian Lynagh | 2013-03-09 | 1 | -26/+24 | |
| | ||||||
* | Fix #7722: iOS runtime loader quirk. | David Terei | 2013-03-07 | 1 | -3/+6 | |
| | | | | Patch from Stephen Blackheath! | |||||
* | Refactor the pipeline/hsc interaction | Ian Lynagh | 2013-03-07 | 1 | -107/+125 | |
| | | | | | It would probably still benefit from some tidying up, but it's now much more opaque, with the control flow easier to understand. | |||||
* | Make codeOutput and friends return the filename that they have created | Ian Lynagh | 2013-03-02 | 1 | -8/+19 | |
| | ||||||
* | Simplify the definition of getOutputFilename | Ian Lynagh | 2013-03-02 | 1 | -44/+41 | |
| | ||||||
* | Don't redundantly set hscTarget to the same value it already was | Ian Lynagh | 2013-03-02 | 1 | -7/+4 | |
| | ||||||
* | Add OSiOS, and define and use platformUsesFrameworks; part of #7720 | Ian Lynagh | 2013-03-02 | 1 | -37/+28 | |
| | ||||||
* | Small refactoring: Move the end-of-pipeline move into pipeLoop | Ian Lynagh | 2013-02-28 | 1 | -27/+31 | |
| | ||||||
* | Small refactoring: Don't pass redundant stop_phase to runPipeline | Ian Lynagh | 2013-02-28 | 1 | -6/+6 | |
| | ||||||
* | Small refactoring: Don't pass a redundant output_spec around | Ian Lynagh | 2013-02-28 | 1 | -6/+5 | |
| | ||||||
* | Inline get_output_fn | Ian Lynagh | 2013-02-28 | 1 | -5/+2 | |
| | | | | It's now only used once | |||||
* | Small refactoring | Ian Lynagh | 2013-02-28 | 1 | -5/+4 | |
| | | | | | pipeLoop now returns the final dflags, rather than having runPipeline' extract it from the end state. | |||||
* | Some -dynamic-too fixes | Ian Lynagh | 2013-02-21 | 1 | -3/+15 | |
| | ||||||
* | Define __GLASGOW_HASKELL_LLVM__ when using the LLVM back end. | Geoffrey Mainland | 2013-02-01 | 1 | -0/+11 | |
| | | | | | | When compiling via LLVM, GHC now defines the CPP symbol __GLASGOW_HASKELL_LLVM__ to the version of LLVM used, e.g., __GLASGOW_HASKELL_LLVM__ is defined to be 30 for LLVM version 3.0. | |||||
* | Use throwGhcExceptionIO rather than throwGhcException in main/DriverPipeline.hs | Ian Lynagh | 2013-01-30 | 1 | -4/+4 | |
| | ||||||
* | Improve LLVM options for ARMv6 | Simon Marlow | 2013-01-25 | 1 | -3/+6 | |
| | | | | | | | - -float-abi=hard also works for arm v6 - pass -mattr=+vfp2 if we have VFP2 Submitted by: Karel Gardas <karel.gardas@centrum.cz> | |||||
* | do not use -rpath-link linker option on Solaris. | David Terei | 2013-01-24 | 1 | -1/+10 | |
| | | | | Patch from Karel Gardas <karel.gardas@centrum.cz>. | |||||
* | Add support for nto-qnx (BlackBerry 10) | Simon Marlow | 2013-01-23 | 1 | -1/+1 | |
| | | | | Submitted by: Stephen Paul Weber <singpolyma@singpolyma.net> | |||||
* | Fix llvm backend when 32bit build on 64bit OSX. (#7617) | David Terei | 2013-01-22 | 1 | -8/+8 | |
| | ||||||
* | If -msse is specified, pass it to the LLVM backend | Johan Tibell | 2013-01-17 | 1 | -1/+6 | |
| | ||||||
* | Merge branch 'master' of https://github.com/ghc/ghc | Johan Tibell | 2013-01-11 | 1 | -54/+81 | |
|\ | ||||||
| * | Make "happensBefore" take account of whether we are unregisterised | Ian Lynagh | 2013-01-11 | 1 | -5/+6 | |
| | | | | | | | | | | If we are not unregisterised then we skip the HCc phase. Fixes #7563. | |||||
| * | dynamic-too progress | Ian Lynagh | 2013-01-11 | 1 | -6/+28 | |
| | | ||||||
| * | Refactoring: No functional change | Ian Lynagh | 2013-01-10 | 1 | -49/+53 | |
| | | | | | | | | Moved some code from runPipeline' into runPipeline. | |||||
* | | Add preprocessor defines when SSE is enabled | Johan Tibell | 2013-01-10 | 1 | -0/+8 | |
|/ | | | | | | | | | | | This will add the following preprocessor defines when Haskell source files are compiled: * __SSE__ - If any version of SSE is enabled * __SSE2__ - If SSE2 or greater is enabled * __SSE4_2_ - If SSE4.2 is enabled Note that SSE2 is enabled by default on x86-64. | |||||
* | Support the MergeStub phase when building with dynamic-too | Ian Lynagh | 2013-01-10 | 1 | -0/+6 | |
| | ||||||
* | Call gcc with '-x assembler-with-cpp' instead of '-x assembler'. | Erik de Castro Lopo | 2012-12-16 | 1 | -1/+1 | |
| | | | | | | On x86 and powerpc, the second form above was ignoring all the CPP lines and hence trying to compile x86 asm on powerpc and powerpc asm on x86. | |||||
* | Implement the slow mode of -dynamic-too | Ian Lynagh | 2012-12-14 | 1 | -2/+23 | |
| | | | | | I'm not sure if making an entirely new HscEnv is too large a hammer, but it works for now. | |||||
* | Add a comment | Ian Lynagh | 2012-12-12 | 1 | -1/+2 | |
| | ||||||
* | Implement the -dynamic-too optimised path for the NCG | Ian Lynagh | 2012-12-11 | 1 | -4/+11 | |
| | | | | | | | | We don't yet have the slow path, for when we have to fall back to separate compilation. We also only currently handle the case qhere we're compiling Haskell code with the NCG. | |||||
* | Use a MonadIO instance instead of an 'io' function | Ian Lynagh | 2012-12-05 | 1 | -62/+66 | |
| | ||||||
* | Replace all uses of ghcError with throwGhcException and purge ghcError. | Erik de Castro Lopo | 2012-11-30 | 1 | -3/+3 | |
| | ||||||
* | Fix building on Sparc/Solaris with non-GNU linker; fixes #5407 | Ian Lynagh | 2012-11-23 | 1 | -1/+3 | |
| | | | | Patch from maeder. |