[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/7047] New: ld incorectly sets versions of symbols for ALSA
From: |
silakov at ispras dot ru |
Subject: |
[Bug ld/7047] New: ld incorectly sets versions of symbols for ALSA |
Date: |
24 Nov 2008 20:25:00 -0000 |
Alsa's libasound tries to be backward compatible and sets appropriate versions
for every binary symbol. However, some time ago it was found that actual
versions were not set as expected, i.e. as specified by the file passed to ld
using '--version-script'.
More particular, version assignment starts properly but since some moment all
symbols obtain the default version, not the specified one.
After such a mismatch was discovered for a first time, the problematic version
nodes (that didn't have any effect) were simply dropped from the Version script,
so for experiments one should use not the very fresh release of alsa; let's
take 1.0.15, for example:
ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.15.tar.bz2
The script passed to ld with '--version-script' is src/Versions one, created
from the src/Versions.in by configure.
The file contains version nodes with names from ALSA_0.9 to ALSA_1.0.14. The
resulting library has symbols with ALSA_0.9, ALSA_0.9.0, ALSA_0.9.3, ...
ALSA_0.9.7 ... and all. Starting with ALSA_0.9.8, versions are not assigned;
instead of them, corresponding symbols obtain ALSA_0.9 version as the default
one for all snd_* symbols.
If we move snd_* from ALSA_0.9 to ALSA_1.0.14 node (the latest one), then
everything is ok - we see all problematic symbols to have proper versions
(surely, symbols not mentioned directly in the file now have ALSA_1.0.14
instead of ALSA_0.9, so this is not the solution).
So the question is - why the default version is set even for symbols for which
a separate entry in the Version file exists? Looks like a bug in ld.
The problem occurs with almost all versions of ld - haven't tried binutils 2.19
and head, but our investigation of distributions show that there is no
distribution that provides libasound where at least one symbol exists with
version ALSA_0.9.8 and higher.
--
Summary: ld incorectly sets versions of symbols for ALSA
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: unassigned at sources dot redhat dot com
ReportedBy: silakov at ispras dot ru
CC: bug-binutils at gnu dot org
http://sourceware.org/bugzilla/show_bug.cgi?id=7047
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
- [Bug ld/7047] New: ld incorectly sets versions of symbols for ALSA,
silakov at ispras dot ru <=
- [Bug ld/7047] ld incorectly sets versions of symbols for ALSA, amodra at bigpond dot net dot au, 2008/11/24
- [Bug ld/7047] ld incorectly sets versions of symbols for ALSA, silakov at ispras dot ru, 2008/11/25
- [Bug ld/7047] ld incorectly sets versions of symbols for ALSA, amodra at bigpond dot net dot au, 2008/11/25
- [Bug ld/7047] ld incorectly sets versions of symbols for ALSA, amodra at bigpond dot net dot au, 2008/11/25
- [Bug ld/7047] ld incorectly sets versions of symbols for ALSA, amodra at bigpond dot net dot au, 2008/11/25
- [Bug ld/7047] ld incorectly sets versions of symbols for ALSA, amodra at bigpond dot net dot au, 2008/11/25