| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- No need to distinguish between gcc-llvm and clang. First of all,
gcc-llvm is quite old and surely unmaintained by now. Second of all,
none of the code actually care about that distinction!
Now, it does make sense to consider C multiple frontends for LLVMs in
the form of clang vs clang-cl (same clang, yes, but tweaked
interface). But this is better handled in terms of "gccish vs
mvscish" and "is LLVM", yielding 4 combinations. Therefore, I don't
think it is useful saving the existing code for that.
- Get the remaining CC_LLVM_BACKEND, and also TABLES_NEXT_TO_CODE in
mk/config.h the normal way, rather than hacking it post-hoc. No point
keeping these special cases around for now reason.
- Get rid of hand-rolled `die` function and just use `AC_MSG_ERROR`.
- Abstract check + flag override for unregisterised and tables next to
code.
Oh, and as part of the above I also renamed/combined some variables
where it felt appropriate.
- GccIsClang -> CcLlvmBackend. This is for `AC_SUBST`, like the other
Camal case ones. It was never about gcc-llvm, or Apple's renamed clang,
to be clear.
- llvm_CC_FLAVOR -> CC_LLVM_BACKEND. This is for `AC_DEFINE`, like the
other all-caps snake case ones. llvm_CC_FLAVOR was just silly
indirection *and* an odd name to boot.
|
|
|
|
|
| |
d679ca43e7477284d733b94ff542be5363be3353 meant to remove it but did not
finish the job.
|
|
|
|
|
| |
We no longer support booting from older GHC since
527bcc41630918977c73584d99125ff164400695.
|
|
|
|
| |
Unused outside it since b6be81b841e34ca45b3549c4c79e886a8761e59a.
|
|
|
|
|
| |
It looks like it's been unused since at least
34cc75e1a62638f2833815746ebce0a9114dc26b.
|
|
|
|
| |
These are needed by the user guide documentation. Fixes #17260.
|
|
|
|
|
| |
commit 795986aaf33e ("Remove unneeded CPP now that GHC 8.6 is the minimum")
broke the 8.4 build.
|
| |
|
|
|
|
|
|
|
|
|
| |
Some where using `True` / `False`, a legacy of when they were in
`Config.hs`. See #16914 / d238d3062a9858 for a similar problem.
Also clean up the configure variables names for consistency and clarity
while we're at it. "Target" makes clear we are talking about outputted
code, not where GHC itself runs.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the change ./configure detected numa support automatically
withoun a nice way to disable autodetection.
The change adds `--enable-numa` / `--disable-numa` switch to
override the default. If `--enable-numa` is passed and `libnuma`
is not present then configure will fail.
Reported-by: Sergey Alirzaev
Bug: https://github.com/gentoo-haskell/gentoo-haskell/issues/955
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the change
./configure --disable-dwarf-debug
enabled DWARF debugging unconditionally.
This happened due to use of 5-argument form of `AC_ARG_ENABLE`
without actually checking the passed `$enableval` parameter:
```
AC_ARG_ENABLE(dwarf-unwind,
[AC_HELP_STRING([--enable-dwarf-unwind],
[Enable DWARF unwinding support in the runtime system via elfutils' libdw [default=no]])],
[AC_CHECK_LIB(dw, dwfl_attach_state,
[UseLibdw=YES],
[AC_MSG_ERROR([Cannot find system libdw (required by --enable-dwarf-unwind)])])]
[UseLibdw=NO]
)
```
Note:
- `[UseLibdw=NO]` is called when `--{enable,disable}-dwarf-unwind`
is not passed at all as a parameter (ok).
- `[AC_CHECK_LIB(dw, dwfl_attach_state, [UseLibdw=YES],` is called
for both:
* `--enable-dwarf-unwind` being passed: `$enableval = "yes"` (ok).
* --disable-dwarf-unwind` being passed: `$enableval = "no"` (bad).
The change is to use 3-argument `AC_ARG_ENABLE` and check for passed
value as `"$enable_dwarf_unwind" = "yes"`.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`TablesNextToCode` is now a substituted by configure, where it has the
correct defaults and error handling. Nowhere else needs to duplicate
that, though we may want the compiler to to guard against bogus settings
files.
I renamed it from `GhcEnableTablesNextToCode` to `TablesNextToCode` to:
- Help me guard against any unfixed usages
- Remove any lingering connotation that this flag needs to be combined
with `GhcUnreigsterised`.
Original reviewers:
Original subscribers: TerrorJack, rwbarton, carter
Original Differential Revision: https://phabricator.haskell.org/D5082
|
|
|
|
| |
Fixes #16857.
|
|
|
|
|
|
|
| |
LLVM version numberinf changed recently. Previously, releases were numbered
4.0, 5.0 and 6.0 but with version 7, they dropped the redundant ".0".
Fix requires for Llvm detection and some code.
|
|
|
|
| |
This allows it to eventually become stage-specific
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves all URL references to Trac Wiki to their corresponding
GitLab counterparts.
This substitution is classified as follows:
1. Automated substitution using sed with Ben's mapping rule [1]
Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...
New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...
2. Manual substitution for URLs containing `#` index
Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz
New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz
3. Manual substitution for strings starting with `Commentary`
Old: Commentary/XxxYyy...
New: commentary/xxx-yyy...
See also !539
[1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
|
|
|
|
|
| |
This moves all URL references to Trac tickets to their corresponding
GitLab counterparts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The splitter is an evil Perl script that processes assembler code.
Its job can be done better by the linker's --gc-sections flag. GHC
passes this flag to the linker whenever -split-sections is passed on
the command line.
This is based on @DemiMarie's D2768.
Fixes Trac #11315
Fixes Trac #9832
Fixes Trac #8964
Fixes Trac #8685
Fixes Trac #8629
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds trace messages that include the processes name and as such
make debugging and following the communication easier.
It also adds a note regarding the fwd*Call proxy-communication logic
between the proxy and the slave.
The proxy will now also poll for 60s to wait for the remote iserv
to come up. (Alternatively you can start the remote process
beforehand; and just have iserv-proxy connect to it)
|
|
|
|
|
|
|
| |
Along the way, I discovered that `template-haskell.cabal` was
hard-coding the GHC version (in the form of its `ghc-boot-th` version
bounds), so I decided to make life a little simpler in the future by
generating `template-haskell.cabal` with autoconf.
|
| |
|
|
|
|
|
|
| |
of the GHC var
Also updates the windows gitlab ci to use the new configure variables.
|
|
|
|
|
|
|
| |
Support for Mac OS X on PowerPC has been dropped by Apple years ago. We
follow suit and remove PowerPC support for Darwin.
Fixes #16106.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a bug from cb882fc993b4972f7f212b291229ef9e9ade0af9. Without the
comma, all non-diverging codepaths set 'UseLibdw=NO'.
Reviewers: bgamari, nh2
Reviewed By: nh2
Subscribers: rwbarton, erikd, carter
GHC Trac Issues: #15968
Differential Revision: https://phabricator.haskell.org/D5459
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no reason why we need to print the linked files and apparently
ln on OpenBSD doesn't support -v.
Fixes #15946.
Test Plan: Validate
Reviewers: monoidal
Reviewed By: monoidal
Subscribers: rwbarton, erikd, carter
GHC Trac Issues: #15946
Differential Revision: https://phabricator.haskell.org/D5425
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This causes './configure --enable-dwarf-unwind' to exit with a helpful
error message when 'libdw' cannot be found (compared to the previous
behaviour of silently pretending the user hadn't requested DWARF support
at all).
Test Plan: ./configure --enable-dwarf-unwind # on systems with/without
libdw
Reviewers: bgamari, nh2
Reviewed By: nh2
Subscribers: nh2, rwbarton, erikd, carter
GHC Trac Issues: #15968
Differential Revision: https://phabricator.haskell.org/D5424
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently, the version numbers for `libiserv`, `iserv`, and
`iserv-proxy` are hard-coded directly into their `.cabal` files.
These are easy to forget to update, and in fact, this has already
happened once (see #15866). Let's use `autoconf` to do this for us
so that it is not forgotten in the future.
Test Plan: ./validate
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, erikd, carter
GHC Trac Issues: #15866
Differential Revision: https://phabricator.haskell.org/D5302
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
GHC 8.6.1 is out, so now GHC's support window only extends
back to GHC 8.4. This means we can delete gobs of code that were
only used for GHC 8.2 support. Hooray!
Test Plan: ./validate
Reviewers: bgamari, Phyx, erikd
Reviewed By: bgamari, Phyx
Subscribers: rwbarton, erikd, carter
Differential Revision: https://phabricator.haskell.org/D5192
|
|
|
|
|
|
|
| |
This commit was never properly justified and relies on the existence of
libatomic, which doesn't appear to exist on Darwin.
This reverts commit ec9aacf3eb2975fd302609163aaef429962ecd87.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A change has caused GHC to generate excessive specializations.
This is making GHC generate 1800 splits for a simple GHC.Prim module,
which means 1800 fork/exec calls.
Due to this compilation times on Windows with split-objs on take over
24 hours to complete depending on your disk speed. Also the end
compiler
compiling medium to large project is also much slower.
So I think we need to just disable split-objects. As there's nothing
that
can be done about this.
Test Plan: ./validate
Reviewers: bgamari
Subscribers: tdammers, rwbarton, thomie, erikd, carter
GHC Trac Issues: #15051
Differential Revision: https://phabricator.haskell.org/D4915
|
|
|
|
|
|
| |
This reverts commit 8736715857d08cc1f88d766c257b39c05df20639.
I hadn't intended on merging this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would prevent any operating system not providing the
MEM_NORESERVE flag
from using the two-step allocator. Afterall, Linux will reserve
swap-space for
a mapping unless this flag is given, which is most certainly not what
we want.
However, it seems that FreeBSD provides the reservation-only mapping
behavior
that we expect despite not providing the MEM_NORESERVE macro. In fact,
it
provided the macro until 2014, when it was removed on account of not
being
implemented in the kernel. However, empirical evidence suggests that
just plain
mmap does what we want.
Reviewers: erikd, simonmar
Subscribers: rwbarton, thomie, erikd, carter
GHC Trac Issues: #15348
Differential Revision: https://phabricator.haskell.org/D4939
|
|
|
|
|
| |
This is an unstable release, hence it must be x.y.$DATE, rather than x.y.0.$DATE
which would denote a stable pre-release snapshot.
|
|
|
|
| |
Bumps haddock submodule.
|
|
|
|
|
|
|
|
| |
Test Plan: Validate with numa support
Subscribers: rwbarton, thomie, erikd, carter
Differential Revision: https://phabricator.haskell.org/D4869
|
|
|
|
| |
Bumps haddock submodule.
|
|
|
|
| |
See #15281
|
|
|
|
|
|
|
|
|
|
|
|
| |
This appears to inexplicably break the OS X build, which fails with:
```
make[1]: *** No rule to make target `utils/unlit/fs.c', needed by
`utils/unlit/dist/build/.depend.c_asm'. Stop.
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
```
This reverts commit 8ee9c574a6d2105ace858f0fee31750acafe0a0f.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: ./validate
Reviewers: bgamari
Subscribers: rwbarton, thomie, erikd, carter
GHC Trac Issues: #15257
Differential Revision: https://phabricator.haskell.org/D4853
|
|
|
|
| |
This seems to fix a number of segmentation faults.
|
|
|
|
|
|
|
|
| |
On Fedora: `/usr/libexec/sphinx-build --version` outputs `sphinx-build
1.7.2`. In bindir we actually have sphinx-build-2 and sphinx-build-3
(python2 and python3 versions), which output `sphinx-build-2 1.7.2` and
`sphinx-build-3 1.7.2` respectively. Dunno what version others are
using but at least this change should works for most versions I suppose.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pulls parts of Joachim Breitner's ghc-heap-view library inside GHC.
The bits added are the C hooks into the RTS and a basic Haskell wrapper
to these C hooks. The main reason for these to be added to GHC proper
is that the code needs to be kept in sync with the closure types
defined by the RTS. It is expected that the version of HeapView shipped
with GHC will always work with that version of GHC and that extra
functionality can be layered on top with a library like ghc-heap-view
distributed via Hackage.
Test Plan: validate
Reviewers: simonmar, hvr, nomeata, austin, Phyx, bgamari, erikd
Reviewed By: bgamari
Subscribers: carter, patrickdoc, tmcgilchrist, rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D3055
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: Validate with Hadrian and `libnuma` support
Reviewers: snowleopard, hvr, erikd, simonmar
Subscribers: izgzhen, alpmestan, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4616
|
|
|
|
|
|
|
|
| |
Reviewers: hvr, bgamari
Subscribers: lelf, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4575
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This shims out fopen and sopen so that they use modern APIs under the hood
along with namespaced paths.
This lifts the MAX_PATH restrictions from Haskell programs and makes the new
limit ~32k.
There are only some slight caveats that have been documented.
Some utilities have not been upgraded such as lndir, since all these things are
different cabal packages I have been forced to copy the source in different places
which is less than ideal. But it's the only way to keep sdist working.
Test Plan: ./validate
Reviewers: hvr, bgamari, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #10822
Differential Revision: https://phabricator.haskell.org/D4416
|