Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Hui Zhu <teawater@gmail.com>
To: Pedro Alves <palves@redhat.com>
Cc: gdb-patches ml <gdb-patches@sourceware.org>
Subject: Re: [PATCH] fix PR 15180 "May only run agent-printf on the target"
Date: Mon, 01 Jul 2013 16:08:00 -0000	[thread overview]
Message-ID: <CANFwon1g_oDOSHotBWmoFucZvQPjESYvYwJZKJZkv4WbiZ09fQ@mail.gmail.com> (raw)
In-Reply-To: <51D19258.4050705@redhat.com>

On Mon, Jul 1, 2013 at 10:29 PM, Pedro Alves <palves@redhat.com> wrote:
> On 07/01/2013 09:51 AM, Hui Zhu wrote:
>> On Mon, Jul 1, 2013 at 4:10 PM, Pedro Alves <palves@redhat.com> wrote:
>>> On 06/30/2013 04:17 PM, Hui Zhu wrote:
>>>>>> If dprintf style is agent, then the target doesn't report events
>>>>>> for such hits.  If we happen to see a trap reported for the
>>>>>> same address as another breakpoint, the trap is surely not explained
>>>>>> by the dprintf.  IOW, we shouldn't have a bpstat a dprintf w/ style
>>>>>> agent at all.  What is need is to override the breakpoint_hit method
>>>>>> of dprintf_breakpoint_ops to always return false for agent style dprintfs.
>>>>>>
>>>>>> Or maybe I'm missing something.  I have a hard time going from
>>>>>> the bug description in the PR to the patch.
>>>> OK.  I add dprintf_check_status in the new patch according to your comments.
>>>>
>>>
>>> But I suggested the breakpoint_ops->breakpoint_hit not breakpoint_ops->check_status.
>>> An agent-style dprintf is just like a tracepoint.  It can't ever explain
>>> a stop.  See tracepoint_breakpoint_hit.  If it didn't work, please explain why.
>>
>> OK.  Post a new version according to your comments.
>> Please help me review it.
>
> So I've now picked the patches from
> <http://sourceware.org/ml/gdb-patches/2013-06/msg00367.html>

Oops, I so sorry that dprintf-remote-cond-server.txt in that url is
not the right version.  Could you help me try the new version in
http://sourceware.org/ml/gdb-patches/2013-07/msg00038.html

Thanks,
Hui

>
> and then applied these new dprint-same-addr patches on top.
>
> They completely break gdbserver.  :-/  First I tried:
>
>  $ make check RUNTESTFLAGS="--target_board=native-gdbserver dprintf-same-addr.exp"
>  ...
>  Running target native-gdbserver
>  Using ../../../src/gdb/testsuite/boards/../boards/native-gdbserver.exp as board description file for target.
>  Using ../../../src/gdb/testsuite/config/gdbserver.exp as tool-and-target-specific interface file.
>  Running ../../../src/gdb/testsuite/gdb.base/dprintf-same-addr.exp ...
>
>                  === gdb Summary ===
>
>  /home/pedro/gdb/mygit/build/gdb/testsuite/../../gdb/gdb version  7.6.50.20130701-cvs -nw -nx -data-directory /home/pedro/gdb/mygit/build/gdb/testsuite/../data-directory
>
>  make[1]: Leaving directory `/home/pedro/gdb/mygit/build/gdb/testsuite'
>  $
>
> No FAILs/PASSes/UNSUPPORTED/etc., no nothing, is odd.  Turns out
> that the program isn't even stopping at main.  That should have
> resulted in a FAIL.  (Please fix that.)
>
> Trying some other existing test shows:
>
>  Running target native-gdbserver
>  Using ../../../src/gdb/testsuite/boards/../boards/native-gdbserver.exp as board description file for target.
>  Using ../../../src/gdb/testsuite/config/gdbserver.exp as tool-and-target-specific interface file.
>  Running ../../../src/gdb/testsuite/gdb.base/break.exp ...
>  FAIL: gdb.base/break.exp: run until function breakpoint
>  FAIL: gdb.base/break.exp: run until breakpoint set at a line number (the program is no longer running)
>  FAIL: gdb.base/break.exp: run until file:function(6) breakpoint (the program is no longer running)
>  FAIL: gdb.base/break.exp: run until file:function(5) breakpoint (the program is no longer running)
>  FAIL: gdb.base/break.exp: run until file:function(4) breakpoint (the program is no longer running)
>  FAIL: gdb.base/break.exp: run until file:function(3) breakpoint (the program is no longer running)
>  FAIL: gdb.base/break.exp: run until file:function(2) breakpoint (the program is no longer running)
>  FAIL: gdb.base/break.exp: run until file:function(1) breakpoint (the program is no longer running)
>  FAIL: gdb.base/break.exp: run until quoted breakpoint (the program is no longer running)
>
> ...
>
> I didn't bother to run the whole testsuite.
>
> At least with native testing I got:
>
> $ make check RUNTESTFLAGS="dprintf-same-addr.exp"
> ...
> # of expected passes            29
> # of unsupported tests          1
> ...
>
> --
> Pedro Alves
>


      reply	other threads:[~2013-07-01 16:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-17 10:12 Hui Zhu
2013-06-26 18:00 ` Pedro Alves
2013-06-30 17:15   ` Hui Zhu
2013-07-01  8:10     ` Pedro Alves
2013-07-01  8:51       ` Hui Zhu
2013-07-01 14:29         ` Pedro Alves
2013-07-01 16:08           ` Hui Zhu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANFwon1g_oDOSHotBWmoFucZvQPjESYvYwJZKJZkv4WbiZ09fQ@mail.gmail.com \
    --to=teawater@gmail.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox