[alsa-devel] alsa on Atmel at91

Michel Benoit murpme at gmail.com
Fri May 11 09:13:49 CEST 2007

> After reading up on .symvers it seems that there is a version number
> used to select which function to link against.
> If I look in the file src/Versions it seems that there is no
> definition for ALSA_1.0.13.  Could this be the problem?  I'm still
> trying to figure out how and where the version ALSA_X.X.X is passed in
> to the linker.

More research reveals that the symbol defined with @@ is the default
symbol taht is used when no version is given.  In my case the symbols
defined in pcm.c are:

.symver __snd_pcm_hw_params_get_period_size,snd_pcm_hw_params_get_period_size@@ALSA_0.9.0rc4
.symver __old_snd_pcm_hw_params_get_period_size,snd_pcm_hw_params_get_period_size at ALSA_0.9

and the __old version of the function should only be called if version
ALSA_0.9 is explicitely set by the app or somehow the default version
is being disabled or ignored.

Does anyone know how an application defines which version of symbols
it wants to use from a library?

Is there a way to disable symbol versioning in a lib?

Is any of this done explicitely as part of the alsa-lib and alsa-utils
build procedures?


More information about the Alsa-devel mailing list