This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tile] bug fix for firstversions.awk

On Wed, 25 Jan 2012, Chris Metcalf wrote:

> This change didn't rouse any discussion when I posted it the first
> time, but it is required to be able to build the tile architecture
> libc properly, due to the relatively novel use of "GLIBC_2.12
> GLIBC_2.15" in the shlib-versions file.
> 2012-01-25  Chris Metcalf  <>
> 	* scripts/firstversions.awk: Fix bug in script that caused a version
> 	not to be emitted (libm's 2.12) when the actual versions mentioned
> 	in the Versions files don't include the architecture's first
> 	default (tile requests "GLIBC_2.12 GLIBC_2.15").

As best I understand this script (having fixed it a while back to work 
with GLIBC_2.10 versions), I think this is correct, but as it's critical 
to ABI compatibility I'd be more comfortable with testing that it doesn't 
change the ABI for some existing targets.  For example, build for x86_64 
before and after the patch - and make sure the installed shared library 
binaries from both builds are identical (supposing you used the same 
source and build paths for each build).  And do the same for MIPS, as a 
target that uses its shlib-versions file to disable GLIBC_2.1 versions.  
If both of those cases have no changes in the shared libraries resulting 
from the patch, that's strong evidence that the patch is safe.

(Generating lists of symbols with objdump --dynamic-syms and 
scripts/abilist.awk is another possibility for comparisons, but my 
experience is that if the paths are the same and the actual compiled 
source files don't change, then you are likely to get identical binaries.  
Cases where the binaries get temporary file names, timestamps or other 
such variable data embedded are however possible.)

Joseph S. Myers

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]