Concerns regarding some library functions

Austin Clements amdragon at MIT.EDU
Thu Sep 29 13:15:36 PDT 2011

Quoth David Bremner on Sep 29 at  4:59 pm:
> On Thu, 29 Sep 2011 10:51:29 -0400, Austin Clements <amdragon at MIT.EDU> wrote:
> > Yes.  We could just deal with that (there aren't *that* many API
> > consumers).  For binary compatibility, I suppose we could even use
> > symbol versioning.
> I noticed a similar remark in lib/Makefile.local. But I'm not sure how
> this work if the interface of a given library function changed.  Can
> someone point me to some more explanation? 

With symbol versioning we'd still provide the old function (presumably
re-implemented in terms of the new function).  Both would wind up in
the .so and old binaries would still link against the old symbol.  It
doesn't help that much once something gets recompiled; assuming the
source isn't requesting a specific version of a symbol, it will try to
use the latest version.

That, however, is about the extent of my knowledge on symbol
versioning.  It's possible this simply doesn't work with symbols that
don't already have a version; I'm not sure.

More information about the notmuch mailing list