summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-03 00:31:06 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-03 00:31:06 +0000
commit84dbdb74655cc9ebb0707226f53491cc3fb794ef (patch)
tree8aaac6aaace4a78c4f29d5c7a87dc34c95382ca4 /libstdc++-v3
parent6e51f7a7d6c7266cb0ee89e93ccb4cf45dcc799a (diff)
downloadgcc-84dbdb74655cc9ebb0707226f53491cc3fb794ef.tar.gz
Revert the pvs change.
2010-10-02 H.J. Lu <hongjiu.lu@intel.com> PR libstdc++/45863 * scripts/extract_symvers: Revert the pvs change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164913 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rwxr-xr-xlibstdc++-v3/scripts/extract_symvers64
2 files changed, 14 insertions, 55 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e3c384ddd79..4b07fb16855 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libstdc++/45863
+ * scripts/extract_symvers: Revert the pvs change.
+
2010-10-01 Benjamin Kosnik <bkoz@redhat.com>
* scripts/extract_symvers: Add support for tracking TLS symbols.
diff --git a/libstdc++-v3/scripts/extract_symvers b/libstdc++-v3/scripts/extract_symvers
index a3e15849d40..f6d4231cef5 100755
--- a/libstdc++-v3/scripts/extract_symvers
+++ b/libstdc++-v3/scripts/extract_symvers
@@ -26,14 +26,6 @@ fi
lib=$1
output=$2
-# Sun ld doesn't record symbol versions in .dynsym entries and they cannot
-# easily be extracted from readelf --versions output, so use pvs instead.
-if type pvs 2>&1 | grep 'not found' > /dev/null; then
- :
-else
- pvs="pvs -dsvo"
-fi
-
# GNU binutils, somewhere after version 2.11.2, requires -W/--wide to avoid
# default line truncation. -W is not supported and truncation did not occur
# by default before that point.
@@ -50,53 +42,15 @@ export LANG
tmp=extract.$$
-# Prefer pvs if found. Need to use nawk on Solaris 2 since Solaris 8/9 awk
-# (oawk) cannot handle sub.
-if [ -n ${pvs} ]; then
- ${pvs} ${lib} | \
- nawk '# Remove colon separator from version field, trailing semicolon.
- {
- sub (/:$/, "", $3);
- sub (/;$/, "");
- }
- # Record base version. The [BASE] field was only added in Solaris 11,
- # so simply use the first record instead.
- NR == 1 {
- basever = $3;
- next;
- }
- # Ignore version dependencies.
- $4 ~ /\{.*\}/ {
- next;
- }
- NF == 4 {
- if ($3 == $4 || $3 == basever)
- # Emit versions or symbols bound to base versions as objects.
- printf "OBJECT:0:%s\n", $4;
- else
- # Everything else without a size field is a function.
- printf "FUNC:%s@@%s\n", $4, $3;
- next;
- }
- # Emit objects.
- NF == 5 {
- # Strip parens from object size.
- sub (/^\(/, "", $5);
- sub (/\)$/, "", $5);
- printf "OBJECT:%s:%s@@%s\n", $5, $4, $3;
- next;
- }' | sort | uniq > $tmp 2>&1
-else
- ${readelf} ${lib} |\
- sed -e 's/ \[<other>: [A-Fa-f0-9]*\] //' -e '/\.dynsym/,/^$/p;d' |\
- egrep -v ' (LOCAL|UND) ' |\
- awk '{ if ($4 == "FUNC" || $4 == "NOTYPE")
- printf "%s:%s\n", $4, $8;
- else if ($4 == "OBJECT" || $4 == "TLS")
- printf "%s:%s:%s\n", $4, $3, $8;
- }' | sort | uniq > $tmp 2>&1
-# else printf "Huh? What is %s?\n", $8;
-fi
+${readelf} ${lib} |\
+sed -e 's/ \[<other>: [A-Fa-f0-9]*\] //' -e '/\.dynsym/,/^$/p;d' |\
+egrep -v ' (LOCAL|UND) ' |\
+awk '{ if ($4 == "FUNC" || $4 == "NOTYPE")
+ printf "%s:%s\n", $4, $8;
+ else if ($4 == "OBJECT" || $4 == "TLS")
+ printf "%s:%s:%s\n", $4, $3, $8;
+ }' | sort | uniq > $tmp 2>&1
+# else printf "Huh? What is %s?\n", $8;
# I think we'll be doing some more with this file, but for now, dump.