Re: [PATCH 11/12] gdb: make displaced stepping implementation capable of managing multiple buffers

Simon Marchi
2020-11-30T19:01:09Z

On 2020-11-24 8:41 p.m., Pedro Alves wrote:
> A few minor comments below. Otherwise LGTM.

I forgot to reply to the other comments.

> On 11/10/20 9:46 PM, Simon Marchi via Gdb-patches wrote:
>> - return DISPLACED_STEP_PREPARE_STATUS_ERROR;
>> + for (displaced_step_buffer &candidate : m_buffers)
>> + {
>> + bool bp_in_range = breakpoint_in_range_p (aspace, candidate.addr, len);
>> + bool is_free = candidate.current_thread == nullptr;
>> +
>> + if (!bp_in_range)
>> + {
>> + if (is_free)
>
> tabs vs spaces.

Done.

>> + {
>> + buffer = &candidate;
>> + break;
>> + }
>> + else
>> + {
>> + /* This buffer would be suitable, but it's used right now. */
>> + fail_status = DISPLACED_STEP_PREPARE_STATUS_UNAVAILABLE;
>> + }
>> + }
>
> tabs vs spaces.

Done.

>> + struct displaced_step_buffer
>> + {
>> + displaced_step_buffer (CORE_ADDR addr)
>
> "explicit".

Done.

>
>> + : addr (addr)
>> + {}
>> +
>> + const CORE_ADDR addr;
>> +
>> + /* The original PC of the instruction currently begin stepped. */
>
> "begin" -> "being" ?

Indeed.

Thanks,

Simon