Re: [PATCH] Fix problems with finishing a dummy function call on simulators.

Luis Machado
2015-06-09T18:34:52Z

On 06/09/2015 03:13 PM, Pedro Alves wrote:
> On 06/09/2015 07:10 PM, Luis Machado wrote:
>
>>> Not exactly sure what to do here. Maybe we should stop considering
>>> permanent and non-permanent breakpoints at the same address as
>>> duplicates. That should result in GDB inserting the non-permanent
>>> one, I think. Or we could get stop marking permanent breakpoints
>>> as always inserted, and let normal breakpoints insert on top of
>>> permanent breakpoints normally. See also:
>>> https://sourceware.org/ml/gdb-patches/2015-03/msg00174.html
>>
>> That sounds a bit hacky.
>
> Can you clarify? There are two suggestions above, in addition
> to a url showing even more ideas. So I don't know what you're
> referring to. :-)
>
> Thanks,
> Pedro Alves
>
>> Doesn't that defeat the purpose of having
>> permanent breakpoints in the first place?
>>
>> It looks like non-gdbserver targets are not ready to support these
>> tricky constructs/optimizations unfortunately. I'm afraid adding more
>> hacks here and there will cause the code to get even more confusing
>> without a generous amount of code comments. And i'm not even sure the
>> bp_finish check is the best solution either. After all, there is the
>> stepi case too.
>>
>> We could probably fix the simulators, but then again there are
>> proprietary ones we cannot easily fix.
>
>

For the record, i'm fine with any of those workarounds if there is no
reasonable fix for the fact that permanent breakpoints don't work as GDB
expects on some targets. :-)