This is the mail archive of the 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]

Re: [PATCH v3 08/10] Support software single step on ARM in GDBServer.

On 11/26/2015 11:07 AM, Antoine Tremblay wrote:

On 11/26/2015 11:03 AM, Yao Qi wrote:

On 26/11/15 15:11, Antoine Tremblay wrote:
This is the same link as the previous one...

Oops, sorry,


  IMO, it is
better to use regcache than frame.  We have two options,

  #1, switch from frame apis to regcache apis to access registers in
   software single step.  We can get regcache by get_current_regcache

About this one, as we thought it would simplify the collect_register_unsigned field.

It's unfortunate but it won't because GDB's collect_registers_unsigned reads the registers and then calls extract_register_unsigned (in the same call).

This function uses bfd enums for byte ordering and I can't use that in GDBServer as discussed previously.

So I will not be able to directly share GDB's collect_registers_unsigned, thus either collect_register_unsigned will be replaced by 2 calls, one shared that fetches the register, and then a call that extracts the integer as a different operation on GDB and GDBserver or I will end up with the same collect_register_unsigned field only it will be using regcache on GDBServer's side now.

And I don't think it's good to have it in 2 calls, so I will have the same collect_register_unsigned_field...

Thus this refactoring would not simplify the patch and IMHO would create some inconsistency why are we using regcache in some place for no apparent gain while all the rest uses frame.

In light of this, I plan to keep it as is unless there's an objection ?


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