On Fri, Jan 04, 2008 at 03:01:02PM -0600, Maynard Johnson wrote:
> library makes use of a new function, then it must use the new
> libopagent. An attempt to use (at runtime) an older version would
> result in an error at load time: e.g., "symbol foo, version OPAGENT_2.0
> not defined in libopagent.so.1".
I agree with symbol versioning in principle.
> Aside from the patched files, a new file (attached) will be added to the
> libopagent directory: opagent.ver. This is a version script file passed
Is this the normal suffix used for such files (I don't remember seeing
such a suffix before?)
> to the linker that's used for the actual symbol versioning.
> Technically, we would not need to have a version script file for the
> base version of the library since, by default, all the symbols being
> defined now would be given the base version. But it doesn't hurt and it
> sets up the infrastructure for future needs.
It's absolutely critical that we clearly define this, so it's definitely
> This patch also introduces the use of libtool for building libopagent
That's fine, I think. We're Linux-specific enough for it not to matter
(it might have done, but the BSD people decided to ignore the work we've
done - oh well).