This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug breakpoints/16101] gdb.base/dprintf.exp agent-printf failures with non-Z0-supporting gdbservers


https://sourceware.org/bugzilla/show_bug.cgi?id=16101

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
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  88bbeca9d5e9429dbd2a11d754f24d649b8e5488 (commit)
      from  d23487918b315cccd04c2b60a7cf7775920caecb (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=88bbeca9d5e9429dbd2a11d754f24d649b8e5488

commit 88bbeca9d5e9429dbd2a11d754f24d649b8e5488
Author: Hui Zhu <hui@codesourcery.com>
Date:   Mon Mar 24 19:30:50 2014 +0000

    Fix PR breakpoints/16101: gdb.base/dprintf.exp agent-printf failures with
non-Z0-supporting gdbservers

    After a previous patch that was committed by Pedro (0000e5cc), trying
    to set a dprintf with with a GDBserver that doesn't support agent
    commands at all now throws an error.  But the dprintf tests still fail
    with some GDBserver targets because they doesn't try to handle the
    case of the server reporting support for breakpoint commands, but not
    be able to use those in combination with Z0 (because Z0 isn't actually
    supported, for example):

     FAIL: gdb.base/dprintf.exp: 1st dprintf, agent
     FAIL: gdb.base/dprintf.exp: 2nd dprintf, agent
     FAIL: gdb.base/dprintf.exp: dprintf info 2 (pattern 4)

    Similarly for the MI test.

    This patch makes the tests handle this scenario.

    Tested with native, and native gdbserver on x86_64 Fedora 17.

    Also tested with the native-gdbserver.exp board hacked with:

     set GDBFLAGS "${GDBFLAGS} -ex \"set remote breakpoint-commands off\""

    (actually, "set remote breakpoint-commands off" is presently broken,
    so this was on top of a fix for that command.)

    which results in:
     (gdb) PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb
     set dprintf-style agent
     warning: Target cannot run dprintf commands, falling back to GDB printf
     warning: Target cannot run dprintf commands, falling back to GDB printf
     (gdb) UNSUPPORTED: gdb.base/dprintf.exp: set dprintf style to agent

    gdb.sum:
     Running target native-gdbserver
     Running ../../../src/gdb/testsuite/gdb.base/dprintf.exp ...
     PASS: gdb.base/dprintf.exp: dprintf
     PASS: gdb.base/dprintf.exp: dprintf foo
     PASS: gdb.base/dprintf.exp: dprintf 29
     PASS: gdb.base/dprintf.exp: dprintf foo,"At foo entry\n"
     PASS: gdb.base/dprintf.exp: ignore $bpnum 1
     PASS: gdb.base/dprintf.exp: dprintf 26,"arg=%d, g=%d\n", arg, g
     PASS: gdb.base/dprintf.exp: dprintf info 1
     PASS: gdb.base/dprintf.exp: break 27
     PASS: gdb.base/dprintf.exp: 1st dprintf, gdb
     PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb
     UNSUPPORTED: gdb.base/dprintf.exp: set dprintf style to agent
     PASS: gdb.base/dprintf.exp: Set dprintf style to an unrecognized type

    And also with the native-gdbserver.exp board hacked with:

     set GDBFLAGS "${GDBFLAGS} -ex \"set remote Z-packet off\""

    which results in:
     (gdb) continue
     Continuing.
     Warning:
     Cannot insert breakpoint 3: Target doesn't support breakpoints that have
target side commands.
     Cannot insert breakpoint 4: Target doesn't support breakpoints that have
target side commands.

     (gdb) UNSUPPORTED: gdb.base/dprintf.exp: 1st dprintf, agent

    gdb.sum:
     Running target native-gdbserver
     Running ../../../src/gdb/testsuite/gdb.base/dprintf.exp ...
     PASS: gdb.base/dprintf.exp: dprintf
     PASS: gdb.base/dprintf.exp: dprintf foo
     PASS: gdb.base/dprintf.exp: dprintf 29
     PASS: gdb.base/dprintf.exp: dprintf foo,"At foo entry\n"
     PASS: gdb.base/dprintf.exp: ignore $bpnum 1
     PASS: gdb.base/dprintf.exp: dprintf 26,"arg=%d, g=%d\n", arg, g
     PASS: gdb.base/dprintf.exp: dprintf info 1
     PASS: gdb.base/dprintf.exp: break 27
     PASS: gdb.base/dprintf.exp: 1st dprintf, gdb
     PASS: gdb.base/dprintf.exp: 2nd dprintf, gdb
     PASS: gdb.base/dprintf.exp: set dprintf style to agent
     UNSUPPORTED: gdb.base/dprintf.exp: 1st dprintf, agent
     PASS: gdb.base/dprintf.exp: Set dprintf style to an unrecognized type

    (One of the new comments mentions breakpoint always-inserted mode.
    Actually testing with breakpoint always-inserted mode fails these
    dprintf tests, due to the way they are written.  But that'll take a
    more substancial rewrite of the tests, so I'm leaving that for another
    day.)

    gdb/testsuite/
    2014-03-24  Hui Zhu  <hui@codesourcery.com>
            Pedro Alves  <palves@redhat.com>

        PR breakpoints/16101
        * gdb.base/dprintf.exp: Use unsupported rather than changing the
        test pass/fail messages.  Detect missing support for dprintf when
        breakpoints are actually inserted.
        * gdb.base/mi-dprintf.exp: Detect missing support for dprintf when
        breakpoints are actually inserted.
        * lib/mi-support.exp (mi_run_cmd_full): Return -1 if continue
        fails.

-----------------------------------------------------------------------

Summary of changes:
 gdb/testsuite/ChangeLog             |   12 ++++++++
 gdb/testsuite/gdb.base/dprintf.exp  |   53 ++++++++++++++++++++++++----------
 gdb/testsuite/gdb.mi/mi-dprintf.exp |   45 ++++++++++++++++++------------
 gdb/testsuite/lib/mi-support.exp    |    1 +
 4 files changed, 77 insertions(+), 34 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]