diff options
author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-06 13:34:35 +0000 |
---|---|---|
committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-06 13:34:35 +0000 |
commit | 59fd55c6a94bc9206f412fe2fcaf31143d1510bf (patch) | |
tree | 9cd8c5cc8e99593fa7a95b30995dfc6a838300c9 /libstdc++-v3 | |
parent | 487c79c3bd4f5e23e737763761ce044b015995b2 (diff) | |
download | gcc-59fd55c6a94bc9206f412fe2fcaf31143d1510bf.tar.gz |
Filter out basever symbols on Solaris
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196489 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
8 files changed, 23 insertions, 31 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 4068530f8f5..7b57efef3aa 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2013-03-06 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. + 2013-03-04 Ulrich Drepper <drepper@gmail.com> * include/ext/random (__gnu_cxx::von_mises_distribution<>): diff --git a/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt index 5072849bb55..8761f0e602e 100644 --- a/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt +++ b/libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt @@ -2485,12 +2485,6 @@ OBJECT:0:GLIBCXX_3.4.6 OBJECT:0:GLIBCXX_3.4.7 OBJECT:0:GLIBCXX_3.4.8 OBJECT:0:GLIBCXX_3.4.9 -OBJECT:0:_DYNAMIC -OBJECT:0:_GLOBAL_OFFSET_TABLE_ -OBJECT:0:_PROCEDURE_LINKAGE_TABLE_ -OBJECT:0:_edata -OBJECT:0:_end -OBJECT:0:_etext OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4 OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4 OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4 diff --git a/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt index 3874be08f07..b4c56b4902d 100644 --- a/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt +++ b/libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt @@ -2485,12 +2485,6 @@ OBJECT:0:GLIBCXX_3.4.6 OBJECT:0:GLIBCXX_3.4.7 OBJECT:0:GLIBCXX_3.4.8 OBJECT:0:GLIBCXX_3.4.9 -OBJECT:0:_DYNAMIC -OBJECT:0:_GLOBAL_OFFSET_TABLE_ -OBJECT:0:_PROCEDURE_LINKAGE_TABLE_ -OBJECT:0:_edata -OBJECT:0:_end -OBJECT:0:_etext OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10 OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10 OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3 diff --git a/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt index 3d3efcbaea9..225584726b4 100644 --- a/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt +++ b/libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt @@ -2485,12 +2485,6 @@ OBJECT:0:GLIBCXX_3.4.6 OBJECT:0:GLIBCXX_3.4.7 OBJECT:0:GLIBCXX_3.4.8 OBJECT:0:GLIBCXX_3.4.9 -OBJECT:0:_DYNAMIC -OBJECT:0:_GLOBAL_OFFSET_TABLE_ -OBJECT:0:_PROCEDURE_LINKAGE_TABLE_ -OBJECT:0:_edata -OBJECT:0:_end -OBJECT:0:_etext OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4 OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4 OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4 diff --git a/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt index 05fe095d63e..af51ca0633d 100644 --- a/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt +++ b/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt @@ -2499,12 +2499,6 @@ OBJECT:0:GLIBCXX_3.4.6 OBJECT:0:GLIBCXX_3.4.7 OBJECT:0:GLIBCXX_3.4.8 OBJECT:0:GLIBCXX_3.4.9 -OBJECT:0:_DYNAMIC -OBJECT:0:_GLOBAL_OFFSET_TABLE_ -OBJECT:0:_PROCEDURE_LINKAGE_TABLE_ -OBJECT:0:_edata -OBJECT:0:_end -OBJECT:0:_etext OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10 OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10 OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3 diff --git a/libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt index 3183063f84d..5509adfde6a 100644 --- a/libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt +++ b/libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt @@ -2499,12 +2499,6 @@ OBJECT:0:GLIBCXX_3.4.6 OBJECT:0:GLIBCXX_3.4.7 OBJECT:0:GLIBCXX_3.4.8 OBJECT:0:GLIBCXX_3.4.9 -OBJECT:0:_DYNAMIC -OBJECT:0:_GLOBAL_OFFSET_TABLE_ -OBJECT:0:_PROCEDURE_LINKAGE_TABLE_ -OBJECT:0:_edata -OBJECT:0:_end -OBJECT:0:_etext OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4 OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4 OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4 diff --git a/libstdc++-v3/scripts/extract_symvers.in b/libstdc++-v3/scripts/extract_symvers.in index eac24979867..a262435de7a 100755 --- a/libstdc++-v3/scripts/extract_symvers.in +++ b/libstdc++-v3/scripts/extract_symvers.in @@ -49,9 +49,12 @@ SunOS) if readelf --help | grep -- --wide > /dev/null; then readelf="$readelf --wide" fi + # Omit _DYNAMIC etc. for consistency with extract_symvers.pl, only + # present on Solaris. ${readelf} ${lib} |\ sed -e 's/ \[<other>: [A-Fa-f0-9]*\] //' -e '/\.dynsym/,/^$/p;d' |\ egrep -v ' (LOCAL|UND) ' |\ + egrep -v ' (_DYNAMIC|_GLOBAL_OFFSET_TABLE_|_PROCEDURE_LINKAGE_TABLE_|_edata|_end|_etext)$' |\ sed -e 's/ <processor specific>: / <processor_specific>:_/g' |\ sed -e 's/ <OS specific>: / <OS_specific>:_/g' |\ sed -e 's/ <unknown>: / <unknown>:_/g' |\ diff --git a/libstdc++-v3/scripts/extract_symvers.pl b/libstdc++-v3/scripts/extract_symvers.pl index 31723fbccc1..d43c53e231f 100644 --- a/libstdc++-v3/scripts/extract_symvers.pl +++ b/libstdc++-v3/scripts/extract_symvers.pl @@ -67,7 +67,11 @@ while (<PVS>) { if ($version eq $symbol or $version eq $basever) { # Emit versions or symbols bound to base versions as objects. $type{$symbol} = "OBJECT"; - $version{$symbol} = $symbol; + if ($version eq $basever) { + $version{$symbol} = $version; + } else { + $version{$symbol} = $symbol; + } $size{$symbol} = 0; } else { # Everything else without a size field is a function. @@ -120,6 +124,10 @@ foreach $symbol (keys %type) { if ($type{$symbol} eq "FUNC" || $type{$symbol} eq "NOTYPE") { push @lines, "$type{$symbol}:$symbol\@\@$version{$symbol}\n"; } elsif ($type{$symbol} eq "OBJECT" and $size{$symbol} == 0) { + # Omit symbols bound to base version; details can differ depending + # on the toolchain used. + next if $version{$symbol} eq $basever; + push @lines, "$type{$symbol}:$size{$symbol}:$version{$symbol}\n"; } else { push @lines, "$type{$symbol}:$size{$symbol}:$symbol\@\@$version{$symbol}\n"; |