]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* testsuite/abi_check.cc: Support older binutils/readelf.
authorLoren J. Rittle <ljrittle@acm.org>
Fri, 23 Aug 2002 02:57:11 +0000 (02:57 +0000)
committerLoren J. Rittle <ljrittle@gcc.gnu.org>
Fri, 23 Aug 2002 02:57:11 +0000 (02:57 +0000)
From-SVN: r56530

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

index 6c43da08ee94c7e26a8b08a5bca852346a6730bc..38d12c8361b89d9571feaf78c1200a8abc1b1d78 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 b3a695c523bea0f108ed9b9f3ee23923a72c7c7c..befac6b160e0639a722544487e5e5ecc148348a0 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"