Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Michael Snyder <msnyder@redhat.com>
To: "Newman,
	Mark (N-Superior Technical Resource Inc)" <mark.newman@lmco.com>
Cc: gdb-patches@sources.redhat.com, Michael Snyder <msnyder@redhat.com>
Subject: Re: FW: bug ????
Date: Fri, 15 Aug 2003 18:21:00 -0000	[thread overview]
Message-ID: <3F3D2499.4090904@redhat.com> (raw)
In-Reply-To: <F56FBA314E8E5A41895F0DA8F6716A6D02A416@EMSS04M11.us.lmco.com>

Newman, Mark (N-Superior Technical Resource Inc) wrote:

>>Michael -
>>
>>I am not certain how to handle this.  Perhaps you can give me some
>>insight.  I am not familar with GDB internals.
>>
>>I appears that the the following is not working correctly in 
>>trace_dump_command 
>>
>> /* The current frame is a trap frame if the frame PC is equal
>>    to the tracepoint PC.  If not, then the current frame was
>>    collected during single-stepping.  */
>>
>> stepping_frame = (t->address != read_pc ());
>>
>>The trace address is one less than the read_pc address (I am not
>>stepping).  Either gdbserver needs to adjust the register set so that
>>the pc is back by one or some adjustment needs to be made to t->address
>>so it looks at the next address.  Should the tracepoint look at the
>>state prior to executing the instruction at the address or after the
>>instruction is executed? 
>>
>>    
>>
>
>Ah, this is the old DECR_PC_AFTER_BREAK problem.  I never
>ran into it because I never had tracepoints working on an x86 target
>(just about the only one left where it's an issue.
>
>Try this:
>
>    stepping_frame = (t->address != (read_pc () - DECR_PC_AFTER_BREAK);
>
>The macro should evaluate to zero if the pc points to the trap 
>instruction, and
>to (sizeof(trap_instruction) if it points past the trap.
>
>If this works, why don't you submit it as a patch to gdb-patches?
>

Hi Mark,

Thanks for your two bug reports and fixes.   These are small enough that
we can accept them without an FSF assignment, but if you don't have one
on file and are planning to do more extensive work on gdb, this would be
the time to get the paperwork done.

If you'll have a look at the file gdb/CONTRIBUTE, there's an outline of
what a submission should look like.  I'll give you an example by whipping
this one into shape (see below):  You can consider this one approved.

-------------------------------------------------------------------------------------------------
The bug: tracepoint.c tests a tracepoint location without allowing
for DECR_PC_AFTER_BREAK, therefore the test fails on x86.

2003-08-15  Mark Newman  <mark.newman@lmco.com>

        * tracepoint.c (trace_dump_command): Trace break address
        is subject to DECR_PC_AFTER_BREAK.

*************** trace_dump_command (char *args, int from
*** 2511,2517 ****
       to the tracepoint PC.  If not, then the current frame was
       collected during single-stepping.  */
 
!   stepping_frame = (t->address != read_pc ());
 
    for (action = t->actions; action; action = action->next)
      {
--- 2511,2517 ----
       to the tracepoint PC.  If not, then the current frame was
       collected during single-stepping.  */
 
!   stepping_frame = (t->address != (read_pc () - DECR_PC_AFTER_BREAK));
 
    for (action = t->actions; action; action = action->next)
      {



  reply	other threads:[~2003-08-15 18:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-15 16:55 Newman, Mark (N-Superior Technical Resource Inc)
2003-08-15 18:21 ` Michael Snyder [this message]
2003-08-21 15:28   ` Andrew Cagney
2003-08-21 18:10     ` Michael Snyder
2003-08-21 15:40 Newman, Mark (N-Superior Technical Resource Inc)

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=3F3D2499.4090904@redhat.com \
    --to=msnyder@redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=mark.newman@lmco.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