From e75d110c68709c0a20c0b32a7c6022f108bed94d Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Tue, 8 Jun 2004 05:32:51 +0000 Subject: [PATCH] * Makefile.in (check//%): New. --- gdb/ChangeLog | 4 ++-- gdb/Makefile.in | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d5d80d7ae9..501ec4b3d3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,7 @@ 2004-06-08 Alexandre Oliva + * Makefile.in (check//%): New. + * mn10300-tdep.c (mn10300_extract_return_value): Rewrite. (mn10300_store_return_value): Rewrite. (mn10300_type_align): New. @@ -8,8 +10,6 @@ (mn10300_pop_frame_regular): Add saved_regs_size. (mn10300_gdbarch_init): Remove deprecated rewritten entry points. -2004-06-08 Alexandre Oliva - * mn10300-tdep.c (mn10300_analyze_prologue): Don't compute saved regs if PC is on movm. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 8cb27b5895..e707c554b3 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -956,6 +956,34 @@ check: force $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \ else true; fi +# The idea is to parallelize testing of multilibs, for example: +# make -j3 check//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu} +# will run 3 concurrent sessions of check, eventually testing all 10 +# combinations. GNU make is required for the % pattern to work, as is +# a shell that expands alternations within braces. If GNU make is not +# used, this rule will harmlessly fail to match. +check//%: force + @if [ -f testsuite/config.status ]; then \ + rootme=`pwd`; export rootme; \ + rootsrc=`cd $(srcdir); pwd`; export rootsrc; \ + target=`echo "$@" | sed 's,//.*,,'`; \ + variant=`echo "$@" | sed 's,^[^/]*//,,'`; \ + vardots=`echo "$$variant" | sed 's,/,.,g'`; \ + testdir=testsuite.$$vardots; \ + if [ ! -f $$testdir/Makefile ]; then \ + (cd testsuite && find . -name config.status) | \ + sed s,/config.status$$,, | sort | while read subdir; do \ + $(SHELL) $(srcdir)/../mkinstalldirs $$testdir/$$subdir && \ + (cd $$testdir/$$subdir && \ + $(SHELL) $$rootme/testsuite/$$subdir/config.status \ + --recheck && \ + $(SHELL) ./config.status); done; \ + else :; fi && cd $$testdir && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) \ + RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \ + "$$target"; \ + else true; fi + info dvi install-info clean-info html install-html: force @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do