This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. 81208388898d0d561dc0c167b8bb7b2d77e40381
- From: tromey at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 4 Nov 2013 18:04:16 -0000
- Subject: gdb and binutils branch master updated. 81208388898d0d561dc0c167b8bb7b2d77e40381
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 81208388898d0d561dc0c167b8bb7b2d77e40381 (commit)
via c63ffa1f25779407c89bc5d3dc1be16afe521819 (commit)
via 3fef966c5ff1b0f6031e31117547e901fedb08c4 (commit)
via 24890efdabbd9d827cdd2088b022f070da04b14f (commit)
via c59ffcabfe8b416384b9ec8288b77ae44643be4d (commit)
via 479c8d686e8b76802c2548708f939e014ebbe13c (commit)
via 1e537771557f684cafb8247ad4ec03d38ac4deb5 (commit)
via b44b82afd9ec85bff726e294b0d0065efb5179e0 (commit)
via 59b28c5dd267407c63968cb18d9f3c5aa78fa2ba (commit)
via 08b3fe691141c34a81531906ef9865fe8d25724c (commit)
via 32cfb09dfc283da30663f07b0e71726bcb3e093a (commit)
via 847415068e83cdeb6aeff56c31722f13584e74c1 (commit)
via cfb7b9a3e92292bfa9a9d76601214bdc43f660ef (commit)
via bdfe05946663103859b225da659a21e7f8647058 (commit)
via 8c639e7374a512c66850f636860140530c30b44f (commit)
via 5030a410ad1bd9a1d4aecf101ec1fa3519f04ed0 (commit)
via 95d7853ebb9258f938839ef257242f10851c7c09 (commit)
from e4630f71b252fa13df07f93d427e7c9f4505c1fe (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=81208388898d0d561dc0c167b8bb7b2d77e40381
commit 81208388898d0d561dc0c167b8bb7b2d77e40381
Author: Tom Tromey <tromey@redhat.com>
Date: Tue Aug 27 11:52:25 2013 -0600
switch to fully parallel mode
This switches "make check" to fully parallel mode.
One primary issue facing full parallelization is the overhead of
"runtest". On my machine, if I "touch gdb.base/empty.exp", making a
new file, and then "time runtest.exp", it takes 0.08 seconds.
Multiply this by the 1008 (in my configuration) tests and you get ~80
seconds. This is the overhead that would theoretically be present if
all tests were run in parallel.
However, the problem isn't nearly as bad as this, for two reasons.
First, you must divide by the number of jobs, assuming perfect
parallelization -- reasonably true for small -j numbers, based on the
results I see.
Second, the current test suite parallelization approach bundles the
tests, largely by directory, but also splitting up gdb.base into two
halves.
I was curious to see how the current bundling played out in practice,
so I ran "make -j1 check RUNTEST='/bin/time runtest'". This invokes
the parallel mode (thus the bundling) and then shows the time taken by
each invocation of runtest.
Then, I ran "/bin/time make -j3 check". (See below about -j2.)
The time for the entire -j3 test run was the same as the time for
"gdb.base1". What this means is that gdb.base1 is currently the
time-limiting run, preventing further parallelization gains.
So, I reason, whatever overhead we see from full parallelization will
only be seen by "-j1" and "-j2".
I then tried a -j2 test run. This does take longer than a -j3 build,
meaning that the gdb.base1 job finishes and then proceeds to other
runtest invocations.
Finally I tried a -j2 test run with the appended patch.
This was 9% slower than the -j2 run without the patch.
I think that is a reasonable slowdown for what is probably a rare
case. I believe this patch will yield faster test results for all -j
values greater than 2. For -j3 on my machine, the test suite is a few
seconds faster; I didn't try any larger -j values.
For -j1, I went ahead and changed the Makefile so that, if no -j
option is given, then the "check-single" mode is used. You can still
use "make -j1 check" to get single-job parallel-mode, though of course
there's no good reason to do so.
This change is likely to speed up the plain "make check" scenario a
little as we will now bypass dg-extract-results.sh.
One drawback of this change is that "make -jN check" is now much more
verbose. I generally only look at the .sum and .log files, but
perhaps this will bother some.
Another interesting question is scalability of the result. The
slowest test, which limits the scalability, took 80.78 seconds. The
mean of the remaining tests is 1.08 seconds. (Note that this is just
a rough estimate, since there are still outliers.)
This means we can run 80.78 / 1.08 =~ 74 tests in the time available.
And, in this data set (slightly older than the above, but materially
the same) there were 948 tests. So, I think the current test suite
should scale ok up to about -j12.
We could improve this number if need be by breaking up the biggest
tests.
2013-11-04 Tom Tromey <tromey@redhat.com>
* Makefile.in (TEST_DIRS): Remove.
(TEST_TARGETS, check-parallel): Rewrite.
(check-gdb.%, BASE1_FILES, BASE2_FILES, check-gdb.base%)
(subdir_do, subdirs): Remove.
(do-check-parallel, check/%): New targets.
(clean): Remove outputs, temp, and cache directories.
(saw_dash_j): New variable.
(CHECK_TARGET): Use it.
(check): Depend on all, site.exp. Rewrite.
(check-single): Remove dependencies.
(slow_tests, all_tests, reordered_tests): New variables.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c63ffa1f25779407c89bc5d3dc1be16afe521819
commit c63ffa1f25779407c89bc5d3dc1be16afe521819
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Oct 18 14:25:06 2013 -0600
fix some fission tests
A couple of Fission tests rely on the current directory layout. This
assumption is not valid in parallel mode.
This patch fixes the problem by removing the relative directory from
the .S files and instead having the tests set debug-file-directory
before opening the main file.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.dwarf2/fission-base.S: Remove "gdb.dwarf/".
* gdb.dwarf2/fission-base.exp: Set debug-file-directory
before loading binfile.
* gdb.dwarf2/fission-loclists.S: Remove "gdb.dwarf/".
* gdb.dwarf2/fission-loclists.exp: Set debug-file-directory
before loading binfile.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3fef966c5ff1b0f6031e31117547e901fedb08c4
commit 3fef966c5ff1b0f6031e31117547e901fedb08c4
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Oct 18 14:00:44 2013 -0600
fix some "exec" tests
A few tests run an inferior that execs some other program. The name
of this exec'd program is compiled in. These tests assume the current
test suite directory layout, but fail in parallel mode.
This patch fixes these tests by letting the .exp files pass in the
directory names at compile time.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/foll-exec.c (main): Use BASEDIR.
* gdb.base/foll-exec.exp: Define BASEDIR during compilation.
* gdb.base/foll-vfork.c (main): Use BASEDIR.
* gdb.base/foll-vfork.exp: Define BASEDIR during compilation.
* gdb.multi/bkpt-multi-exec.c (main): Use BASEDIR.
* gdb.multi/bkpt-multi-exec.exp: Define BASEDIR during compilation.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=24890efdabbd9d827cdd2088b022f070da04b14f
commit 24890efdabbd9d827cdd2088b022f070da04b14f
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Oct 18 13:12:32 2013 -0600
fix argv0-symlink.exp for parallel mode
argv0-symlink.exp doesn't work properly if standard_output_file puts
files into a per-test subdirectory. That's because it assumes that
files appear in $subdir, which is no longer true.
This patch fixes the problem by computing the correct directory at
runtime.
Tested both with and without GDB_PARALLEL on x86-64 Fedora 18.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/argv0-symlink.exp: Compute executable's directory
dynamically.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c59ffcabfe8b416384b9ec8288b77ae44643be4d
commit c59ffcabfe8b416384b9ec8288b77ae44643be4d
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 14:16:58 2013 -0600
make gdb.asm parallel-safe
This fixes gdb.asm to be parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.asm/asm-source.exp: Use standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=479c8d686e8b76802c2548708f939e014ebbe13c
commit 479c8d686e8b76802c2548708f939e014ebbe13c
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 12:27:36 2013 -0600
fix up gdb.server
This fixes gdb.server to be parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.server/file-transfer.exp: Use standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1e537771557f684cafb8247ad4ec03d38ac4deb5
commit 1e537771557f684cafb8247ad4ec03d38ac4deb5
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 12:18:57 2013 -0600
introduce relative_filename and use it
This introduces a new relative_filename proc to gdb.exp and changes
some tests to use it. This helps make these tests parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/fullname.exp: Use standard_output_file,
relative_filename.
* gdb.base/hashline1.exp: Use standard_testfile,
standard_output_file, relative_filename, clean_restart.
* gdb.base/hashline2.exp: Use standard_testfile,
standard_output_file.
* gdb.base/hashline3.exp: Use standard_testfile,
standard_output_file, relative_filename.
* lib/gdb.exp (relative_filename): New proc.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b44b82afd9ec85bff726e294b0d0065efb5179e0
commit b44b82afd9ec85bff726e294b0d0065efb5179e0
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 12:18:39 2013 -0600
update fileio test
This updates the fileio test to be parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/fileio.c (test_open, test_write, test_read)
(test_lseek, test_close, test_stat, test_fstat)
(test_isatty, test_system, test_rename, test_unlink):
Use OUTDIR define.
* gdb.base/fileio.exp: Define OUTDIR during compilation.
Use standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=59b28c5dd267407c63968cb18d9f3c5aa78fa2ba
commit 59b28c5dd267407c63968cb18d9f3c5aa78fa2ba
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 12:18:27 2013 -0600
update checkpoint test
This fixes the "checkpoint" test to use the standard output directory.
This makes the test be parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/checkpoint.c (main): Use PI_TXT and COPY1_TXT
defines.
* gdb.base/checkpoint.exp: Define PI_TXT and COPY1_TXT during
compilation. Use prepare_for_testing, standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=08b3fe691141c34a81531906ef9865fe8d25724c
commit 08b3fe691141c34a81531906ef9865fe8d25724c
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 12:18:01 2013 -0600
simple changes in gdb.base
This makes more changes in gdb.base to make it parallel-safe. I think
the changes in this particular patch are relatively straightforward,
so I've grouped them all together.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/advance.exp: Use standard_testfile and
prepare_for_testing.
* gdb.base/bigcore.exp: Use standard_output_file. "cd" to
appropriate directory when local.
* gdb.base/dump.exp: Use standard_output_file. Update all
"dump" and "restore" filenames.
* gdb.base/interact.exp: Use standard_output_file.
* gdb.base/jit-so.exp: Don't download file when local.
* gdb.base/jit.exp (compile_jit_test): Don't download file
when local.
* gdb.base/list.exp: Use gdb_remote_download.
* gdb.base/maint.exp: Use standard_output_file.
* gdb.base/prelink.exp: Use standard_output_file.
* gdb.base/save-bp.exp: Use standard_output_file.
* gdb.base/sepdebug.exp: Use standard_testfile,
standard_output_file.
(test_different_dir): Don't declare objdir.
* gdb.base/solib-search.exp: Use standard_output_file.
* gdb.base/step-line.exp: Use gdb_remote_download.
* gdb.base/trace-commands.exp: Use standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=32cfb09dfc283da30663f07b0e71726bcb3e093a
commit 32cfb09dfc283da30663f07b0e71726bcb3e093a
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 12:09:22 2013 -0600
fix up gdb.trace
This fixes gdb.trace to be parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.trace/mi-traceframe-changed.exp: Pass -DTFILE_DIR
to compilation. Use standard_output_file.
(test_tfind_tfile): Update.
* gdb.trace/tfile.c (write_basic_trace_file)
(write_error_trace_file): Use TFILE_DIR.
* gdb.trace/tfile.exp: Pass -DTFILE_DIR to compilation. Use
standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=847415068e83cdeb6aeff56c31722f13584e74c1
commit 847415068e83cdeb6aeff56c31722f13584e74c1
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 10:44:49 2013 -0600
fix up gdb.mi
This fixes gdb.mi to be parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.mi/mi-cmd-param-changed.exp (test_command_param_changed):
Use "dwarf2 always-disassemble" for the "maint set" test.
* gdb.mi/mi-file-transfer.exp (test_file_transfer): Use
standard_output_file.
* gdb.mi/mi-logging.exp: Use standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cfb7b9a3e92292bfa9a9d76601214bdc43f660ef
commit cfb7b9a3e92292bfa9a9d76601214bdc43f660ef
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 10:16:53 2013 -0600
fix up gdb.xml
This fixes the gdb.xml tests to be parallel-safe.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.xml/tdesc-arch.exp: Use standard_output_file. Make
downloads conditional on remote host.
(set_arch): Likewise.
* gdb.xml/tdesc-regs.exp: Use gdb_remote_download.
(load_description): Use standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bdfe05946663103859b225da659a21e7f8647058
commit bdfe05946663103859b225da659a21e7f8647058
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Aug 23 07:51:39 2013 -0600
fix up gdb.gdb
This fixes the gdb.gdb tests to be parallel-safe, by ensuring that the
new "xgdb" file ends up in the standard output directory during the
tests.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.gdb/selftest.exp: Use standard_output_file.
* lib/selftest-support.exp (do_self_tests): Use
standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8c639e7374a512c66850f636860140530c30b44f
commit 8c639e7374a512c66850f636860140530c30b44f
Author: Tom Tromey <tromey@redhat.com>
Date: Thu Aug 22 12:05:39 2013 -0600
fix weird.exp for parallel testing
This fixes up gdb.stabs/weird.exp for parallel testing. This just
means using gdb_remote_download and standard_output_file, so that the
tests end up in the right place.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.stabs/weird.exp: Use gdb_remote_download and
standard_output_file.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5030a410ad1bd9a1d4aecf101ec1fa3519f04ed0
commit 5030a410ad1bd9a1d4aecf101ec1fa3519f04ed0
Author: Tom Tromey <tromey@redhat.com>
Date: Thu Aug 22 12:10:25 2013 -0600
fix some simple thinkos in the test suite
This fixes some parallelization thinkos from a while ago. I'm not
sure how the problems ever slipped through. In addition to a thinko
fix in twice.exp, this also finishes fixing it up for parallelization.
2013-11-04 Tom Tromey <tromey@redhat.com>
* gdb.base/gcore-buffer-overflow.exp: Use
standard_output_file, not standard_testfile.
* gdb.base/twice.exp: Use standard_testfile, not
standard_output_file. Use gdb_remote_download.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=95d7853ebb9258f938839ef257242f10851c7c09
commit 95d7853ebb9258f938839ef257242f10851c7c09
Author: Tom Tromey <tromey@redhat.com>
Date: Thu Aug 22 13:09:35 2013 -0600
fix up log-file toggling
Currently a proc in gdb.exp toggles the expect (and thus dejagnu)
logging. This is not a super idea, but it is there to avoid putting
some preprocessor output into the log.
In the right circumstances, this can result in the log file being
mysteriously truncated. I think this happens because it doesn't
necessarily write to the correct log file again.
The fix is to use "log_file -info" to save the previous log file.
2013-11-04 Tom Tromey <tromey@redhat.com>
* lib/gdb.exp (get_compiler_info): Use log_file -info and
restore from that.
-----------------------------------------------------------------------
Summary of changes:
gdb/testsuite/ChangeLog | 145 +++++++++++++++++++
gdb/testsuite/Makefile.in | 100 ++++++--------
gdb/testsuite/gdb.asm/asm-source.exp | 15 ++-
gdb/testsuite/gdb.base/advance.exp | 14 +--
gdb/testsuite/gdb.base/argv0-symlink.exp | 11 ++-
gdb/testsuite/gdb.base/bigcore.exp | 14 ++-
gdb/testsuite/gdb.base/checkpoint.c | 6 +-
gdb/testsuite/gdb.base/checkpoint.exp | 30 ++--
gdb/testsuite/gdb.base/dump.exp | 157 ++++++++++++---------
gdb/testsuite/gdb.base/fileio.c | 54 ++++----
gdb/testsuite/gdb.base/fileio.exp | 24 ++--
gdb/testsuite/gdb.base/foll-exec.c | 12 +-
gdb/testsuite/gdb.base/foll-exec.exp | 8 +-
gdb/testsuite/gdb.base/foll-vfork.c | 2 +-
gdb/testsuite/gdb.base/foll-vfork.exp | 8 +-
gdb/testsuite/gdb.base/fullname.exp | 5 +-
gdb/testsuite/gdb.base/gcore-buffer-overflow.exp | 3 +-
gdb/testsuite/gdb.base/hashline1.exp | 21 ++--
gdb/testsuite/gdb.base/hashline2.exp | 13 +-
gdb/testsuite/gdb.base/hashline3.exp | 14 +-
gdb/testsuite/gdb.base/interact.exp | 9 +-
gdb/testsuite/gdb.base/jit-so.exp | 6 +-
gdb/testsuite/gdb.base/jit.exp | 6 +-
gdb/testsuite/gdb.base/list.exp | 2 +-
gdb/testsuite/gdb.base/maint.exp | 6 +-
gdb/testsuite/gdb.base/prelink.exp | 12 +-
gdb/testsuite/gdb.base/save-bp.exp | 11 +-
gdb/testsuite/gdb.base/sepdebug.exp | 41 +++---
gdb/testsuite/gdb.base/solib-search.exp | 35 +++--
gdb/testsuite/gdb.base/step-line.exp | 2 +-
gdb/testsuite/gdb.base/trace-commands.exp | 9 +-
gdb/testsuite/gdb.base/twice.exp | 4 +-
gdb/testsuite/gdb.dwarf2/fission-base.S | 4 +-
gdb/testsuite/gdb.dwarf2/fission-base.exp | 9 +-
gdb/testsuite/gdb.dwarf2/fission-loclists.S | 2 +-
gdb/testsuite/gdb.dwarf2/fission-loclists.exp | 9 +-
gdb/testsuite/gdb.gdb/selftest.exp | 10 +-
gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp | 6 +-
gdb/testsuite/gdb.mi/mi-file-transfer.exp | 26 +++-
gdb/testsuite/gdb.mi/mi-logging.exp | 2 +-
gdb/testsuite/gdb.multi/bkpt-multi-exec.c | 4 +-
gdb/testsuite/gdb.multi/bkpt-multi-exec.exp | 8 +-
gdb/testsuite/gdb.server/file-transfer.exp | 21 ++-
gdb/testsuite/gdb.stabs/weird.exp | 3 +-
gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 31 +++-
gdb/testsuite/gdb.trace/tfile.c | 4 +-
gdb/testsuite/gdb.trace/tfile.exp | 51 +++++--
gdb/testsuite/gdb.xml/tdesc-arch.exp | 28 ++--
gdb/testsuite/gdb.xml/tdesc-regs.exp | 30 +++-
gdb/testsuite/lib/gdb.exp | 22 +++-
gdb/testsuite/lib/selftest-support.exp | 10 +-
51 files changed, 702 insertions(+), 377 deletions(-)
hooks/post-receive
--
gdb and binutils