<!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: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.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,0.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;">
Rodrigo Mesquita pushed to branch wip/romes/rts-linker-direct-symbol-lookup 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: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cd0fb82f57a16c96e720d47ec80a4f8fda58083d">cd0fb82f</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-03-27T19:33:08+00: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;'>EPA: Fix FamDecl range
The span was incorrect if opt_datafam_kind_sig was empty
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f8f384a8cc7212284379d109f6dc78c6188f3f18">f8f384a8</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2024-03-29T01:23:03-04: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;'>Fix type of _get_osfhandle foreign import
Fixes #24601.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/00d3ecf0775c1a3f1ab8495e5e125f21d450394e">00d3ecf0</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-03-29T12:19:10+00: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;'>EPA: Extend StringLiteral range to include trailing commas
This goes slightly against the exact printing philosophy where
trailing decorations should be in an annotation, but the
practicalities of adding it to the WarningTxt environment, and the
problems caused by deviating do not make a more principles approach
worthwhile.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/efab3649b685d92b1856a62532b343ef70777612">efab3649</a></strong>
<div>
<span> by brandon s allbery kf8nh </span> <i> at 2024-03-31T20:04:01-04: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;'>clarify Note [Preproccesing invocations]
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/aa7f36837b0f205ed7aabe483af22869324a7a29">aa7f3683</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2024-04-01T10:24:00+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;'>loader: Note down suggestion for needed_mods
The associated ticket is #24600
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/83dad9ba7fa7c92c81e48ab01f8149b08978ccf6">83dad9ba</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2024-04-01T10:24:00+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;'>rts: free error message before returning
Fixes a memory leak in rts/linker/PEi386.c
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ea6384ca823609f973d09b41b0e6ef0e82adf6f0">ea6384ca</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2024-04-01T10:24:00+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;'>Start writing test
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4e9433f72fcf6dc56e71218592bfd43d763937d9">4e9433f7</a></strong>
<div>
<span> by Alexis King </span> <i> at 2024-04-01T10:24:00+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;'>linker: Avoid linear search when looking up Haskell symbols via dlsym
Write Note [Looking up symbols in the relevant objects]
Write Note [Symbols may not be found in pkgs_loaded]
Use lookupHsSymbol for PrimOps too
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f0b8606f2d6b288deace25788d5e3e2f5fc010c7">f0b8606f</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2024-04-01T10:24:00+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;'>wip: make addDLL wrapper around loadNativeObj
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/089d19839c8fd10add7eb46ff85eb6ac125e35bc">089d1983</a></strong>
<div>
<span> by Alexis King </span> <i> at 2024-04-01T10:24:00+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;'>wip: use loadNativeObj to implement addDLL
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cd8e1bcab752d769ff8c4617af63dadfd99a1dd5">cd8e1bca</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2024-04-01T10:24:00+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;'>Refactor loadNativeObj_ELF to _POSIX and delete dl_mutex
CPP Support loadNativeObj in MachO
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/797b857c73df97cb7148f3c28f034420756ee1d5">797b857c</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2024-04-01T10:24:00+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;'>Use symbol cache in internal interpreter too
This commit makes the symbol cache that was used by the external
interpreter available for the internal interpreter too.
This follows from the analysis in #23415 that suggests the internal
interpreter could benefit from this cache too, and that there is no good
reason not to have the cache for it too. It also makes it a bit more
uniform to have the symbol cache range over both the internal and
external interpreter.
This commit also refactors the cache into a function which is used by
both `lookupSymbol` and also by `lookupSymbolInDLL`, extending the
caching logic to `lookupSymbolInDLL` too.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a9e42fa9107949fd33a9fa91ffcdfe5369c51656">a9e42fa9</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2024-04-01T10:24:00+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;'>Implement lookupSymbolInDLL for ExternalInterp
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#e9ff0b0d2f5cc08a6cd3b9e0f7b4592063e37c77">
<span class="new-file">
+
T23415/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#09d0809789b53f3488e9791d8c761c9f158c3401">
<span class="new-file">
+
T23415/main.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#f75d48f249242be3a3a3c2044817da8dfcc0a696">
<span class="new-file">
+
T23415/make_shared_libs.sh
</span>
</a>
</li>
<li class="file-stats">
<a href="#0b14ba35345da2be0ed8a96fbb0c65500a2ecfb6">
<span class="new-file">
+
T23415/new-main.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#170703265b377e7137bf19b26decf8e331338c61">
<span class="new-file">
+
T23415/run_test.sh
</span>
</a>
</li>
<li class="file-stats">
<a href="#d0d96a6d03668aeab20ebe05e2c4ccb798c7e64c">
compiler/GHC.hs
</a>
</li>
<li class="file-stats">
<a href="#11e6f6a348be9920cecad0893a25350137524b4f">
compiler/GHC/ByteCode/Linker.hs
</a>
</li>
<li class="file-stats">
<a href="#9a679a2680ef6061397f1987091ea9f96ffe095d">
compiler/GHC/Driver/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#c4236c3de9fb0253d53aab2fe6dbdd3a2aa8b8bc">
compiler/GHC/Driver/Plugins.hs
</a>
</li>
<li class="file-stats">
<a href="#5aa3321b0f5c08d7ebfa1a4a3340d4451258988b">
compiler/GHC/Linker/Loader.hs
</a>
</li>
<li class="file-stats">
<a href="#195d402e82767aba8bfcc1bc191497dc297d3962">
compiler/GHC/Linker/MacOS.hs
</a>
</li>
<li class="file-stats">
<a href="#d4c7e80d0458dd6a2a45a2f3c1ca5826d3fa1cba">
compiler/GHC/Linker/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#bf951467d4a9aa443cb109cb4c84a2891945649b">
compiler/GHC/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#efe7444c09eed0fdaa83e6904e6328fb435620bf">
compiler/GHC/Runtime/Interpreter.hs
</a>
</li>
<li class="file-stats">
<a href="#6522eb478fcef05ded3ea7e20ca577c6d85a5fd8">
compiler/GHC/Runtime/Interpreter/JS.hs
</a>
</li>
<li class="file-stats">
<a href="#6b29c1575b27588edcc0f976faedbffeb8343176">
compiler/GHC/Runtime/Interpreter/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#3cbbd9c02cde19cedac4f5fafb06bfd493520e80">
compiler/GHC/Runtime/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#1d9db80eb96ba810823e994df91686a927f469d9">
compiler/GHC/SysTools/Cpp.hs
</a>
</li>
<li class="file-stats">
<a href="#ed5b77135b8d6077d6f77541d166d7b8fe93f9de">
libraries/ghci/GHCi/Message.hs
</a>
</li>
<li class="file-stats">
<a href="#4ba2f0376a3857da0c781f2a39ae648ec42663f8">
libraries/ghci/GHCi/ObjLink.hs
</a>
</li>
<li class="file-stats">
<a href="#fdd34ceb84d7b95dccbd9172ce507eaea9b5abd4">
libraries/ghci/GHCi/Run.hs
</a>
</li>
<li class="file-stats">
<a href="#044fe9284335a9bfd17546e06c2e5c40a680dd3d">
rts/Linker.c
</a>
</li>
<li class="file-stats">
<a href="#687f0b17315e54a1692de64626391e572ca298e9">
rts/LinkerInternals.h
</a>
</li>
<li class="file-stats">
<a href="#16c842a51a135c8ef2c7c7f94336544868348a3c">
rts/RtsSymbols.c
</a>
</li>
<li class="file-stats">
<a href="#9704e324b87028becd10cc4a86f77fca392da81e">
rts/include/rts/Linker.h
</a>
</li>
<li class="file-stats">
<a href="#b7ec52d5e302083ed03503182f1293694dda24f3">
rts/linker/Elf.c
</a>
</li>
<li class="file-stats">
<a href="#427e40b26b348edf7bc8d906629d672f3c26bdec">
rts/linker/Elf.h
</a>
</li>
<li class="file-stats">
<a href="#f85f6430a2594d4b119a087a61cfc7c6b89181f4">
<span class="new-file">
+
rts/linker/LoadNativeObjPosix.c
</span>
</a>
</li>
<li class="file-stats">
<a href="#a9c6639baaa61abcc6849030ba8cf3ebe7c44d45">
<span class="new-file">
+
rts/linker/LoadNativeObjPosix.h
</span>
</a>
</li>
<li class="file-stats">
<a href="#9670354b74fe55079feca82e1510129734b46f4f">
rts/linker/PEi386.c
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.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/-/compare/573b9729cabfbbc4810ae894ec7a6932ab24dcd3...a9e42fa9107949fd33a9fa91ffcdfe5369c51656">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>
</p>
</div>
</body>
</html>