summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [rts] disassemble bco, when running with -Diwip/angerman/interpreter-disassemble-bcoMoritz Angermann2021-05-071-1/+1
|
* [testsuite] :tada: best typo ever!wip/angerman/fix-llvm-typoMoritz Angermann2021-05-071-1/+1
|
* hadrian: Don't depend upon bash from PATHwip/angerman/backport-bf34a310Ben Gamari2021-05-066-7/+30
| | | | | | | | | | Previously Hadrian depended implicitly upon whatever `bash` it found in `PATH`, offerring no way for the user to override. Fix this by detecting `sh` in `configure` and passing the result to Hadrian. Fixes #19797. (cherry picked from commit bf34a310a19c1f8f1c8f9686a077d5c04a1510cf)
* configure: Move libdw search logic to macroBen Gamari2021-05-062-53/+58
|
* configure: Move libnuma check to macroBen Gamari2021-05-062-57/+61
|
* configure: Move pthreads checks to macroBen Gamari2021-05-062-95/+102
|
* Break up aclocal.m4Ben Gamari2021-05-0669-2740/+2640
|
* Chiral foldable caveatsViktor Dukhovni2021-05-061-3/+71
| | | | Also nested foldr example for `concat`.
* hie: Initialise the proper environment for calling dsExprMatthew Pickering2021-05-051-8/+13
| | | | | | | | | | | | | | | | | | We now use DsM as the base monad for writing hie files and properly initialise it from the TcGblEnv. Before, we would end up reading the interface file from disk for the module we were currently compiling. The modules iface then ended up in the EPS causing all sorts of subtle carnage, including difference in the generated core and haddock emitting a lot of warnings. With the fix, the module in the TcGblEnv is set correctly so the lookups happen in the local name env rather than thinking the identifier comes from an external package. Fixes #19693 and #19334 (cherry picked from commit da92e7288fe9c0e83768b7dd0898bca30b9ff2ce)
* [ci] darwin uses hadrianwip/angerman/fix-darwin-perfMoritz Angermann2021-05-041-45/+22
| | | | | | Make is bad, and really slow, and we should just stop using it outright, or kill hadrian. Let's rather go for hadrian all the way and phase out make.
* [gmp] respect GMP_ENABLEDwip/angerman/fix-gmp-enabledMoritz Angermann2021-05-031-0/+2
|
* Tighten scope of non-POSIX visibility macrosViktor Dukhovni2021-05-034-15/+34
| | | | | | | The __BSD_VISIBLE and _DARWIN_C_SOURCE macros expose non-POSIX prototypes in system header files. We should scope these to just the ".c" modules that actually need them, and avoid defining them in header files used in other C modules.
* Make tests more portable on FreeBSDViktor Dukhovni2021-05-036-18/+28
|
* Block signals in the ticker threadViktor Dukhovni2021-05-033-13/+102
| | | | | | | | This avoids surprises in the non-threaded runtime with blocked signals killing the process because they're only blocked in the main thread and not in the ticker thread. Also backport improved compile-time detection of pthread_setname_np() and/or
* Add background note in elf_tlsgd.c.Viktor Dukhovni2021-05-034-21/+156
| | | | | | | | | | | | | | | | | | | | | | | | Also some code cleanup, and a fix for an (extant unrelated) missing <pthread_np.h> include that should hopefully resolve a failure in the FreeBSD CI build, since it is best to make sure that this MR actually builds on FreeBSD systems other than mine. Some unexpected metric changes on FreeBSD (perhaps because CI had been failing for a while???): Metric Decrease: T3064 T5321Fun T5642 T9020 T12227 T13253-spj T15164 T18282 WWRec Metric Increase: haddock.compiler
* Support R_X86_64_TLSGD relocation on FreeBSDViktor Dukhovni2021-05-035-4/+170
| | | | | | | | | | | | | | | The FreeBSD C <ctype.h> header supports per-thread locales by exporting a static inline function that references the `_ThreadRuneLocale` thread-local variable. This means that object files that use e.g. isdigit(3) end up with TLSGD(19) relocations, and would not load into ghci or the language server. Here we add support for this type of relocation, for now just on FreeBSD, and only for external references to thread-specifics defined in already loaded dynamic modules (primarily libc.so). This is sufficient to resolve the <ctype.h> issues. Runtime linking of ".o" files which *define* new thread-specific variables would be noticeably more difficult, as this would likely require new rtld APIs.
* [hadrian] Properly build hsc2hs wrapperwip/angerman/fix-hadrian-hsc2hsMoritz Angermann2021-04-291-18/+23
|
* [ci] faster pipelinewip/angerman/faster-pipelines-9.2Moritz Angermann2021-04-281-6/+1
|
* Fix handling ze_meta_tv_env in GHC.Tc.Utils.ZonkSimon Peyton Jones2021-04-231-31/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As #19668 showed, there was an /asymptotic/ slow-down in zonking in GHC 9.0, exposed in test T9198. The bug was actually present in earlier compilers, but by a fluke didn't actually show up in any of our tests; but adding Quick Look exposed it. The bug was that in zonkTyVarOcc we 1. read the meta-tyvar-env variable 2. looked up the variable in the env 3. found a 'miss' 4. looked in the variable, found `Indirect ty` 5. zonked `ty` 6. update the env *gotten from step 1* to map the variable to its zonked type. The bug is that we thereby threw away all teh work done in step 4. In T9198 that made an enormous, indeed asymptotic difference. The fix is easy: use updTcRef. I commented in `Note [Sharing when zonking to Type]` ------------------------- Metric Decrease: T9198 -------------------------
* gitlab-ci: Fix Windows release buildghc-9.2.1-alpha2Ben Gamari2021-04-211-1/+4
|
* gitlab-ci: Use debian 10 image for source tarball jobBen Gamari2021-04-211-1/+1
|
* Once again bump Cabal submoduleBen Gamari2021-04-211-0/+0
|
* EPA: cleanups after the mergeAlan Zimmerman2021-04-2135-1116/+881
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove EpaAnn type synonym, rename EpaAnn' to EpaAnn. Closes #19705 Updates haddock submodule -- Change data EpaAnchor = AR RealSrcSpan | AD DeltaPos To instead be data EpaAnchor = AnchorReal RealSrcSpan | AnchorDelta DeltaPos Closes #19699 -- Change data DeltaPos = DP { deltaLine :: !Int, deltaColumn :: !Int } To instead be data DeltaPos = SameLine { deltaColumn :: !Int } | DifferentLine { deltaLine :: !Int, startColumn :: !Int } Closes #19698 -- Also some clean-ups of unused parts of check-exact. (cherry picked from commit 0619fb0fb14a98f04aac5f031f6566419fd27495)
* gitlab-ci: Don't IGNORE_PERF_FAILURES when --skip-perf is usedBen Gamari2021-04-211-0/+2
| | | | The two flags are mutually incompatible.
* [darwin] stop the DYLD_LIBRARY_PATH madnesswip/angerman/9.2-forward-ports-2Moritz Angermann2021-04-201-5/+2
| | | | | | | | this causes *significant* slowdown on macOS as the linker ends up looking through all the paths. Slowdown can be as bad as 100% or more. (cherry picked from commit 820b0766984d42c06c977a6c32da75c429106f7f)
* [ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}Moritz Angermann2021-04-201-1/+11
| | | | (cherry picked from commit 07b1af0362beaaf221cbee7b17bbe0a5606fd87d)
* [testsuite/arm64] fix section_alignmentMoritz Angermann2021-04-201-1/+1
| | | | (cherry picked from commit f7062e1b0c91e8aa78e245a3dab9571206fce16d)
* [testsuite] static001 is not broken anymore.Moritz Angermann2021-04-201-1/+2
| | | | (cherry picked from commit b821fcc7142edff69aa4c47dc1a5bd30b13c1ceb)
* [ci/nix-shell] [Darwin] Stop the ld warnings about libiconv.Moritz Angermann2021-04-201-0/+3
| | | | (cherry picked from commit c3944bc89d062a4850946904133c7a1464d59012)
* [testsuite/json2] Fix failure with LLVM backendsMoritz Angermann2021-04-201-2/+6
| | | | | | | -Wno-unsupported-llvm-version should suppress the LLVM version missmatch warning that messes up the output. (cherry picked from commit 63455300625fc12b2aafc3e339eb307510a6e8bd)
* [ci/nix-shell] Add Foundation and SecurityMoritz Angermann2021-04-201-3/+3
| | | | (cherry picked from commit 4bea83afec009dfd3c6313cac4610d00ba1f9a3d)
* [testsuite] filter out superfluous dylib warningsMoritz Angermann2021-04-201-3/+18
| | | | (cherry picked from commit 33c4d497545559a38bd8d1caf6c94e5e2a77647b)
* [Darwin] mark stdc++ tests as brokenMoritz Angermann2021-04-201-10/+11
| | | | | | There is no libstdc++, only libc++ (cherry picked from commit 57671071adeaf0b45e86bb0ee050e007e3b161fb)
* [Aarch64] No div-by-zero; disable test.Moritz Angermann2021-04-201-0/+5
| | | | (cherry picked from commit 3592d1104c47b006fd9f4127d93916f477a6e010)
* [testsuite/darwin] fix conc059Moritz Angermann2021-04-201-0/+2
| | | | | | | | | | | | | | This resolves the following: Compile failed (exit code 1) errors were: conc059_c.c:27:5: error: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration] exit(0); ^ conc059_c.c:27:5: error: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit' (cherry picked from commit 5a6c36ecb41fccc07c1b01fe0f330cd38c2a0c76)
* [ci] Default value for MAKE_ARGSMoritz Angermann2021-04-201-2/+2
| | | | | | | We don't pass MAKE_ARGS for windows builds, so this should unbreak them. (cherry picked from commit 16c13d5acfdc8053f7de9e908cc9d845e9bd34bb)
* [ci] default value for CONFIGURE_ARGSMoritz Angermann2021-04-201-1/+1
| | | | (cherry picked from commit 307d34945b7d932156e533736c91097493e6181b)
* [testlib/driver] denoiseMoritz Angermann2021-04-202-6/+11
| | | | | | | | | | 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 (cherry picked from commit 5109e87e13ab45d799db2013535f54ca35f1f4dc)
* [ci] Add support for building on aarch64-darwinMoritz Angermann2021-04-203-29/+265
| | | | | | | This will fail for now. But allows us to add aarch64-darwin machines to CI. (cherry picked from commit a7d22795ed118abfe64f4fc55d96d8561007ce1e)
* Revert "[ci/arm/darwin/testsuite] Forwards ports from GHC-8.10"Ben Gamari2021-04-2012-341/+63
| | | | | | This reverts commit 0cbdba2768d84a0f6832ae5cf9ea1e98efd739da. (cherry picked from commit 403bf88c568199d8d2a272a041faba96a47a5276)
* testsuite: Add test for #19645Ben Gamari2021-04-193-0/+31
| | | | (cherry picked from commit 08e9f478cd3b5c999229fb8d3dce61c20389a45f)
* codeGen: Teach unboxed sum rep logic about levityBen Gamari2021-04-194-36/+53
| | | | | | | | | | | | | | | | Previously Unarise would happily project lifted and unlifted fields to lifted slots. This broke horribly in #19645, where a ByteArray# was passed in a lifted slot and consequently entered. The simplest way to fix this is what I've done here, distinguishing between lifted and unlifted slots in unarise. However, one can imagine more clever solutions, where we coerce the binder to the correct levity with respect to the sum's tag. I doubt that this would be worth the effort. Fixes #19645. (cherry picked from commit a23a47d2c085e1685061ae562c091b1430e01a6b)
* Bump Cabal submoule againBen Gamari2021-04-182-3/+0
|
* Use correct precedence in Complex's Read1/Show1 instancesRyan Scott2021-04-184-3/+50
| | | | | | Fixes #19719. (cherry picked from commit 99f5721a8478d20ddd5f387f2a79400bf03ca300)
* users guide: Fix a few typosBen Gamari2021-04-182-2/+2
|
* Bump deepseq submodule to 1.4.6.0Ben Gamari2021-04-182-1/+1
| | | | Closes #19635.
* Add {lifted,unlifted}DataConKey to pretendNameIsInScope's list of NamesRyan Scott2021-04-1411-1/+56
| | | | | | Fixes #19688. (cherry picked from commit 1e2e62a462d2a13a1e43a520c9de38553334b0e0)
* Fix some negation issues when creating FractionalLitMatthew Pickering2021-04-147-3/+30
| | | | | | | | | | There were two different issues: 1. integralFractionalLit needed to be passed an already negated value. (T19680) 2. negateFractionalLit did not actually negate the argument, only flipped the negation flag. (T19680A) Fixes #19680
* Bump Cabal submoduleBen Gamari2021-04-141-0/+0
|
* gitlab-ci: Build source-tarball when RELEASE_JOB is setBen Gamari2021-04-141-2/+1
|