On Sat, Jul 27, 2019 at 02:19:47PM +0100, Richard W.M. Jones wrote:
This patch adds support for symbol versions. It is based on what libvirt does.
The generated syms file looks like:
LIBNBD_1.0 { global: nbd_...; nbd_...; local: *; };
In a future stable 1.2 release, new symbols would go into a new section which would look like this:
LIBNBD_1.2 { global: nbd_new_symbol; nbd_another_new_symbol; local: *; } LIBNBD_1.0;
In my testing the ‘local:’ label is needed. For some reason libvirt doesn’t use it.
We do use it - just note that src/libvirt_public.syms is *not* what is used to link. We combine that file with libvirt_private.syms too, and when combining, add the "local: *" bit to the result. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|