Writing Shared Libraries, first draft
mike at navi.cx
Sat Nov 6 01:08:28 EET 2004
On Fri, 05 Nov 2004 16:47:42 -0500, Stuart Anderson wrote:
> This involves more than just the header file stuff. In this case, both
> the name and version of the underlying symbol changed. We've seen lots
> of symbols change version without any other signature change, which is
> just as fatal ABI-wise, but have nothing to do with the headers at all.
Yeah, glibc wasn't a great example to choose.
> The whole concept of mangling symol in the headers has been a major pain
> for years.
I agree. Breaking backwards compatibility on a symbol level then
automatically choosing the newest when compiling is a very bad idea. It
implicitly assumes that everybody installs software from binaries and only
the original developers ever compile it. That's clearly wrong.
The "writing shared libraries" document advocates each symbol having only
one symbol version. Actually breaking compatibility in the library but not
changing the soname or function name is strongly recommended against (or
should be if I didn't make it clear in the text)
More information about the xdg