From: Julian Seward Date: Wed, 11 May 2011 22:54:57 +0000 (+0000) Subject: * fixed two bugs reported by the IBM BEAM checker: X-Git-Tag: svn/VALGRIND_3_7_0~489 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=619a5469913b5d8167ef035fffe7134e91eaa17e;p=thirdparty%2Fvalgrind.git * fixed two bugs reported by the IBM BEAM checker: fd leak in vgdb.c break missing in valgrind-low-s390x.c * use option --vgdb=full for the tests mcsigpass.vgtest and mcsignopass.vgtest This might improve these tests on ppc32/debian 6.0 * added a paragraph in gdbserver_tests/README_DEVELOPPERS to indicate how to report problems about failing gdbserver tests. (bug 214909 comment 71, Philippe Waroquiers, philippe.waroquiers@skynet.be) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11748 --- diff --git a/coregrind/m_gdbserver/valgrind-low-s390x.c b/coregrind/m_gdbserver/valgrind-low-s390x.c index 3e6b53c1e1..baa3ffcd03 100644 --- a/coregrind/m_gdbserver/valgrind-low-s390x.c +++ b/coregrind/m_gdbserver/valgrind-low-s390x.c @@ -130,7 +130,7 @@ void transfer_register (ThreadId tid, int abs_regno, void * buf, switch (regno) { // numbers here have to match the order of regs above // Attention: gdb order does not match valgrind order. - case 0: *mod = False; //GDBTD??? { "pswm", 0, 64 }, + case 0: *mod = False; break; //GDBTD??? { "pswm", 0, 64 }, case 1: VG_(transfer) (&s390x->guest_IA, buf, dir, size, mod); break; case 2: VG_(transfer) (&s390x->guest_r0, buf, dir, size, mod); break; case 3: VG_(transfer) (&s390x->guest_r1, buf, dir, size, mod); break; diff --git a/coregrind/vgdb.c b/coregrind/vgdb.c index d5cacd3906..7ddda2956c 100644 --- a/coregrind/vgdb.c +++ b/coregrind/vgdb.c @@ -1822,6 +1822,7 @@ void report_pid (int pid) if (cmdline[i] == 0) cmdline[i] = ' '; cmdline[sz] = 0; + close (fd); } fprintf(stderr, "use --pid=%d for %s\n", pid, cmdline); fflush(stderr); diff --git a/gdbserver_tests/README_DEVELOPPERS b/gdbserver_tests/README_DEVELOPPERS index e9c5e11aeb..bde8f9c8b9 100644 --- a/gdbserver_tests/README_DEVELOPPERS +++ b/gdbserver_tests/README_DEVELOPPERS @@ -34,6 +34,24 @@ Some tests implies to have a vgdb "ptrace invoker" capable. The prerequisite are established during make regtest (using marker files). Each test verifies the prerequisite using the prereq: line. +In case of failing tests +------------------------ +gdbserver tests are often failing due to (irrelevant) differences +depending on the gdb version and/or the OS version. +Such irrelevant differences have to be filtered by gdbserver_tests/filter_gdb. + +To report such problems, the best is to re-run the gdbserver tests +the following way: + perl tests/vg_regtest --keep-unfiltered gdbserver_tests + +Then file a bug in bugzilla, giving the following information: + output of + gdbserver_tests/gdb --version + uname -a + cat /etc/issue + valgrind --version (and/or svn version) + and attach a tar file containing all the *.out files in gdbserver_tests + directory Naming conventions: ------------------- diff --git a/gdbserver_tests/mcsignopass.vgtest b/gdbserver_tests/mcsignopass.vgtest index 6568c62956..257ca58e8e 100644 --- a/gdbserver_tests/mcsignopass.vgtest +++ b/gdbserver_tests/mcsignopass.vgtest @@ -5,7 +5,7 @@ # (i.e. SIGBUG, Test 3). Other tests will be succesful, because signals # are eventually passed. prog: ../none/tests/faultstatus -vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass +vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass stderr_filter: filter_memcheck_monitor progB: gdb argsB: --quiet -l 60 --nx ../none/tests/faultstatus diff --git a/gdbserver_tests/mcsigpass.vgtest b/gdbserver_tests/mcsigpass.vgtest index 6cb0e3f822..a5501583e8 100644 --- a/gdbserver_tests/mcsigpass.vgtest +++ b/gdbserver_tests/mcsigpass.vgtest @@ -1,6 +1,6 @@ # test the signal handling, when signals are passed to the Valgrind guest. prog: ../none/tests/faultstatus -vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass +vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass stderr_filter: filter_memcheck_monitor progB: gdb argsB: --quiet -l 60 --nx ../none/tests/faultstatus