On 16/04/14 11:17, Joey Ye wrote:
>> -----Original Message-----
>> From: Richard Earnshaw
>> Sent: Wednesday, April 16, 2014 6:04 PM
>> To: Joey Ye
>> Cc: gcc-patches@gcc.gnu.org
>> Subject: Re: [patch] Disable if_conversion2 for Og
>>
>> On 16/04/14 11:02, Joey Ye wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Richard Earnshaw
>>>> Sent: Wednesday, April 16, 2014 5:44 PM
>>>> To: Joey Ye
>>>> Cc: gcc-patches@gcc.gnu.org
>>>> Subject: Re: [patch] Disable if_conversion2 for Og
>>>>
>>>> Arguably, this is a bug in gdb.  The debugger should understand when
>>>> a breakpointed conditional instruction is not going to execute and
>>>> silently continue.  That preserves the illusion of not executing the
>>>> code without requiring the compiler to de-optimize things.
>>>>
>>>> R.
>>> Or compiler just optimizes it, and emits generic DWARFx information to
>>> help GDB handle it in more target independently?
>>>
>>> - Joey
>>>
>>
>> I'm not sure extra dwarf info would help much.  The debugger still has to
>> understand that the breakpoint has not really been hit.
>>
>> R.
> Yes, it is inevitable. But without extra dwarf info it will be even more 
> painful: each time setting break-point or break-point hits it has to decode 
> the break-pointed instructions and its context to search for conditional 
> execution and IT blocks.
> 

For thumb code it can get the conditional information it needs from the
IT state in the PSR; for ARM code it has to look no further than the
instruction itself.

R.


Reply via email to