aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2013-03-06 13:34:35 +0000
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2013-03-06 13:34:35 +0000
commit06934c567370f7e8502d13b1157f99479561b00e (patch)
tree9cd8c5cc8e99593fa7a95b30995dfc6a838300c9
parentef266300ba9f8fdb2c72b2dd252f1e2c27158736 (diff)
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: https://gcc.gnu.org/svn/gcc/trunk@196489 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog11
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.10/amd64/baseline_symbols.txt6
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.10/baseline_symbols.txt6
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt6
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt6
-rw-r--r--libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt6
-rwxr-xr-xlibstdc++-v3/scripts/extract_symvers.in3
-rw-r--r--libstdc++-v3/scripts/extract_symvers.pl10
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";