- Dec 27, 2020
-
-
Ben Gamari authored
(cherry picked from commit 9ff26b5a)
-
Ben Gamari authored
Fix an earlier rebase mistake.
-
Ben Gamari authored
Use unsafeWithForeignPtr when possible.
-
Ben Gamari authored
-
Ben Gamari authored
(cherry picked from commit de1b380a)
-
Ben Gamari authored
(cherry picked from commit 5813cdff)
-
Ben Gamari authored
(cherry picked from commit 33a6b81e)
-
(cherry picked from commit 10739183)
-
Ben Gamari authored
This will be needed shortly. (cherry picked from commit ef42c578)
-
Ben Gamari authored
(cherry picked from commit bc926291)
-
Ben Gamari authored
Teach it to use unsafeWithForeignPtr where appropriate. (cherry picked from commit e0f6293e)
-
Ben Gamari authored
(cherry picked from commit 1d3e18a1)
-
Ben Gamari authored
(cherry picked from commit 3d4585fd)
-
Ben Gamari authored
(cherry picked from commit bc44a67f)
-
Ben Gamari authored
(cherry picked from commit bc178f49)
-
Ben Gamari authored
(cherry picked from commit eb21e9ea)
-
- Dec 23, 2020
-
- Dec 18, 2020
- Dec 14, 2020
-
-
(cherry picked from commit 4a437bc1)
-
Andreas Klebinger authored
Fixes #18994 Co-Author: Benjamin Maurer <maurer.benjamin@gmail.com> (cherry picked from commit 3e3555cc)
-
Ben Gamari authored
-
- Dec 08, 2020
-
-
Roland Senn authored
Since MR !554 (#15454) GHCi automatically enabled the flag `-fobject-code` on any module using the UnboxedTuples or UnboxedSum extensions. MR !1553 (#16876) allowed to inhibit the automatic compiling to object-code of these modules by setting the `fbyte-code` flag. However, it assigned 2 different semantics to this flag and introduced the regression described in issue #18955. This MR fixes this regression by unsetting the internal flag `Opt_ByteCodeIfUnboxed` before it's copied to DynFlags local to the module.
-
- Dec 04, 2020
-
-
Ben Gamari authored
This otherwise fails on newer Clangs, which warn more aggressively on undeclared symbols. (cherry picked from commit 3d7db148)
-
- Dec 01, 2020
-
-
GHC GitLab CI authored
-
GHC GitLab CI authored
-
Ben Gamari authored
Strangely I find that on Alpine (and apparently only on Alpine) the latex makeindex command expects to be given a filename, lest it reads from stdin. (cherry picked from commit 389a6683)
-
Ben Gamari authored
Previously we would allocate a linked list cell for each foreign export. Now we can avoid this by taking advantage of the fact that they are already broken into groups. (cherry picked from commit 40dc9106)
-
Ben Gamari authored
This avoids calling `libc` in the initializers which are responsible for registering foreign exports. We believe this should avoid the corruption observed in #18548. See Note [Tracking foreign exports] in rts/ForeignExports.c for an overview of the new scheme. (cherry picked from commit c4921349)
-
When threadPaused blackholes a thunk it calls `OVERWRITING_CLOSURE` to zero the slop for the benefit of the sanity checker. Previously this was done *before* pushing the thunk's free variables to the update remembered set. Consequently we would pull zero'd pointers to the update remembered set. (cherry picked from commit 3e75b0db)
-
- Nov 30, 2020
-
-
This uses the highMemDynamic flag introduced earlier to verify that dynamic objects are properly unloaded. (cherry picked from commit e9e1b2e7)
-
(cherry picked from commit 7a65f9e1)
-
(This change is originally written by niteria) This adds two functions: * `loadNativeObj` * `unloadNativeObj` and implements them for Linux. They are useful if you want to load a shared object with Haskell code using the system linker and have GHC call dlclose() after the code is no longer referenced from the heap. Using the system linker allows you to load the shared object above outside the low-mem region. It also loads the DWARF sections in a way that `perf` understands. `dl_iterate_phdr` is what makes this implementation Linux specific. (cherry picked from commit 2782487f)
-
Ömer Sinan Ağacan authored
Fixes #16525 by tracking dependencies between object file symbols and marking symbol liveness during garbage collection See Note [Object unloading] in CheckUnload.c for details. (cherry picked from commit c34a4b98)
-
Ben Gamari authored
Pulled out of !4310.
-
Ben Gamari authored
Namely, those marked with the ~"LLVM backend" label (cherry picked from commit 7c03cc50)
-
Ben Gamari authored
As noted in #18991, we would previously allocate heap in low memory. Due to this the linker, which typically *needs* low memory, would end up competing with the heap. In longer builds we end up running out of low memory entirely, leading to linking failures. (cherry picked from commit a1a75aa9)
-
Ben Gamari authored
In ticket #18733 we noticed a rather serious deficiency in the current fingerprinting logic for recursive groups. I have described the old fingerprinting story and its problems in Note [Fingerprinting recursive groups] and have reworked the story accordingly to avoid these issues. Fixes #18733. (cherry picked from commit 5353fd50)
-
Ben Gamari authored
(cherry picked from commit 787e93ae)
-