I am looking at measuring the quality of DSOs. I.e., how expensive they are to load and use. While doing this I came across libselinux which nowadays is used a lot. The numbers were abysmal. Lots of local PLTs and tons of relative relocations.
So I spent about 8-10 hours on cleaning the code up. Now it's as good as it's gonna get but the price is high. We have hundreds of DSOs. If cleaning up each of them takes that long we are never going to finish it. The developers themselves need to pay attention. I was hoping my paper (PDF) on the subject would would help. It's downloaded 500-600 times a week but still people don't get it.