1 Linking currently fails on powerpc64 and powerpc64le when configured
2 with --without-versioned, as follows:
3 ../src/.libs/libasound.so: undefined reference to `.__snd_pcm_hw_params_set_format_first'
4 (And many similar messages.)
6 This appears to be due to a very old (2003) workaround for powerpc64,
7 (introduced by commit 06221f86) in include/alsa-symbols.h which alters
8 symbol names. While it was probably necessary at the time, it does not
9 appear to be necessary now and removing it fixes the build.
11 Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
13 include/alsa-symbols.h | 25 ++++---------------------
14 1 file changed, 4 insertions(+), 21 deletions(-)
16 diff --git a/include/alsa-symbols.h b/include/alsa-symbols.h
17 index 51cb982..0cb0b9f 100644
18 --- a/include/alsa-symbols.h
19 +++ b/include/alsa-symbols.h
21 #define INTERNAL_CONCAT2_2(Pre, Post) Pre##Post
22 #define INTERNAL(Name) INTERNAL_CONCAT2_2(__, Name)
25 -# define symbol_version(real, name, version) \
26 - __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version); \
27 - __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@" #version)
28 -# define default_symbol_version(real, name, version) \
29 - __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version); \
30 - __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@@" #version)
32 -# define symbol_version(real, name, version) \
33 - __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version)
34 -# define default_symbol_version(real, name, version) \
35 - __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version)
37 +#define symbol_version(real, name, version) \
38 +__asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version)
39 +#define default_symbol_version(real, name, version) \
40 +__asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version)
42 #ifdef USE_VERSIONED_SYMBOLS
43 #define use_symbol_version(real, name, version) \
45 default_symbol_version(real, name, version)
47 #define use_symbol_version(real, name, version) /* nothing */
49 -#define use_default_symbol_version(real, name, version) \
50 - __asm__ (".weak " ASM_NAME(#name)); \
51 - __asm__ (".weak ." ASM_NAME(#name)); \
52 - __asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real)); \
53 - __asm__ (".set ." ASM_NAME(#name) ",." ASM_NAME(#real))
55 #if defined(__alpha__) || defined(__mips__)
56 #define use_default_symbol_version(real, name, version) \
57 __asm__ (".weak " ASM_NAME(#name)); \
59 __asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real))
64 #endif /* __ALSA_SYMBOLS_H */