summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libctf/Makefile.am7
-rw-r--r--libctf/Makefile.in7
-rw-r--r--libctf/testsuite/lib/ctf-lib.exp12
-rw-r--r--libctf/testsuite/libctf-lookup/unnamed-field-info.lk1
4 files changed, 24 insertions, 3 deletions
diff --git a/libctf/Makefile.am b/libctf/Makefile.am
index c959b09e492..b1dbc2f6ba4 100644
--- a/libctf/Makefile.am
+++ b/libctf/Makefile.am
@@ -92,10 +92,15 @@ check-DEJAGNU: site.exp development.exp
r=`pwd`; export r; \
LC_ALL=C; export LC_ALL; \
EXPECT=$(EXPECT); export EXPECT; \
+ if [ "@host@" = "@target@" ] ; then \
+ TEST_CROSS=no; \
+ else \
+ TEST_CROSS=yes; \
+ fi; \
runtest=$(RUNTEST); \
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
$$runtest --tool $(DEJATOOL) --srcdir $${srcroot}/testsuite \
- CC="$(CC)" CC_FOR_TARGET="$(CC_FOR_TARGET)" \
+ CC="$(CC)" CC_FOR_TARGET="$(CC_FOR_TARGET)" TEST_CROSS="$${TEST_CROSS}" \
CFLAGS="$(CFLAGS) -I$(INCDIR) -I$(srcdir) -I$(builddir) -I$(builddir)/../bfd $(ZLIBINC)" \
LIBS="$(libctf_nobfd_la_LIBADD) $(LIBS)" $(RUNTESTFLAGS); \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
diff --git a/libctf/Makefile.in b/libctf/Makefile.in
index c6cb55c9768..3d2696bcc47 100644
--- a/libctf/Makefile.in
+++ b/libctf/Makefile.in
@@ -1678,10 +1678,15 @@ check-DEJAGNU: site.exp development.exp
r=`pwd`; export r; \
LC_ALL=C; export LC_ALL; \
EXPECT=$(EXPECT); export EXPECT; \
+ if [ "@host@" = "@target@" ] ; then \
+ TEST_CROSS=no; \
+ else \
+ TEST_CROSS=yes; \
+ fi; \
runtest=$(RUNTEST); \
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
$$runtest --tool $(DEJATOOL) --srcdir $${srcroot}/testsuite \
- CC="$(CC)" CC_FOR_TARGET="$(CC_FOR_TARGET)" \
+ CC="$(CC)" CC_FOR_TARGET="$(CC_FOR_TARGET)" TEST_CROSS="$${TEST_CROSS}" \
CFLAGS="$(CFLAGS) -I$(INCDIR) -I$(srcdir) -I$(builddir) -I$(builddir)/../bfd $(ZLIBINC)" \
LIBS="$(libctf_nobfd_la_LIBADD) $(LIBS)" $(RUNTESTFLAGS); \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
diff --git a/libctf/testsuite/lib/ctf-lib.exp b/libctf/testsuite/lib/ctf-lib.exp
index 3ee82a00a33..73b67b45e34 100644
--- a/libctf/testsuite/lib/ctf-lib.exp
+++ b/libctf/testsuite/lib/ctf-lib.exp
@@ -103,6 +103,9 @@ proc compile_link_one_host_cc { src output additional_args } {
# xfail: GLOB|PROC ...
# This test is expected to fail on a specified list of targets.
#
+# no_cross:
+# If set, do not run this test when host != target.
+#
# Each option may occur at most once unless otherwise mentioned.
#
# After the option lines come regexp lines. run_lookup_test calls
@@ -110,7 +113,7 @@ proc compile_link_one_host_cc { src output additional_args } {
# regexps in FILE.d.
#
proc run_lookup_test { name } {
- global CC_FOR_TARGET CFLAGS_FOR_TARGET LIBS
+ global CC_FOR_TARGET CFLAGS_FOR_TARGET LIBS TEST_CROSS
global copyfile env runtests srcdir subdir verbose
if ![runtest_file_p $runtests $name] then {
@@ -139,6 +142,7 @@ proc run_lookup_test { name } {
set opts(name) {}
set opts(source) {}
set opts(xfail) {}
+ set opts(no_cross) {}
foreach i $opt_array {
set opt_name [lindex $i 0]
@@ -156,6 +160,12 @@ proc run_lookup_test { name } {
set opts($opt_name) [concat $opts($opt_name) $opt_val]
}
+ if { [llength $opts(no_cross)] != 0
+ && "$TEST_CROSS" eq "yes" } {
+ untested "$subdir/$name not tested when cross-compiling"
+ return
+ }
+
if { [llength $opts(lookup)] == 0 } {
set opts(lookup) "$file.c"
} else {
diff --git a/libctf/testsuite/libctf-lookup/unnamed-field-info.lk b/libctf/testsuite/libctf-lookup/unnamed-field-info.lk
index eae6a517d50..680b8e0a4ca 100644
--- a/libctf/testsuite/libctf-lookup/unnamed-field-info.lk
+++ b/libctf/testsuite/libctf-lookup/unnamed-field-info.lk
@@ -1,2 +1,3 @@
# source: unnamed-field-info-ctf.c
+# no_cross: yes
Offset validation complete.