3 ms·
> The way dynamic linking is done on UNIX-like systems has always seemed odd and a bit of an afterthought to me, and that explains why --- the actual loader in
by cryptonector 3y ago
> The way dynamic linking is done on UNIX-like systems has always seemed odd and a bit of an afterthought to me, and that explains why --- the actual loader in the OS kernel itself knows nearly nothing about dynamic linking. Instead it "redirects" execution to a loader (which is itself not that different from any other static binary) to do that.
This makes it much easier to evolve the system because kernel-land programming is harder than user-land programming. The trade-off is that the user-land run-time loader has its own bootstrapping complexity to deal with.
- userbinator 3y agoOn Windows, the loader for usermode runs in usermode too; but every executable, by design, doesn't get to choose what to use for its loader.
- cryptonector 3y ago> but every executable, by design, doesn't get to choose what to use for its loader. Sure it does: it can load whatever it wants however it wants once main() gets to run.