- 08 Jul, 2021 3 commits
-
-
Ethan Kiang authored
-
-
Ethan Kiang authored
'-x c++' was found to be required on Darwin Clang 11 and 12. '-std=c++' was found to be needed on Clang 12 but not 11.
-
- 05 Jul, 2021 25 commits
-
-
Ben Gamari authored
-
This allows us to use the unsafe shifts in non-debug builds for performance. For older versions of base we instead export Data.Bits See also #19618 (cherry picked from commit c02ac1bb)
-
We need to be careful about the sign bit for BR26 relocation otherwise we end up encoding a large positive number and reading back a large negative number. (cherry picked from commit d6ab9c60)
-
If libiconv is installed from packages on the build machine, there is a high chance that the build system will pick up /usr/local/include/iconv.h instead of base /usr/include/iconv.h This additional preprocessor define makes package's libiconv header compatible with system one, fixing the build. Closes issue #19958 (cherry picked from commit 5d3d9925)
-
The specification is now simple * On linux, use `-Xlinker -rpath -Xlinker` to set the rpath of the executable * On darwin, never use `-Xlinker -rpath -Xlinker`, always inject the rpath afterwards, see `runInjectRPaths`. * If `-fno-use-rpaths` is passed then *never* inject anything into the rpath. Fixes #20004 (cherry picked from commit 6281a333)
-
Note [fd_set_overflow] ~~~~~~~~~~~~~~~~~~~~~~ In this note is the very sad tale of __darwin_fd_set_overflow. The 8.10.5 release was broken because it was built in an environment where the libraries were provided by XCode 12.*, these libraries introduced a reference to __darwin_fd_set_overflow via the FD_SET macro which is used in Select.c. Unfortunately, this symbol is not available with XCode 11.* which led to a linker error when trying to link anything. This is almost certainly a bug in XCode but we still have to work around it. Undefined symbols for architecture x86_64: "___darwin_check_fd_set_overflow", referenced from: _awaitEvent in libHSrts.a(Select.o) ld: symbol(s) not found for architecture x86_64 One way to fix this is to upgrade your version of xcode, but this would force the upgrade on users prematurely. Fortunately it also seems safe to pass the linker option "-Wl,-U,___darwin_check_fd_set_overflow" because the usage of the symbol is guarded by a guard to check if it's defined. __header_always_inline int __darwin_check_fd_set(int _a, const void *_b) { if ((uintptr_t)&__darwin_check_fd_set_overflow != (uintptr_t) 0) { return __darwin_check_fd_set_overflow(_a, _b, 1); return __darwin_check_fd_set_overflow(_a, _b, 0); } else { return 1; } Across the internet there are many other reports of this issue See: https://github.com/mono/mono/issues/19393 , https://github.com/sitsofe/fio/commit/b6a1e63a1ff607692a3caf3c2db2c3d575ba2320 The issue was originally reported in #19950 Fixes #19950 (cherry picked from commit 4a65c0f8)
-
Passing --with-ncurses-libraries means the path which gets backed in progagate into the built binaries. This is incorrect when we want to distribute the binaries because the user might not have the library in that specific place. It's the user's reponsibility to direct the dynamic linker to the right place. Fixes #19968 (cherry picked from commit 689016dc)
-
We now have two darwin flavours. AArch64-Darwin, and x86_64-darwin, the latter one which has proper custom adjustor support, the former though relies on libffi. Mixing both leads to odd crashes, as the closures might not fit the size of the libffi closures. Hence this needs to be guarded by the USE_LBFFI_FOR_ADJUSTORS guard. Original patch by Hamish Mackenzie (cherry picked from commit a6a8d3f5)
-
Previously `prepare_build_mk` created a build.mk that was overwritten right after. This makes the BIGNUM_BACKEND choice take effect, fixing #19953, and causing the metric increase below in the integer-simple job. Metric Increase: space_leak_001 (cherry picked from commit 87f57ecf)
-
In #19822, we realised that the Simplifier's new habit of floating cases into `runRW#` continuations inhibits CPR analysis from giving key functions of `text` the CPR property, such as `singleton`. This patch fixes that by anticipating part of !5667 (Nested CPR) to give `runRW#` the proper CPR transformer it now deserves: Namely, `runRW# (\s -> e)` should have the CPR property iff `e` has it. The details are in `Note [Simplification of runRW#]` in GHC.CoreToStg.Prep. The output of T18086 changed a bit: `panic` (which calls `runRW#`) now has `botCpr`. As outlined in Note [Bottom CPR iff Dead-Ending Divergence], that's OK. Fixes #19822. Metric Decrease: T9872d (cherry picked from commit e87b8e10)
-
Signed-off-by:
Emily Martins <emily.flakeheart@gmail.com> (cherry picked from commit 05ae4772)
-
Fixes #20042 Signed-off-by:
Emily Martins <emily.flakeheart@gmail.com> Signed-off-by:
Hécate Moonlight <hecate@glitchbra.in> (cherry picked from commit d455c39e)
-
For example: "\0" is encoded to "C0 80", then the rule would correct use a decoding function to work out the first character was "C0 80" but then just used BS.tail so the rest of the string was "80". This resulted in "\0" being transformed into '\C0\80' : unpackCStringUTF8# "80" Which is obviously bogus. I rewrote the function to call utf8UnconsByteString directly and avoid the roundtrip through Faststring so now the head/tail is computed by the same call. Fixes #19976 (cherry picked from commit 7f6454fb)
-
Fixes #19995 (cherry picked from commit 595dfbb0)
-
(cherry picked from commit 3f60a7e5)
-
Fixes #20006 (cherry picked from commit 1c79ddc8)
-
This fixes the performance test tracking for all darwin environments. (cherry picked from commit 1e2ba8a4)
-
This change aims to make source files relocatable w.r.t. to the interface files produced by the compiler. This is so that we can download interface files produced by a cloud build system and then reuse them in a local ghcide session catch another case of implicit includes actually use the implicit quote includes add another missing case recomp020 test that .hi files are reused even if .hs files are moved to a new location Added recomp021 to record behaviour with non implicit includes add a note additional pointer to the note Mention #16956 in Note (cherry picked from commit 9faafb0a)
-
(cherry picked from commit df4a0a53)
-
(cherry picked from commit 5dcb8619)
-
(cherry picked from commit 378c0bba)
-
The stg_ctoi_t and stg_ret_t procedures which convert unboxed tuples between the bytecode an native calling convention were causing a panic when using the LLVM backend. Fixes #19591 (cherry picked from commit 28e0dca2)
-
This is part of #18738 [skip ci] (cherry picked from commit 2023b344)
-
Ensure that the exact print annotations accurately record the `@` for code like tyApp :: Con k a -> Proxy a tyApp (Con @kx @ax (x :: Proxy ax)) = x :: Proxy (ax :: kx) Closes #19850 (cherry picked from commit 406cd90b)
-
Closes #19839 Closes #19840 (cherry picked from commit 0da85d41)
-
- 02 Jul, 2021 8 commits
-
-
Previously the code generator's logic for invoking the nonmoving write barrier was inconsistent with the write barrier itself. Namely, the code generator treated the header size argument as being in words whereas the barrier expected bytes. This was the cause of #19715. Fixes #19715. (cherry picked from commit 221a104f)
-
(cherry picked from commit 74c87414)
-
Previously we branched unnecessarily on IF_NONMOVING_WRITE_BARRIER_ENABLED on every trip through the array barrier push loop. (cherry picked from commit 30f233fe)
-
(cherry picked from commit 9b776cbb)
-
(cherry picked from commit 4023d4d9)
-
Fixes #20019 (cherry picked from commit 861b7a5b)
-
Sylvain Henry authored
Fix #20066 (cherry picked from commit a820f900)
-
- 30 Jun, 2021 1 commit
-
-
Viktor Dukhovni authored
-
- 28 Jun, 2021 1 commit
-
-
Sylvain Henry authored
Partial backport of 491266ee that puts `showSDocUnsafe` back into `GHC.Utils.Outputable` (after it has become independent of DynFlags; the initial change wasn't gratuitous).
-
- 22 Jun, 2021 1 commit
-
-
Fixes #19849 Co-authored-by:
Krzysztof Gogolewski <krzysztof.gogolewski@tweag.io> (cherry picked from commit c4099b09)
-
- 21 Jun, 2021 1 commit
-
-
Peter Trommler authored
Fixes #19852 and #19609
-