This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

remote/1635: hardware watchpoint not working correclty.


>Number:         1635
>Category:       remote
>Synopsis:       hardware watchpoint not working correclty.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 30 14:28:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     robert.picco@hp.com
>Release:        unknown-1.0
>Organization:
>Environment:
X86 Linux and IA64 Linux - remote debugging target IA64 Linux with cross built IA64 on X86 Linux
>Description:
Using the watch command on a data location in kernel results in gdb looping endlessly because the data location never changes.  The remote debug output is:

Packet received: S05
Sending packet: $g#67...Ack
Packet received: 8088a000010000a068a68100010000a03e9f0100010000000000000000000000040000000000000000000000000000000000d0fe000000803c9f0100010000003d9f0100010000003d9f01000100000068a68100010000a0b0fb7004000000e000007004000000e0e0988000010000a0500c7004000000e03d9f0100010000000000000000000000b8a78100010000a01f000000000000004000000000000000400c7004000000e0500c7004000000e00000000000000000440c7004000000e0b3e60e000000000078958000010000a0000000000000000001000100000000000000010000000000010000000000000000000201000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a59655ff00000080b0840200010000a0b043d6ff00000080000000000000000000000000000000000000000000000000000000000000000060330000010000a0a0860100010000a080960700010000a00502000000000080030000000000000058127004000000e0d8127004000000e0000000000000000000000000000000003f0370024c80090018200209101000000502000000000080
Sending packet: $ma00000010081a668,8#51...Ack
Packet received: 3d9f010001000000
Sending packet: $z0,a000000100007f20,8#ab...Ack
Packet received: OK
Sending packet: $z2,a00000010081a668,8#bc...Ack
Packet received: OK
Sending packet: $Z0,a000000100007f20,8#8b...Ack
Packet received: OK
Sending packet: $ma00000010081a668,8#51...Ack
Packet received: 3d9f010001000000
Sending packet: $Z2,a00000010081a668,8#9c...Ack
Packet received: OK
Sending packet: $c#63...Ack
Packet received: S05
Sending packet: $g#67...Ack

There are two hardware breakpoints.  One for kernel entry point and one for the data location.  gdb loops because the data location never changes.  It would seem that once the location is inspected and the breakpoints removed, that gdb would ask for a single step without any hardware breakpoints (or at least not the one hit), examine the data again and then notice the change in value of the data which would stop gdb at command prompt.


>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]