3 ms·
> More importantly, separating the dynamic linker from the C library itself would allow multiple versions of libc to coexist, eliminating a major source of comp
by jll29 2y ago
> More importantly, separating the dynamic linker from the C library itself would allow multiple versions of libc to coexist, eliminating a major source of compatibility issues. This is exactly how Windows handles it, which is one of the reasons Windows maintains such strong binary compatibility. You can still run decades-old Windows software today because Microsoft doesn’t force everything to be tied to a single, ever-changing libc.
One of the questions of multiple versions on the same box is what about security issues of those older versions...
- moron4hire 2y agoWhat about the security issues of the old operating systems people keep around for their mission critical software that has no upgrade path?
- pmarreck 2y agoisn't this tu quoque?
- m463 2y ago> Windows maintains such strong binary compatibility The REAL reason windows maintains binary compatibility is because it is commercial and nobody ships source code. In fact, many applications ship a whole boatload of DLLs, which I think is the commercial equivalent of static linking.
- bruce511 2y agoIt kinda is, and kinda isn't. It is, in the sense that the package is bigger, and the package ships "everything it needs". It isn't in the sense that those parts can be updated independently as long as the DLL interface is backward compatible. For example, I ship OpenSSL dlls with my app. Which means swapping in a later (compatible) OpenSSL can be done (by the user if necessary.) If I'm making a small utility I static link it - and I still use utilities daily I compiled 25 years ago. Obviously those dynamically link to KERNEL etc, but Microsoft has insane levels of compatibility there. And perhaps that's the fundamental root of the issue. Windows has one provider, very committed to the longevity of software. Linux, well, does not. That's OK. The world has room for different philosophies. And each one will have strengths and weaknesses.