3 ms·
It used to be the case that resource limitations meant that shared libraries were meaningfully more efficient. I know that some software communities like to com
by UncleMeat 4y ago
It used to be the case that resource limitations meant that shared libraries were meaningfully more efficient. I know that some software communities like to complain about modern software bloat but statically linking everything is so incredibly valuable across so many different dimensions that it is absolutely worth the cost. Heck, modern link-time optimization probably means that applications run faster despite the code-size bloat.
Shared libraries not only require this absolutely crippling adherence to the ABI they also are a security mess since you need updates from both your software provider and your operating system vendor to ensure that anything is safe.
- pjmlp 4y agoStatic linking is even worse in what concerns security unless you can compile the world from scratch, every single time a new update comes out.
- UncleMeat 4y agoIf you can't recompile your application then you are already fucked for security regardless of static or dynamic linking. And even for vulns in libraries, to me, recompiling and shipping an update is a more trustworthy approach than just hoping that my users are getting library updates from their OS vendors.
- pjmlp 4y agoDynamic libraries can be updated independently of the main application, that is the whole point about plugins, and commercial software is a thing.
- UncleMeat 4y agoYes but they often aren't and you have no control over whether a user will update their dynamic libraries. And you still need to be able to recompile and redistribute your application because you are going to have vulns in your code as well so this hasn't actually saved you the responsibility of recompiling to protect your users.