| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
arm64 is really only a name apple uses, and we should
refrain from using it across multiple architectures.
Let's call aarch64-darwin, arm64 if needed, but otherwise
stick to aarch64.
|
| |
|
|
|
|
| |
Previously we only built Linux bindists with hyperlinked sources.
|
| |
|
|
|
|
|
|
| |
Ensure that deb10-dwarf artifacts are preserved.
(cherry picked from commit a4f50cd8ea462bc740a605c7eba46fec63446c8f)
|
|
|
|
|
|
|
|
| |
The motivation is given in Note [tcFamTyPats: zonking the result kind].
Fixes #19250 -- the fix is easy.
(cherry picked from commit 69cab37ae89db16cfd0b734d7fc657e56402a255)
|
|
|
|
| |
(cherry picked from commit 4517a38215eb72a4824c72d97377b9325059bf55)
|
|
|
|
| |
(cherry picked from commit f065b6b012fb8f73689bc5c2a4904d5e6e377af8)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We do not support foreign "C" imports of varargs functions. While this
works on amd64, in general the platform's calling convention may need
more type information that our Cmm representation can currently provide.
For instance, this is the case with Darwin's AArch64 calling convention.
Document this fact in the users guide and fix T5423 which makes use of a
disallowed foreign import.
Closes #18854.
(cherry picked from commit 0b7722219ffdb109c3a8b034a8e112d18e6e4336)
|
|
|
|
|
|
|
|
|
| |
In general we are less careful about locking closures when running with
only a single capability.
Fixes #19075.
(cherry picked from commit 87bc458de497cdc407c5c32572103a452ee36e4d)
|
| |
|
|
|
|
| |
(cherry picked from commit 61ce4261bb4c21ca5c41fcfc2107a81726cf22c1)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The refactoring in ed57c3a9eb9286faa222f98e484a9ef3432b2025 failed to
initialize this field, resulting in no exports being registered. A very
silly bug and yet somehow none of our tests caught it.
See #18548.
Fixes #19149.
(cherry picked from commit 4cd2674fbf1adb1e1d951dcb65e78eda03732484)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously lookupSymbol_PEi386 would call lookupSymbol while
holding linker_mutex. Fix this by rather
calling `lookupDependentSymbol`. This is safe
because lookupSymbol_PEi386 unconditionally holds linker_mutex.
Happily, this un-breaks `T12771`, `T13082_good`, and `T14611`, which
were previously marked as broken due to #18718.
Closes #19155.
(cherry picked from commit a7105e53921e715d4d70c7c45ddc79bdc6eebffc)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix for 18919 was somewhat incomplete: while the MVars were
correctly added to the mut_list via dirty_MVAR(), their info table
remained "clean".
While this is mostly harmless in non-debug builds, but trips an
assertion in the debug build, and may result in the MVar being
needlessly being added to the mut_list multiple times.
Resolves: #19145
|
| |
|
|
|
|
| |
Scripts taken from autoconf 90b8cb42ba3b244250a6986b8b78c80f30ed197a
|
| |
|
|
|
|
|
| |
Previously we would append -Werror to the argument list. However, this
ended up overriding the -Wno-error=... flags in Settings.Warnings.
|
|
|
|
| |
The previous state was quite illegible.
|
| |
|
|
|
|
|
|
|
|
| |
This interfered with the autoconf variable of the same name, breaking
pre-release builds.
(cherry picked from commit 15dca84793d5ec4ff922726477923e40caa075eb)
(cherry picked from commit 3e55edd97c8eba271f5cb64b9362796791e0e887)
|
|
|
|
| |
(cherry picked from commit 57f3fdb1fbeb82b5b19bc5e2970d8857c2514fcc)
|
|
|
|
| |
Fixes #18233.
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the upper bound of a happy version for ghc-9.0
and earlier.
Currently, we can't use happy-1.20.0 for ghc-9.0.
See #18620.
(cherry picked from commit 74a7fbff5a8f244cd44345bf987e26413bb1989e)
|
| |
|
|
|
|
|
|
| |
Previously we would push large objects and compact regions to the mark
queue during the deadlock detect GC, resulting in failure to detect
deadlocks.
|
|
|
|
| |
Pull the cold non-moving allocation path out of alloc_for_copy.
|
|
|
|
|
|
| |
Previously the deadlock-detection promotion logic in alloc_for_copy was
just plain wrong: it failed to fire when gct->evac_gen_no !=
oldest_gen->gen_no. The fix is simple: move the
|
|
|
|
|
| |
When performing a deadlock-detection GC we must ensure that all objects
end up in the non-moving generation. Assert this in scavenge.
|
|
|
|
|
| |
Previously an incorrect semicolon meant that we would fail to call
busy_wait_nop when spinning.
|
|
|
|
| |
Per request of @phadej.
|
|
|
|
|
|
| |
Pulled out of !4310.
(cherry picked from commit be408b86c9125dedd2f83e9701ea9f2e499c8dd4)
|
|
|
|
|
|
|
|
|
| |
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 a1a75aa9be2c133dd1372a08eeb6a92c31688df7)
|
|
|
|
|
|
|
|
|
|
| |
We place symbol_extras right after bss. We also need
to ensure that symbol_extras can be mprotect'd independently from the
rest of the image. To ensure this we round up the size of bss to a page
boundary, thus ensuring that symbol_extras is also page-aligned.
(cherry picked from commit 9f40cf6ca9fb24dbc55f7eae43e2b89aa12bf251)
(cherry picked from commit 4b83b6a8f8ac08e81b6e75c47f133e3ed6bdea95)
|
|
|
|
|
|
| |
See Note [Non-moving GC: Marking evacuated objects].
(cherry picked from commit b416189e4004506b89f06f147be37e76f4cd507f)
|
|
|
|
| |
(cherry picked from commit a3b8375eeb2ce9d2e30f8269f5b489c5bcacc69f)
|
|
|
|
|
|
| |
The mark thread is not joinable as we detach from it on creation.
(cherry picked from commit ca1ef0e758a3fb787691529a0f8149e9d10b1d00)
|
|
|
|
|
|
| |
pthread_join returns its error code and apparently doesn't set errno.
(cherry picked from commit c488ac737e8ca3813fe6db069cbeb7abba00cfb9)
|
|
|
|
|
|
|
| |
Ensure that the the free variables have been pushed to the update
remembered set before we zero the slop.
(cherry picked from commit 134f759926bb4163d7ab97e72ce7209ed42f98b9)
|
|
|
|
| |
(cherry picked from commit 35c22991ae5c22b10ca1a81f0aa888d1939f0b3f)
|
|
|
|
|
|
|
|
| |
After a THROWTO message has been handle the message closure is
overwritten by a NULL message. We must ensure that the original
closure's pointers continue to be visible to the nonmoving GC.
(cherry picked from commit 6c2faf158fd26fc06b03c9bd11b6d2cf8e8db572)
|
|
|
|
|
|
|
|
|
| |
The TSAN rework (specifically aad1f803) introduced a subtle regression
in GC.c, swapping `g0` in place of `gen`. Whoops!
Fixes #18997.
(cherry picked from commit 21c807df67afe1aee7bf4a964a00cc78ef19e00f)
|
|
|
|
| |
See Note [Racing weak pointer evacuation] for all of the gory details.
|
|
|
|
|
|
|
| |
When fixing #17962 I neglected to consider that --export-dynamic is only
supported on ELF platforms.
(cherry picked from commit 35799dda07813e4c510237290a631d4d11fb92d2)
|
|
|
|
|
| |
Fix the previous backport; this function was dead code in master but is
still needed due to ProfHeap.c in ghc-8.10.
|
|
|
|
| |
Since the latter wants to call getRTSStats.
|
|
|
|
|
| |
While on face value this seems a bit heavy, I think it's far better than
enforcing ordering on every access.
|
| |
|
|
|
|
|
| |
We can generally be pretty relaxed in the barriers here since the timer
thread is a loop.
|