Zubin pushed to branch wip/9.10.3-backports at Glasgow Haskell Compiler / GHC Commits: f4f31e5c by Zubin Duggal at 2025-07-16T18:28:07+05:30 fetch_gitlab: Ensure we copy users_guide.pdf and Haddock.pdf to the release docs directory Fixes #24093 (cherry picked from commit 48cf32dbd2cf52e1db7ee68bc79a5511ff52a2a6) - - - - - 19e7985b by Ben Gamari at 2025-07-16T18:29:02+05:30 configure: Drop probing of ld.gold As noted in #25716, `gold` has been dropped from binutils-2.44. Fixes #25716. Metric Increase: size_hello_artifact_gzip size_hello_unicode_gzip ghc_prim_so (cherry picked from commit c635f164cb62bcb3f34166adc24e5a9437415311) - - - - - 7d71b32d by Ben Gamari at 2025-07-16T18:29:12+05:30 testsuite/recomp015: Ignore stderr This is necessary since ld.bfd complains that we don't have a .note.GNU-stack section, potentially resulting in an executable stack. (cherry picked from commit 637bb53825b9414f7c7dbed4cc3e5cc1ed4d2329) - - - - - e13386f6 by Andreas Klebinger at 2025-07-16T18:29:29+05:30 Add since tag and more docs for do-clever-arg-eta-expansion Fixes #26113 (cherry picked from commit 699deef58bf89ef2f111b35f72d303a3624d219d) - - - - - d28a7f1c by Zubin Duggal at 2025-07-16T18:30:18+05:30 release: copy index.html from correct directory (cherry picked from commit cbfd0829cd61928976c9eb17ba4af18272466063) (cherry picked from commit ea3f7fd5f702d41077fff0a749b9c443d54e4844) - - - - - 5 changed files: - .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py - docs/users_guide/using-optimisation.rst - m4/find_ld.m4 - testsuite/tests/driver/recomp015/all.T - utils/ghc-toolchain/src/GHC/Toolchain/Tools/Link.hs Changes: ===================================== .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py ===================================== @@ -129,8 +129,11 @@ def fetch_artifacts(release: str, pipeline_id: int, for f in doc_files: subprocess.run(['tar', '-xf', f, '-C', dest]) logging.info(f'extracted docs {f} to {dest}') - index_path = destdir / 'index.html' + index_path = destdir / 'docs' / 'index.html' index_path.replace(dest / 'index.html') + pdfs = list(destdir.glob('*.pdf')) + for f in pdfs: + f.replace(dest / f.name) elif job.name == 'hackage-doc-tarball': dest = dest_dir / 'hackage_docs' logging.info(f'moved hackage_docs to {dest}') ===================================== docs/users_guide/using-optimisation.rst ===================================== @@ -517,16 +517,24 @@ as such you shouldn't need to set any of them explicitly. A flag Eta-expand let-bindings to increase their arity. .. ghc-flag:: -fdo-clever-arg-eta-expansion - :shortdesc: Enable sophisticated argument eta-expansion. Implied by :ghc-flag:`-O2`. + :shortdesc: Enable sophisticated argument eta-expansion. Implied by :ghc-flag:`-O`. :type: dynamic :reverse: -fno-do-clever-arg-eta-expansion :category: :default: off + :since: 9.10.1 Eta-expand arguments to increase their arity to avoid allocating unnecessary thunks for them. + For example in code like `foo = f (g x)` this flag will determine which analysis + is used to decide the arity of `g x`, with the goal of avoiding a thunk for `g x` + in cases where `g` is a function with an arity higher than one. + + Enabling the flag enables a more sophisticated analysis, resulting in better + runtime but longer compile time. + .. ghc-flag:: -feager-blackholing :shortdesc: Turn on :ref:`eager blackholing <parallel-compile-options>` :type: dynamic ===================================== m4/find_ld.m4 ===================================== @@ -21,14 +21,7 @@ AC_DEFUN([FIND_LD],[ return fi - case $CPU in - i386) - # We refuse to use ld.gold on i386 due to #23579, which we don't - # have a good autoconf check for. - linkers="ld.lld ld" ;; - *) - linkers="ld.lld ld.gold ld" ;; - esac + linkers="ld.lld ld" # Manually iterate over possible names since we want to ensure that, e.g., # if ld.lld is installed but gcc doesn't support -fuse-ld=lld, that we ===================================== testsuite/tests/driver/recomp015/all.T ===================================== @@ -5,7 +5,11 @@ test('recomp015', # See ticket:11022#comment:7 unless(opsys('linux') or opsys('solaris2') or opsys('openbsd'), skip), when(arch('arm'), skip), - js_skip # JS backend doesn't support .s assembly files + js_skip, # JS backend doesn't support .s assembly files + + # the linker sometimes throws warnings since we don't + # generate a .note.GNU-stack section + ignore_stderr, ], makefile_test, []) ===================================== utils/ghc-toolchain/src/GHC/Toolchain/Tools/Link.hs ===================================== @@ -91,7 +91,7 @@ findLinkFlags enableOverride cc ccLink -- executable exists before trying cc. do _ <- findProgram (linker ++ " linker") emptyProgOpt ["ld."++linker] prog <$ checkLinkWorks cc prog - | linker <- ["lld", "gold"] + | linker <- ["lld", "bfd"] , let prog = over _prgFlags (++["-fuse-ld="++linker]) ccLink ] <|> (ccLink <$ checkLinkWorks cc ccLink) View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/34e2e4f1e7b563f0f0c54b1cb668a4d... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/34e2e4f1e7b563f0f0c54b1cb668a4d... You're receiving this email because of your account on gitlab.haskell.org.