Shared library versioning is a powerful tool, allowing your library to make new features available without breaking older consumers of them. The problem is — as I’ve noticed through the years — GCC linker scripting seems like witchcraft to many who’d otherwise use it, and only those with tribal knowledge can maintain the library. I agree: this information can be hard to find, and hard to understand. In this article, I’m going to give what I think is a recipe book for using LD version scripting to apply shared library versioning, and keep your library alive and compatible for years.
Continue reading “Linker Scripting and Linux Shared Library Versioning”