| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Mostly d -> g (matching DynFlag -> GeneralFlag).
Also renamed if* to when*, matching the Haskell if/when names
|
|
|
|
| |
We instead link objects into a temporary DLL and dlopen that
|
|
|
|
|
| |
I've put mkSOName in HscTypes for now; I'm not sure what the best place
for it is.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required various build system changes to get the build to go
through.
In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs
to find their libraries. In the future, we might change the inplace tree
to be the same shape as an installed tree instead. However, this would
mean changing the way we do installation, as currently we use cabal's
installation methods to install the libraries, but that only works if
the libraries are under libraries/foo/dist-install/build/..., rather
than in inplace/lib/...
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We used to use a list lookup that couldn't fail. Now we just use
functions.
There were 3 overlapping entries for WayPar; I've commented out the ones
that were shadowed for now.
|
|
|
|
|
| |
-rtsopts has no effect with -shared, so we should emit a warning. See
#5373 and #7177.
|
|
|
|
|
|
|
| |
Supresses an ugly warning from gcc 4.6+ saying this is a C/ObjC flag
only.
Signed-off-by: Austin Seipp <mad.one@gmail.com>
|
|
|
|
| |
Related to #4862
|
| |
|
|
|
|
| |
They were getting baked into Config.hs before.
|
|
|
|
|
|
| |
Hopefully I've kept the logic the same, and we now generate warnings if
the user does -fno-PIC but we ignore them (e.g. because they're on OS X
amd64).
|
|
|
|
|
| |
We now handle the preprocessor options the same way as the gcc options
(picCCOpts).
|
|
|
|
| |
We were pointlessly going from String to SDoc and back again
|
| |
|
| |
|
|
|
|
|
|
|
| |
A side-effect is that we can no longer use the LogAction in
defaultErrorHandler, as we don't have DynFlags at that point.
But all that defaultErrorHandler did is to print Strings as
SevFatal, so now it takes a 'FatalMessager' instead.
|
| |
|
|
|
|
|
|
|
| |
This patch enhances Platform's ArchARM to include ARM ABI value. It also
tweaks configure machinery to detect hard-float ABI and to set it wherever
needed. Finally when hard-float ABI is in use, pass appropriate compiler
option to the LLVM's llc. Fixes #5914.
|
| |
|
|
|
|
|
|
| |
createDirectoryHierarchy consisted of an existence test followed by
createDirectory, which failed if that directory was creted just after
the test. createDirectoryifMissing does not have this problem.
|
|
|
|
|
|
| |
Fixes gas errors when -g is enabled:
Error: can't resolve `.debug-ghc-link-info' {.debug-ghc-link-info section} - `.Ltext0' {.text section}
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We no longer have many separate, clashing getDynFlags functions
I've given each GhcMonad its own HasDynFlags instance, rather than
using UndecidableInstances to make a GhcMonad m => HasDynFlags m
instance.
|
|
|
|
| |
We now require GHC >= 7.0, which has the behaviour we want.
|
|
|
|
|
| |
Based on a patch from Arnaud Degroote <degroote@NetBSD.org> in
trac #5480.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Currently it is appearing on stderr, whereas the rest of the messages
from --make go to stdout, this change fixes that.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than have main() be statically compiled as part of the RTS, we
now generate it into the tiny C file that we compile when linking a
binary.
The main motivation is that we want to pass the settings for the
-rtsotps and -with-rtsopts flags into the RTS, rather than relying on
fragile linking semantics to override the defaults, which don't work
with DLLs on Windows (#5373). In order to do this, we need to extend
the API for initialising the RTS, so now we have:
void hs_init_ghc (int *argc, char **argv[], // program arguments
RtsConfig rts_config); // RTS configuration
hs_init_ghc() can optionally be used instead of hs_init(), and allows
passing in configuration options for the RTS. RtsConfig is a struct,
which currently has two fields:
typedef struct {
RtsOptsEnabledEnum rts_opts_enabled;
const char *rts_opts;
} RtsConfig;
but might have more in the future. There is a default value for the
struct, defaultRtsConfig, the idea being that you start with this and
override individual fields as necessary.
In fact, main() was in a separate static library, libHSrtsmain.a.
That's now gone.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Now that we always link in an extra object, we may as well always
define rtsOptsEnabled in it, rather than having a default value in
rts/hooks/RtsOptsEnabled.c.
|
|
|
|
|
| |
Without it we get warnings like:
ld: warning: could not create compact unwind for .LFB3: non-standard register 5 being saved in prolog
|
|
|
|
|
|
|
|
| |
ld gives loads of warnings like:
ld: warning: text reloc in _base_GHCziArr_unsafeArray_info to _base_GHCziArr_unsafeArray_closure
when linking any program. We're not sure whether this is something we
ought to fix, but for now we use the -Wl,-read_only_relocs,suppress flag
to silence them.
|