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
>
prev parent 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