diff options
author | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-03 00:31:06 +0000 |
---|---|---|
committer | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-03 00:31:06 +0000 |
commit | 84dbdb74655cc9ebb0707226f53491cc3fb794ef (patch) | |
tree | 8aaac6aaace4a78c4f29d5c7a87dc34c95382ca4 /libstdc++-v3 | |
parent | 6e51f7a7d6c7266cb0ee89e93ccb4cf45dcc799a (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rwxr-xr-x | libstdc++-v3/scripts/extract_symvers | 64 |
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. |