Revert the pvs change.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Oct 2010 00:31:06 +0000 (00:31 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Oct 2010 00:31:06 +0000 (00:31 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/scripts/extract_symvers

index e3c384d..4b07fb1 100644 (file)
@@ -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.
index a3e1584..f6d4231 100755 (executable)
@@ -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.