summaryrefslogtreecommitdiff
path: root/include/conf.h
diff options
context:
space:
mode:
authorJohn Spencer <maillist-alsa@barfooze.de>2014-11-15 13:41:00 +0100
committerTakashi Iwai <tiwai@suse.de>2014-11-16 09:41:17 +0100
commit11fdac949bebbe1cbb7a5faec52c95a416860b50 (patch)
tree01a0e3deecd969aaaafefe4f4ba28cb6241db3c8 /include/conf.h
parent5a066cb884815ab48924da8f70514d587400dd6a (diff)
snd_dlsym: only do versioning checks if built --with-versioning
a combination of some of the following garbage collecting LD/CFLAGS -Os -g0 -fdata-sections -ffunction-sections -s -Wl,--gc-sections -fno-unwind-tables -fno-asynchronous-unwind-tables causes the symbol versioning marker symbols to be removed from BSS since they're otherwise unreferenced. this causes dlsym failing to find them which results in runtime breakage: $ alsamixer ALSA lib dlmisc.c:142:(snd_dlsym_verify) unable to verify version for symbol snd_config_hook_load ALSA lib conf.c:3328:(snd_config_hooks_call) symbol snd_config_hook_load is not defined inside (null) ALSA lib conf.c:3788:(snd_config_update_r) hooks failed, removing configuration cannot open mixer: No such device or address correct DSO: $ objdump -T libasound.so.2.strip | grep _snd_config_hook_load_dlsym_config_hook_001 001196bc g DO .bss 00000001 _snd_config_hook_load_dlsym_config_hook_001 incorrect DSO: $ objdump -T libs/libasound.so.2 | grep _snd_config_hook_load_dlsym_config_hook_001 00000000 g DO *ABS* 00000001 _snd_config_hook_load_dlsym_config_hook_001 since alsa was built with --without-versioning, doing those versioning checks at all is unnecessary and harmful and thus now disabled in this case. Signed-off-by: John Spencer <maillist-alsa@barfooze.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/conf.h')
0 files changed, 0 insertions, 0 deletions