| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
This drops allocateExec for darwin, and replaces it with
a alloc, write, mark executable strategy instead. This prevents
us from trying to allocate an executable range and then write to
it, which X^W will prohibit on darwin.
This will *only* work if we can use mmap.
|
|
|
|
|
| |
_AC_PROG_CC_99 isn't available anymore in recent autoconf versions.
This broke on aarch64-darwin.
|
|
|
|
|
|
| |
This breaks lots of tests unnecessarily. The LLVM IR
has been pretty stable since ~7. This stops GHC from
emitting the warnings during the testsuite run.
|
|
|
|
|
| |
This may be necessary when building stage2 cross compiled
compilers.
|
|
|
|
|
|
|
|
|
|
| |
To support proper parsing of arm64 targets, we needed to adjust
the GHC_LLVM_TARGET function to allow parsing arm64-apple-darwin
into aarch64. This however discared the proper os detection.
To rectify this, we'll pull the os detection into separate block.
Fixes #19173.
|
|
|
|
| |
This is a pre-requisite for making aarch64-darwin work.
|
|
|
|
|
|
|
|
| |
This is needed so that the codegen can produce C ABI calls
that require knowledge about the actual size of arguments.
Specifically aarch64-darwin will require arguments (in exess
of available registers) to be passed *packed* on the stack.
|
|
|
|
|
|
|
|
| |
this prevents the testlib/driver to be overly noisy, and will also
kill some noise produiced by the aarch64-darwin cc (for now).
Fixing sysctl, will allow us to run the test's properly in a nix-shell
on aarch64-darwin
|
| |
|
|
|
|
| |
this is effectively now required.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
int
memcmp(const void *s1, const void *s2, size_t n);
size_t
strlen(const char *s);
|
|
|
|
|
| |
This is required for aarch64-darwin.
Bump the integer-gmp submodule as well.
|
|
|
|
|
| |
This will fail for now. But allows us to add aarch64-darwin
machines to CI.
|
| |
|
|
|
|
| |
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)
|