Stream: beginners

Topic: linkers


view this post on Zulip Qqwy / Marten (Jun 25 2022 at 12:03):

Could someone explain what (in broad strokes) the difference between the surgical linker and the legacy linker is?

view this post on Zulip Brian Carroll (Jun 25 2022 at 12:17):

Legacy linker is what you normally think of as a "linker". An external tool like ld
Surgical linker is our own implementation that does a cut-down version of the same thing.
When we link the platform to the app, there is not really much linking to do, and we know exactly what to link. So we can do something faster but less flexible. That's the surgical linker.

view this post on Zulip Qqwy / Marten (Jun 25 2022 at 12:18):

Thanks!

view this post on Zulip Richard Feldman (Jun 25 2022 at 12:31):

the legacy one is named legacy because the plan is to get rid of it once we have surgical linking working everywhere.

view this post on Zulip Richard Feldman (Jun 25 2022 at 12:31):

currently the surgical linker works great (and is used by default unless you opt out of it with --linker=legacy) on Linux, the macOS implementation is WIP, and Windows hasn't started yet


Last updated: Jul 05 2025 at 12:14 UTC