[v3] Filter out basever symbols on Solaris

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Tue Feb 26 11:48:00 GMT 2013


Currently, the Solaris baselines include several symbols that are not
libstdc++-specific, but are (or should be) present in every Solaris
shared object (like _DYNAMIC, _GLOBAL_OFFSET_TABLE_, and several
others).  Unfortunately, under some circumstances (combination of
assembler and linker used) they may be missing, leading to spurious
abi_check failures that are completely unrelated to the libstdc++.so.6
ABI.  To avoid this, the following patch skips them in
extract_symvers.{pl, in} and drops them from the baselines.

Bootstrapped without regressions on i386-pc-solaris2.{9,10,11},
sparc-sun-solaris2.{9,10,11}, and x86_64-unknown-linux-gnu, fixes the
64-bit abi_check failures on Solaris 10 and 11/x86.

To make sure that the fix to the readelf version is correct, I've run a
version of extract_symvers with the SunOS case removed in a
i386-pc-solaris2.11 build with gas and gld and verified that the output
is identical.

Ok for mainline?

	Rainer


2013-02-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* scripts/extract_symvers.pl: Omit symbols bound to base
	versions.
	* scripts/extract_symvers.in: Likewise.
	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sol2-libstdc++-basever.patch
Type: text/x-patch
Size: 5607 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130226/326386f5/attachment.bin>
-------------- next part --------------

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


More information about the Gcc-patches mailing list