[Spice-devel] [PATCH] server: add symbol versioning to the spice server shared library.

Alon Levy alevy at redhat.com
Tue Jul 19 05:13:07 PDT 2011


On Tue, Jul 19, 2011 at 01:59:31PM +0200, Gerd Hoffmann wrote:
> This patch adds symbol versions to the spice server library.  Each
> symbol which is exported by libspice-server gets tagged with the
> (stable) version where it appeared first.  This way the linker and rpm
> are able to figure which version of the spice-server libary is required
> by a particular qemu binary/package.
> 

Didn't realize this is how this works - I was sure it was automatic. Pretty
cool. When I add the spice_qxl_* will I have to update spice-server.syms too?

> Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
> ---
>  server/Makefile.am       |    1 +
>  server/spice-server.syms |   66 ++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 67 insertions(+), 0 deletions(-)
>  create mode 100644 server/spice-server.syms
> 
> diff --git a/server/Makefile.am b/server/Makefile.am
> index 601840a..d94f9fb 100644
> --- a/server/Makefile.am
> +++ b/server/Makefile.am
> @@ -34,6 +34,7 @@ lib_LTLIBRARIES = libspice-server.la
>  
>  libspice_server_la_LDFLAGS =			\
>  	-version-number $(SPICE_LT_VERSION)	\
> +	-Wl,--version-script=spice-server.syms	\
>  	-no-undefined				\
>  	$(NULL)
>  
> diff --git a/server/spice-server.syms b/server/spice-server.syms
> new file mode 100644
> index 0000000..7f3c5d4
> --- /dev/null
> +++ b/server/spice-server.syms
> @@ -0,0 +1,66 @@
> +SPICE_SERVER_0.6.0 {
> +global:
> +    spice_server_add_interface;
> +    spice_server_add_renderer;
> +    spice_server_char_device_recognized_subtypes;
> +    spice_server_char_device_wakeup;
> +    spice_server_destroy;
> +    spice_server_get_image_compression;
> +    spice_server_get_peer_info;
> +    spice_server_get_sock_info;
> +    spice_server_init;
> +    spice_server_kbd_leds;
> +    spice_server_migrate_client_state;
> +    spice_server_migrate_end;
> +    spice_server_migrate_info;
> +    spice_server_migrate_start;
> +    spice_server_new;
> +    spice_server_playback_get_buffer;
> +    spice_server_playback_put_samples;
> +    spice_server_playback_start;
> +    spice_server_playback_stop;
> +    spice_server_record_get_samples;
> +    spice_server_record_start;
> +    spice_server_record_stop;
> +    spice_server_remove_interface;
> +    spice_server_set_addr;
> +    spice_server_set_agent_mouse;
> +    spice_server_set_channel_security;
> +    spice_server_set_image_compression;
> +    spice_server_set_jpeg_compression;
> +    spice_server_set_noauth;
> +    spice_server_set_playback_compression;
> +    spice_server_set_port;
> +    spice_server_set_streaming_video;
> +    spice_server_set_ticket;
> +    spice_server_set_tls;
> +    spice_server_set_zlib_glz_compression;
> +local: *;
> +};
> +
> +SPICE_SERVER_0.6.1 {
> +global:
> +    spice_get_current_compat_version;
> +    spice_server_set_compat_version;
> +} SPICE_SERVER_0.6.0;
> +
> +SPICE_SERVER_0.8.0 {
> +global:
> +    spice_server_migrate_switch;
> +} SPICE_SERVER_0.6.1;
> +
> +SPICE_SERVER_0.8.1 {
> +global:
> +    spice_server_set_agent_copypaste;
> +} SPICE_SERVER_0.8.0;
> +
> +SPICE_SERVER_0.10.0 {
> +global:
> +    spice_server_playback_set_mute;
> +    spice_server_playback_set_volume;
> +    spice_server_record_set_mute;
> +    spice_server_record_set_volume;
> +    spice_server_set_sasl;
> +    spice_server_set_sasl_appname;
> +} SPICE_SERVER_0.8.1;
> +
> -- 
> 1.7.1
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list