Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Hui Zhu <teawater@gmail.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 14:29:00 -0000	[thread overview]
Message-ID: <51D19258.4050705@redhat.com> (raw)
In-Reply-To: <CANFwon0rsav9_cQ5pq+LKiRcPivRGLTUmFxWk+BxWQnsO4_ipg@mail.gmail.com>

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>

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 14:29 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 [this message]
2013-07-01 16:08           ` Hui Zhu

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=51D19258.4050705@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=teawater@gmail.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