β„οΈπŸ¦Š is a user on octodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Linkers are such weird pieces of software.

So intricate that they're a huge endeavor, so fundamental every developer needs one, but so obscure there's very few of them. There's more production-quality assemblers and web servers than linkers, but neither will ever work without a linker.

Such a strange corner of computer technology.

@icefox at least there's more than one FOSS one now!

β„οΈπŸ¦Š @icefox

@er1n @impiaaa yeah basically.

Microsoft link.exe deserves mention because it's apparently actually pretty good.

But even then... Intel has icc, but is there an Intel linker? Not that I'm aware.

Does Solaris have it's own linker? BSDs? Not afaik.

Β· Web Β· 0 Β· 1

@icefox @er1n @impiaaa Eeeeh, yes?

Solaris has it's own linker, FreeBSD has rtld(1), which itself seems to have diverged significantly from OpenBSD's ld.so(1)

@impiaaa @er1n @icefox I mean, 4.2BSD was a thing before the GNU project released its toolchain, so of course it had to have its own runtime linker.

@kellerfuchs @impiaaa @er1n yeah, but do modern BSDs use it? Idk. I should use bsd more.

@icefox @er1n @impiaaa Nevermind, I'm too tired to speak about tech tonight: you are talking about the toolchain's linker, not the dynamic (β€œrun-time”) linker.

@icefox @er1n @impiaaa Yes they are, but we kinda settled on the API between the two (ELF) last millenium.

@impiaaa @er1n @kellerfuchs eventually we'll invent something Better Enough that people start using it

But having written an ELF loader, apparently not yet.

@kellerfuchs @er1n @impiaaa I assume PE is is about as good, give or take a little.

Though I still love that a.out's Magic Number is the PDP-8 instructon for "jump forward the length of the header". Beautiful and terrible at the same time, sorta like Galadriel.

@icefox @er1n @impiaaa I believe Solaris (and illumos) has their own linker to go with their own libc. BSDs tend to use the GNU or LLD linkers. Not sure if OS X uses a proprietary linker or a GNU / LLD one.

@impiaaa @samis @er1n Yeah that's the thing

the modern choices are 'gnu' or 'lld', and as far as I know that's literally it.