OSDN Git Service

* testsuite/abi_check.cc: Support older binutils/readelf.
authorljrittle <ljrittle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Aug 2002 02:57:11 +0000 (02:57 +0000)
committerljrittle <ljrittle@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Aug 2002 02:57:11 +0000 (02:57 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56530 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/abi_check.cc

index 6c43da0..38d12c8 100644 (file)
@@ -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.
 
index b3a695c..befac6b 100644 (file)
@@ -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"