Linkers are very much like hyperdrives. They&#x27;re one of those ancient but ubiquitous technologies; no one knows how they work, but no one cares.<p>The basics of dynamic linking is actually pretty simple, but it&#x27;s tricky to find reference materials outside of reading the source code itself. A modern, mature dynamic linker supports a lot of very interesting and very powerful features, from LD_PRELOAD to LD_AUDIT to `dlmopen` (linker namespaces.)<p>I wonder whether this new linker plans to support all of these advanced features.<p>I&#x27;ve spent some time with these features to accomplish tasks such as:<p>- embedding Python interpreters within themselves using `dlmopen` (linker namespaces): <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;cf808ec7d8e1c36e01cc" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;cf808ec7d8e1c36e01cc</a> <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;423d0d0ccba771cf910f" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;423d0d0ccba771cf910f</a> <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;eba9b2f7980f400f6287" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;eba9b2f7980f400f6287</a> <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;2866d969d5e9209d501a" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;2866d969d5e9209d501a</a><p>- writing LD_PRELOAD-like modules in Python:
<a href="https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;6500c804b2f0141c9757" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;dutc&#x2F;6500c804b2f0141c9757</a><p>I think the LD_AUDIT approach taken by the latter project could also lead to re-implementing a dynamic linker in Python itself via the system&#x27;s linker&#x27;s auditing mechanism. This might be a very interesting educational exercise!