Re: [patch] fix for PR2424

Aleksandar Ristovski
2008-04-01T18:10:34Z

Aleksandar Ristovski wrote:
> Vladimir Prus wrote:
>> On Monday 10 March 2008 20:18:06 Aleksandar Ristovski wrote:
>>> Vladimir Prus wrote:
>>> The proposed patch (attached) will produce the following outputs:
>>>
>>> CLI:
>>> (gdb) tbreak main
>>> Temporary breakpoint 1 at 0x80483a0: file ./main.c, line 15.
>>> (gdb) r
>>> Starting program: /space/src/testcases/sigsegv/main
>>>
>>> Temporary breakpoint 1, main () at ./main.c:15
>>> 15 foo (p);
>>>
>>> MI:
>>> (gdb)
>>> -break-insert -t main
>>>
^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0804
83a0",func="main",file="./main.c",fullname="/space/src/testcases/sigsegv/mai
n.c",line="15",times="0"}
>>> (gdb)
>>> -exec-run
>>> ^running
>>> (gdb)
>>>
*stopped,reason="breakpoint-hit",disp="del",bkptno="1",thread-id="0",frame={
addr="0x080483a0",func="main",args=[],file="./main.c",fullname="/space/src/t
estcases/sigsegv/main.c",line="15"}
>>>
>> For consistency, it's better to use same printing of 'disp' as done
>> in print_one_breakpoint_location:
>>
>> ui_out_field_string (uiout, "disp", bpdisps[(int) b->disposition]);
>>
>> bpdisps is actually a table local to print_one_breakpoint_location,
>> but there's no reason why it cannot be made a global table.
>>
>> - Volodya
>>
>
> New diff for code (testsuite remains the same as in previous email).
Static
> array bpstats moved to new function bpstat_text and function used.
>
> Note: I believe docs need also be changed since in the examples for mi
protocol
> there are no 'disp' fields. But I am not sure where do I need to make
those changes.
>
> 2008-03-10 Aleksandar Ristovski <aristovski@qnx.com>
>
> * infrun.c (normal_stop) Move breakpoint_auto_delete further down
> to allow printing to 'see' real reason of stop. This fixes PR 2424.
> * breakpoint.c (bpdisp_texst): New function. The function takes over
> the role of bpstats static array in print_one_breakpoint_location.
> (print_it_typical): Print "Temporary breakpoint" instead
> of just "Breakpoint" when breakpoint is, well, temporary. For
mi-like
> protocols, print disp field.
> (print_one_breakpoint_location): Removed bpdisps static definition.
> Call new bpstat_text function to get value for 'disp' field.
> (mention): Print "Temporary breakpoint" instead of just
"Breakpoint".
>

Any thoughts on this?