[tile] bug fix for firstversions.awk
Joseph S. Myers
joseph@codesourcery.com
Thu Jan 26 00:33:00 GMT 2012
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 <cmetcalf@tilera.com>
>
> * 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
joseph@codesourcery.com
More information about the Libc-alpha
mailing list