From 9a99b624c1158bc5088511e9cc8c2cf0808136c5 Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Sun, 17 Apr 2005 07:59:52 +0000 Subject: [PATCH] * tests/hardcode.test [solaris]: Use dumpstabs if available, to avoid false failure caused by debug section which contains command line (Solaris cc). --- ChangeLog | 6 ++++++ tests/hardcode.test | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e1b80eb99..45b011dd0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-04-17 Ralf Wildenhues + + * tests/hardcode.test [solaris]: Use dumpstabs if available, + to avoid false failure caused by debug section which contains + command line (Solaris cc). + 2005-04-17 Ralf Wildenhues (tiny change) * libtoolize.in: Fix syntax typos. diff --git a/tests/hardcode.test b/tests/hardcode.test index f264e03bd..0cf0249da 100755 --- a/tests/hardcode.test +++ b/tests/hardcode.test @@ -10,6 +10,9 @@ if test -z "$srcdir"; then fi . $srcdir/defs || exit 1 +# Extra tools we might need +: ${DUMPSTABS=dumpstabs} + # Check that things are built. if test -f $prefix/lib/libhello.la && cd ../demo; then : else @@ -95,12 +98,22 @@ for file in hc-*; do # Discover whether the objdir really was hardcoded. hardcoded=no + # Solaris cc may store the command line in a debugging section, + # which leads to false positives. Unfortunately, Solaris strip + # is not capable to remove the section (unlike GNU binutils strip). + # So we use dumpstabs if it seems to work. + if { $DUMPSTABS -d $file; } >/dev/null 2>&1; then + if $DUMPSTABS -d $file 2>/dev/null | $FGREP "$objdir" >/dev/null 2>&1; then + hardcoded=yes + else + hardcoded=no + fi # At least AIX fgrep doesn't work for binary files, and AIX also # doesn't have strings(1), so we need this strange conversion # (which only works on ASCII). # AIX fgrep also has a limited line length, so we turn unprintable # characters into newlines. - if cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ + elif cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ | $FGREP "$objdir" > /dev/null 2>&1; then hardcoded=yes elif $FGREP "$objdir" $file > /dev/null 2>&1; then -- 2.47.3