- Sep 13, 2017
-
-
Hopefully we can get rid of libtool, by using ar only Depends on: D3579 Test Plan: validate Reviewers: austin, hvr, bgamari, erikd Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D3721
-
- Sep 06, 2017
-
-
The LLVM backend shells out to LLVMs `opt` and `llc` tools. This clean up introduces a shared data structure to carry the arguments we pass to each tool so that corresponding flags are next to each other. It drops the hard coded data layouts in favor of using `-mtriple` and have LLVM infer them. Furthermore we add `clang` as a proper tool, so we don't rely on assuming that `clang` is called `clang` on the `PATH` when using `clang` as the assembler. Finally this diff also changes the type of `optLevel` from `Int` to `Word`, as we do not have negative optimization levels. Reviewers: erikd, hvr, austin, rwbarton, bgamari, kavon Reviewed By: kavon Subscribers: michalt, Ericson2314, ryantrinkle, dfeuer, carter, simonpj, kavon, simonmar, thomie, erikd, snowleopard Differential Revision: https://phabricator.haskell.org/D3352
-
- Jul 12, 2017
-
-
This is a sure sign that something is terribly wrong. We also now verify that the word size that the binary distribution expects matches the word size produced by the local target toolchain. Finally we rename WordSize to TargetWordSize, since non-host/target qualified quantities are terribly confusing. Reviewers: austin, hvr, Phyx Reviewed By: Phyx Subscribers: Phyx, rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D3711
-
- Dec 27, 2016
-
-
The Power ISA says the result of a division by zero is undefined. So ignore stdout on PowerPC 64-bit systems. Disable ext-interp tests on 64-bit PowerPC. We don't have support for PowerPC 64-bit ELF in the RTS linker, which is needed for the external interpreter. Test Plan: ./validate Reviewers: austin, simonmar, hvr, erikd, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2782
-
- Nov 11, 2016
-
-
Certain distributions (e.g. Debian and Ubuntu) have enabled PIE be default in their GCC packaging. This breaks our abuse of GCC as a linker which requires that we pass -Wl,-r, which is incompatible with PIE (since the former implies that we are generating a relocatable object file and the latter an executable). This is a second attempt at D2691. This attempt constrasts with D2691 in that it preserves the "does gcc support -no-pie" flag in settings, allowing this to be reconfigured by `configure` during installation of a binary distribution. Thanks for @rwbarton for drawing attention to this issue. Test Plan: Validate Reviewers: austin, hvr, erikd Reviewed By: erikd Subscribers: thomie, rwbarton, erikd Differential Revision: https://phabricator.haskell.org/D2693 GHC Trac Issues: #12759
-
- Dec 28, 2014
-
-
Erik de Castro Lopo authored
Summary: * Throw an error when cross-compiling without a target definition. When cross compiling via LLVM, a target 'datalayout' and 'triple' must be defined or LLVM will generate code for the compile host instead of the compile target. * Add aarch64-unknown-linux-gnu target. The datalayout and triple lines were found by using clang to compile a small C program and -emit-llvm to get the LLVM IR output. Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com> Test Plan: validate Reviewers: rwbarton, carter, hvr, bgamari, austin Reviewed By: austin Subscribers: carter, thomie, garious Differential Revision: https://phabricator.haskell.org/D585 GHC Trac Issues: #9895
-
- Jul 02, 2014
-
-
Carter Schonwald authored
Summary: Allow the CPP program and flag choices for GHC be configured via the the ghc settings file Test Plan: ran validate yesterday Reviewers: hvr, austin, mzero, simonmar Reviewed By: austin, mzero, simonmar Subscribers: mzero, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D26
-
- Aug 28, 2013
-
-
Austin Seipp authored
iOS has some particular constraints about how applications can be built: * We must generate a static library (.a) since XCode does the final link. * We need to carefully give the right set of arguments to libtool in the case we're generating an archive. * Dynamic linking isn't supported. * It can only be done on OS X. This patch cleans up all of the above. We add a new flag `-staticlib` (only supported on Darwin) that allows us to produce archive files using libtool, and a -pgmlibtool flag to control which 'libtool' executable to use. This fixes #8127. I believe this is the last piece missing from the iOS cross compiler. Authored-by:
Luke Iannini <lukexi@me.com> Authored-by:
Maxwell Swadling <maxwellswadling@gmail.com> Authored-by:
Stephen Blackheath <...@blacksapphire.com> Signed-off-by:
Austin Seipp <aseipp@pobox.com>
-
- Mar 18, 2013
-
-
Ian Lynagh authored
Without it, when linking the split objects for Language.Haskell.TH.Syntax, the commandline was too long when listing all the files directly.
-
- Feb 25, 2013
-
-
Gabor Greif authored
This fixes certain older GCCs which do not accept link options when assembling or compiling: ppc_85xx-gcc: --hash-size=31: linker input file unused because linking not done ppc_85xx-gcc: --reduce-memory-overheads: linker input file unused because linking not done and diagnose this to stderr.
-
- Jan 17, 2013
-
-
Simon Marlow authored
We have two cases: 1. building a cross-compiler 2. compiling GHC to run on a foreign platform These two are done with almost the same setup: (1) is the stage 1 compiler, and (2) is the stage 2 compiler, when CrossCompiling=YES. The only difference between (1) and (2) is that you if you set up the build for (1), then it stops before stage 2 and you can 'make install' to install stage 1. Unfortunately, (2) didn't work, and the build system code needed some tidying up. Change to the way the build is set up: Before ------ To build a cross-compiler: ./configure --target=<..> To compile a foreign GHC: ./configure --host=<..> --target=<..> Now --- To build a cross-compiler: ./configure --target=<..> And set "Stage1Only=YES" in mk/build.mk To compile a foreign GHC: ./configure --target=<..>
-
- Aug 07, 2012
-
-
Ian Lynagh authored
To explicitly choose whether you want an unregisterised build you now need to use the "--enable-unregisterised"/"--disable-unregisterised" configure flags.
-
- Aug 05, 2012
-
-
Ian Lynagh authored
Related to #4862
-
Ian Lynagh authored
They were getting baked into Config.hs before.
-
- Jan 14, 2012
-
-
Ian Lynagh authored
We want to use the inplace ar, rather than whichever ar the machine that we build on happens to have.
-
- Jan 10, 2012
-
-
David Terei authored
Patch from Karel Gardas!
-
- Jan 04, 2012
-
-
Simon Marlow authored
Now target32bit works for all targets without any manual intervention, as it should do. #5735 was a portability regression.
-
- Dec 08, 2011
-
-
PHO authored
.ident directives are usually ignored by as(1), and in some cases (like Darwin/PPC) they even raise an error.
-
- Oct 19, 2011
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- Jun 22, 2011
-
-
Ian Lynagh authored
-
Ian Lynagh authored
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.
-
- Apr 29, 2011
-
-
Ian Lynagh authored
-
Ian Lynagh authored
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.
-
- Apr 23, 2011
-
-
Ian Lynagh authored
-
Ian Lynagh authored
Makes it consistent with the existing "C compiler flags" field.
-
- Apr 22, 2011
-
-
Ian Lynagh authored
They were hardcoded in Config.hs
-
- Apr 21, 2011
-
-
Ian Lynagh authored
-