aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren J. Rittle <ljrittle@acm.org>2002-08-23 02:57:11 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2002-08-23 02:57:11 +0000
commit809abaff7e0596958793b603fdccfe3e9898a9eb (patch)
tree6c78a1ca2a60fd616a78cbc92b57a64f0c902edb
parent1f8151cf73de1c69b0f0a7fe8f9f4894f28a44d3 (diff)
downloadgcc-809abaff7e0596958793b603fdccfe3e9898a9eb.zip
gcc-809abaff7e0596958793b603fdccfe3e9898a9eb.tar.gz
gcc-809abaff7e0596958793b603fdccfe3e9898a9eb.tar.bz2
* testsuite/abi_check.cc: Support older binutils/readelf.
From-SVN: r56530
-rw-r--r--libstdc++-v3/ChangeLog1
-rw-r--r--libstdc++-v3/testsuite/abi_check.cc10
2 files changed, 10 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6c43da0..38d12c8 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,6 +1,7 @@
2002-08-22 Loren J. Rittle <ljrittle@acm.org>
* testsuite/abi_check.cc: Enhance shell portability.
+ Support older binutils/readelf.
* config/abi/i386-unknown-freebsd4.6: Add.
* config/abi/i386-unknown-freebsd4.6/baseline_symbols.txt: New file.
diff --git a/libstdc++-v3/testsuite/abi_check.cc b/libstdc++-v3/testsuite/abi_check.cc
index b3a695c..befac6b 100644
--- a/libstdc++-v3/testsuite/abi_check.cc
+++ b/libstdc++-v3/testsuite/abi_check.cc
@@ -236,8 +236,16 @@ int main(int argc, char** argv)
*/
const char quote = '"';
const char bslash = '\\';
+
+ // 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.
+ bool readelf_need_wide =
+ (system("readelf --help | grep -- --wide >/dev/null") == 0);
+
ostringstream cmd;
- cmd << "readelf -s -W " << test_lib << " | sed '/" << bslash
+ cmd << "readelf -s " << (readelf_need_wide ? "-W " : "")
+ << test_lib << " | sed '/" << bslash
<< ".dynsym/,/^$/p;d' | egrep -v ' (LOCAL|UND) ' | "
<< "awk '{ if ($4 == " << quote << "FUNC" << quote << "|| $4 == "
<< quote << "NOTYPE" << quote << ") printf " << quote << "%s:%s"