[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:


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


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]