<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>

<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>


<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: var(--default-regular-font, "GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px; font-family: var(--default-regular-font, "GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">

<h3 style="margin-top: 20px; margin-bottom: 10px;">
Matthew Pickering pushed to branch wip/prof-dyn at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/01fd5ec84fc704ce01d36805be9f463c98d46c1d">01fd5ec8</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2024-07-03T17:08:49+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add support for building profiled dynamic way

The main payload of this change is to hadrian.

* Default settings will produced dynamic profiled objects
* `-fexternal-interpreter` is turned on in some situations when there is
  an incompatibility between host GHC and the way attempting to be
  built.
* Very few changes actually needed to GHC

There are also necessary changes to the bootstrap plans to work with the
vendored Cabal dependency. These changes should ideally be reverted by
the next GHC release.

In hadrian support is added for building profiled dynamic libraries
(nothing too exciting to see there)

Updates hadrian to use a vendored Cabal submodule, it is important that
we replace this usage with a released version of Cabal library before
the 9.12 release.

Fixes #21594

-------------------------
Metric Increase:
    libdir
-------------------------
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44">
.gitmodules
</a>
</li>
<li class="file-stats">
<a href="#d0d96a6d03668aeab20ebe05e2c4ccb798c7e64c">
compiler/GHC.hs
</a>
</li>
<li class="file-stats">
<a href="#1dab250036d04cfcf3530f6ff27889f723cc2dda">
compiler/GHC/Driver/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc">
compiler/GHC/Driver/Session.hs
</a>
</li>
<li class="file-stats">
<a href="#df1fca609f31dac0cde9df4e87ccbac2654de2f7">
compiler/GHC/Linker/Deps.hs
</a>
</li>
<li class="file-stats">
<a href="#5aa3321b0f5c08d7ebfa1a4a3340d4451258988b">
compiler/GHC/Linker/Loader.hs
</a>
</li>
<li class="file-stats">
<a href="#1fae001384bad41fc05e09295fe14c83a5174890">
hadrian/bootstrap/bootstrap.py
</a>
</li>
<li class="file-stats">
<a href="#c5bee452e865d82645ddab639d88d75f9ecf7e77">
hadrian/bootstrap/generate_bootstrap_plans
</a>
</li>
<li class="file-stats">
<a href="#a0620fae6be7abd0fe65125eee6e2b82f76f0eb3">
hadrian/bootstrap/hadrian-bootstrap-gen.cabal
</a>
</li>
<li class="file-stats">
<a href="#f644abc1b4dcc16122a571cd3fd554b8d72e6932">
hadrian/bootstrap/plan-9_10_1.json
</a>
</li>
<li class="file-stats">
<a href="#1084f46e2f053977d1b5e9f351f545f0b25fd7f7">
hadrian/bootstrap/plan-9_6_1.json
</a>
</li>
<li class="file-stats">
<a href="#4b232c1e28742081c224114368585704fa02e286">
hadrian/bootstrap/plan-9_6_2.json
</a>
</li>
<li class="file-stats">
<a href="#c6645af745f47d080ec73dc199e1d8ec76e4db1b">
hadrian/bootstrap/plan-9_6_3.json
</a>
</li>
<li class="file-stats">
<a href="#d9058d9d5c6ed1a856683aadb5e77e2324d1f66e">
hadrian/bootstrap/plan-9_6_4.json
</a>
</li>
<li class="file-stats">
<a href="#3c22aa2dbd6ff47c3fb2604ae0548257a5a84c34">
hadrian/bootstrap/plan-9_6_5.json
</a>
</li>
<li class="file-stats">
<a href="#213d5ac1d66e7d7af3df8c583440de1937637f05">
hadrian/bootstrap/plan-9_8_1.json
</a>
</li>
<li class="file-stats">
<a href="#0ab390155ee2a139ba49c9d279198aa49fec6bd5">
hadrian/bootstrap/plan-9_8_2.json
</a>
</li>
<li class="file-stats">
<a href="#2c6366320579249939c23f1af36699c216d24b2e">
hadrian/bootstrap/plan-bootstrap-9_10_1.json
</a>
</li>
<li class="file-stats">
<a href="#55134cfc051396955cf4a4e43a2f146026c4aca3">
hadrian/bootstrap/plan-bootstrap-9_6_1.json
</a>
</li>
<li class="file-stats">
<a href="#13bfc68833da350c20f4c484b7e4ec0e9c0744ef">
hadrian/bootstrap/plan-bootstrap-9_6_2.json
</a>
</li>
<li class="file-stats">
<a href="#297020149d946039120d2ebfee8ba8bc46f3d1f0">
hadrian/bootstrap/plan-bootstrap-9_6_3.json
</a>
</li>
<li class="file-stats">
<a href="#1b2f9f2126d28a19a2707d4d2e368df560540b61">
hadrian/bootstrap/plan-bootstrap-9_6_4.json
</a>
</li>
<li class="file-stats">
<a href="#1d1e75fde948f15bc5c654cc2a15c0689005d133">
hadrian/bootstrap/plan-bootstrap-9_6_5.json
</a>
</li>
<li class="file-stats">
<a href="#ac9b7d08b65bb33bc83588c0fc565ff6c320e2c7">
hadrian/bootstrap/plan-bootstrap-9_8_1.json
</a>
</li>
<li class="file-stats">
<a href="#34e74b35c272fe5942571e64f19a25101a3c18f6">
hadrian/bootstrap/plan-bootstrap-9_8_2.json
</a>
</li>
<li class="file-stats">
<a href="#2af3f9df52ca68a14c1a4548a736214a8f11a7eb">
hadrian/bootstrap/src/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#221001d8ce827f3bbedbbf26626049026c5c523b">
hadrian/build-cabal
</a>
</li>
<li class="file-stats">
<a href="#5b653ef3b00262d0f1454de11e0714bd59d072e5">
hadrian/cabal.project
</a>
</li>
<li class="file-stats">
<a href="#2eeb40f0acd6cb433ebe65e34262040b618908a7">
hadrian/hadrian.cabal
</a>
</li>
<li class="file-stats">
<a href="#75cacc4ac88e6417ff1b69b1c18dd8a26fc845a0">
hadrian/src/Context.hs
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: .875rem;">
The diff was not included because it is too large.
</h5>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #737278;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/commit/01fd5ec84fc704ce01d36805be9f463c98d46c1d">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.haskell.org">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.haskell.org/ghc/ghc/-/commit/01fd5ec84fc704ce01d36805be9f463c98d46c1d"}}</script>


</p>
</div>
</body>
</html>