[GOLD] debug_msg test
Cary Coutant
ccoutant@google.com
Tue Apr 16 22:29:00 GMT 2013
>>> First, I think it would be simpler to set DEFAULT_TARGET in
>>> configure.ac and AC_SUBST it in configure.ac. After the
>>> AM_CONDITIONAL lines setting DEFAULT_TARGET_ARM and friends:
>>> DEFAULT_TARGET=${targ_obj}
>>> AC_SUBST(DEFAULT_TARGET)
>>>
>>> Then after you run autoreconf DEFAULT_TARGET will be set in
>>> testsuite/Makefile.am.
>>>
>>> To get it into the environment, add this to testsuite/Makefile.am:
>>>
>>> .EXPORT_ALL_VARIABLES:
Here's an updated patch. I've verified that it *does* run the check
for undef_int on x86_64, and that it actually does see the right value
for $DEFAULT_TARGET. Alan, can you double-check this on PPC?
-cary
gold/
* configure.ac: Export DEFAULT_TARGET.
* configure: Regenerate.
* Makefile.in: Regenerate.
* testsuite/Makefile.am: Add .EXPORT_ALL_VARIABLES.
* testsuite/Makefile.in: Regenerate.
* testsuite/debug_msg.sh: Delete duplicate tests.
Don't check undef_int error message match for powerpc where the
source file and line number aren't available.
-------------- next part --------------
commit e2e1a6d9838775740c547eb4d66ad2f8a7f75c4c
Author: Cary Coutant <ccoutant@google.com>
Date: Tue Apr 16 15:24:16 2013 -0700
Don't run unsupported check in debug_msg.sh on ppc.
gold/
* configure.ac: Export DEFAULT_TARGET.
* configure: Regenerate.
* Makefile.in: Regenerate.
* testsuite/Makefile.am: Add .EXPORT_ALL_VARIABLES.
* testsuite/Makefile.in: Regenerate.
* testsuite/debug_msg.sh: Delete duplicate tests.
Don't check undef_int error message match for powerpc where the
source file and line number aren't available.
diff --git a/gold/configure.ac b/gold/configure.ac
index b03c09d..e3e10b3 100644
--- a/gold/configure.ac
+++ b/gold/configure.ac
@@ -206,6 +206,8 @@ for targ in $target $canon_targets; do
AM_CONDITIONAL(DEFAULT_TARGET_SPARC, test "$targ_obj" = "sparc")
AM_CONDITIONAL(DEFAULT_TARGET_X86_64, test "$targ_obj" = "x86_64")
AM_CONDITIONAL(DEFAULT_TARGET_TILEGX, test "$targ_obj" = "tilegx")
+ DEFAULT_TARGET=${targ_obj}
+ AC_SUBST(DEFAULT_TARGET)
fi
fi
fi
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index 4d02925..b05b1cf 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -53,26 +53,6 @@ TEST_AR = $(top_builddir)/../binutils/ar
TEST_NM = $(top_builddir)/../binutils/nm-new
TEST_AS = $(top_builddir)/../gas/as-new
-# Make the default target available to scripts as $DEFAULT_TARGET.
-if DEFAULT_TARGET_ARM
-export DEFAULT_TARGET = arm
-endif
-if DEFAULT_TARGET_I386
-export DEFAULT_TARGET = i386
-endif
-if DEFAULT_TARGET_POWERPC
-export DEFAULT_TARGET = powerpc
-endif
-if DEFAULT_TARGET_SPARC
-export DEFAULT_TARGET = sparc
-endif
-if DEFAULT_TARGET_X86_64
-export DEFAULT_TARGET = x86_64
-endif
-if DEFAULT_TARGET_TILEGX
-export DEFAULT_TARGET = tilegx
-endif
-
if PLUGINS
LIBDL = -ldl
endif
@@ -91,7 +71,10 @@ endif
# the right choice for files 'make' builds that people rebuild.
MOSTLYCLEANFILES = *.so *.syms *.stdout
-
+# Export make variables to the shell scripts so that they can see
+# (for example) DEFAULT_TARGET.
+.EXPORT_ALL_VARIABLES:
+
# We will add to these later, for each individual test. Note
# that we add each test under check_SCRIPTS or check_PROGRAMS;
# the TESTS variable is automatically populated from these.
diff --git a/gold/testsuite/debug_msg.sh b/gold/testsuite/debug_msg.sh
index c0d03b3..8c10d31 100755
--- a/gold/testsuite/debug_msg.sh
+++ b/gold/testsuite/debug_msg.sh
@@ -66,10 +66,10 @@ check debug_msg.err ".*/debug_msg.cc:50: error: undefined reference to 'undef_fn
check debug_msg.err ".*/debug_msg.cc:55: error: undefined reference to 'undef_fn2()'"
check debug_msg.err ".*/debug_msg.cc:43: error: undefined reference to 'undef_fn1()'"
check debug_msg.err ".*/debug_msg.cc:44: error: undefined reference to 'undef_fn2()'"
-check debug_msg.err ".*/debug_msg.cc:.*: error: undefined reference to 'undef_int'"
-check debug_msg.err ".*/debug_msg.cc:43: error: undefined reference to 'undef_fn1()'"
-check debug_msg.err ".*/debug_msg.cc:44: error: undefined reference to 'undef_fn2()'"
-check debug_msg.err ".*/debug_msg.cc:.*: error: undefined reference to 'undef_int'"
+if test "$DEFAULT_TARGET" != "powerpc"
+then
+ check debug_msg.err ".*/debug_msg.cc:.*: error: undefined reference to 'undef_int'"
+fi
# Check we detected the ODR (One Definition Rule) violation.
check debug_msg.err ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):"
@@ -100,10 +100,10 @@ then
check debug_msg_cdebug.err ".*/debug_msg.cc:55: error: undefined reference to 'undef_fn2()'"
check debug_msg_cdebug.err ".*/debug_msg.cc:43: error: undefined reference to 'undef_fn1()'"
check debug_msg_cdebug.err ".*/debug_msg.cc:44: error: undefined reference to 'undef_fn2()'"
- check debug_msg_cdebug.err ".*/debug_msg.cc:.*: error: undefined reference to 'undef_int'"
- check debug_msg_cdebug.err ".*/debug_msg.cc:43: error: undefined reference to 'undef_fn1()'"
- check debug_msg_cdebug.err ".*/debug_msg.cc:44: error: undefined reference to 'undef_fn2()'"
- check debug_msg_cdebug.err ".*/debug_msg.cc:.*: error: undefined reference to 'undef_int'"
+ if test "$DEFAULT_TARGET" != "powerpc"
+ then
+ check debug_msg_cdebug.err ".*/debug_msg.cc:.*: error: undefined reference to 'undef_int'"
+ fi
check debug_msg_cdebug.err ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):"
check debug_msg_cdebug.err "odr_violation1.cc:6"
check debug_msg_cdebug.err "odr_violation2.cc:12"
More information about the Binutils
mailing list