[PATCH v2 libevdev 13/13] Add ld version-script

Peter Hutterer peter.hutterer at who-t.net
Wed Aug 28 21:16:38 PDT 2013


On Mon, Aug 26, 2013 at 09:27:33AM +1000, Peter Hutterer wrote:
> From: David Herrmann <dh.herrmann at gmail.com>
> 
> Explicit symbol versioning allows us to provide multiple versions of
> incompatible API changes. It is a very common practice in GNU world and
> avoids the problems occuring if distributions try to ship multiple version
> of a single DSO.
> 
> We currently don't have any incompatibilities, but we need to start
> versioning right from the beginning to allow for smooth transitions later.
> 
> Background information available at:
>   http://people.redhat.com/drepper/dsohowto.pdf
> 
> To see the symbol-versions, use objdump:
>   objdump -T libevdev/.libs/libevdev.so.1.0.0
> This can also be used to verify that all 67 symbols are correctly
> exported (typos in linker-scripts are silently ignored by ld).
> 
> Note that we cannot mix linker-scripts with -export-* commands so we
> explicitly have to mark all symbols as visibility=public via EXPORT.
> 
> Signed-off-by: David Herrmann <dh.herrmann at gmail.com>
> Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

I ended up pushing this only partially. The LIBEVDEV_EXPORT bits are in, but
the linker versioning part of it isn't. I'll hold off that, mainly because
the API is a bit in flux (I've got more changes coming).

I'll merge the rest once we're ready to commit to an API, from then on we
can do proper versioning.

Cheers,
   Peter





More information about the Input-tools mailing list