Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@ges.redhat.com>
To: Kevin Buettner <kevinb@redhat.com>, Grace Sainsbury <graces@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [rfa] insert_hw_breakpoint
Date: Tue, 13 Aug 2002 08:59:00 -0000	[thread overview]
Message-ID: <3D592CF2.5040908@ges.redhat.com> (raw)
In-Reply-To: <1020812202745.ZM918@localhost.localdomain>

> On Aug 12,  4:04pm, Grace Sainsbury wrote:
> 
> 
>> -  len = strlen (shadow);
>> -  len = len ? len : 1;
>> +  BREAKPOINT_FROM_PC (&addr, &len);
>> +  
>>    if (remote_protocol_Z[Z_PACKET_HARDWARE_BP].support == PACKET_DISABLE)
>>      error ("Can't set hardware breakpoint without the '%s' (%s) packet\n",
>>  	   remote_protocol_Z[Z_PACKET_HARDWARE_BP].name,
>> @@ -5027,7 +5027,8 @@
>>    char *buf = alloca (rs->remote_packet_size);
>>    char *p = buf;
>>    
>> -  len = sizeof (shadow);
>> +  BREAKPOINT_FROM_PC (&addr, &len);
>> + 
>>    if (remote_protocol_Z[Z_PACKET_HARDWARE_BP].support == PACKET_DISABLE)
>>      error ("Can't clear hardware breakpoint without the '%s' (%s) packet\n",
>>  	   remote_protocol_Z[Z_PACKET_HARDWARE_BP].name,

Grace,

Assuming it still works with the (RedBoot?) stub you're using then yes 
ok.  (The stub must have been ignoring the length as that could be garbage).

> Do stubs actually care about this length field for the packets under
> consideration?

The length indicates the number of bytes to consider -- in theory this 
allows GDB to set h/w breakpoint across an address range.  I suspect, 
though, that all existing stubs ignore the length since GDB hasn't been 
doing anything sensible with it.

> I agree that the use of strlen() and sizeof() seem dubious if not
> outright wrong, but, unfortunately, not all architectures can define
> a sensible BREAKPOINT_FROM_PC. (*)  I would like to see gdb relying less
> on BREAKPOINT_FROM_PC, not more.

The address should definitly be run through BREAKPOINT_FROM_PC().  On 
Arm, MIPS16, sh5, ...it will strip out any least significant mode bit so 
that the stub is handed a proper address.

As for the length, the choices would be 1, instruction size or 
breakpoint size (returned by BREAKPOINT_FROM_PC).  Given breakpoint size 
is the size of the smallest instruction, it looks to be a good 
compromize. On the i386 it is one anyway, on Arm it would be 2/4 
depending on/indicating the mode of the cpu.

> (*) E.g, IA-64.  For IA-64, I did define a BREAKPOINT_FROM_PC, but I
> would have preferred not to.  The values returned by
> ia64_breakpoint_from_pc() are fairly arbitrary and are of absolutely
> no use for saving/restoring actual breakpoints.

I think that is a separate problem.

enjoy,
Andrew



      reply	other threads:[~2002-08-13 15:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-12 13:04 Grace Sainsbury
2002-08-12 13:27 ` Kevin Buettner
2002-08-13  8:59   ` Andrew Cagney [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=3D592CF2.5040908@ges.redhat.com \
    --to=ac131313@ges.redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=graces@redhat.com \
    --cc=kevinb@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