Re: [PATCH v2 4/6] Use remote register numbers in tracepoint mask

Ulrich Weigand
2018-08-06T12:42:48Z

Pedro Franco de Carvalho wrote:

> If ax_regs_mask and gdbarch_ax_pseudo_register_collect also generate
> more ax bytecode, the ax is also appended to the collection list. It
> isn't clear that this was the original intent for
> gdbarch_ax_pseudo_register_collect, and none of the arches seem to do
> this, but if this changes in the future, it should work.

OK, this makes sense to me.

> * tracepoint.h (class collection_list) <add_register>: Remove.
> <add_remote_register, add_ax_registers, add_local_register>:
> Declare.
> <add_memrange>: Add scope parameter.
> * tracepoint.c (encode_actions_1): Likewise.
> (collection_list::add_register): Rename to ...
> (collection_list::add_remote_register): ... this. Update comment.
> (collection_list::add_ax_registers, add_local_register): New
> methods.
> (collection_list::add_memrange): Add scope parameter. Call
> add_local_register instead of add_register.
> (finalize_tracepoint_aexpr): New function.
> (collection_list::collect_symbol): Update calls to add_memrange.
> Call add_local_register instead of add_register. Call
> add_ax_registers. Call finalize_tracepoint_aexpr.
> (encode_actions_1): Get remote regnos for $reg action. Call
> add_remote_register, add_ax_registers, and add_local_register.
> Update call to add_memrange. Call finalize_tracepoint_aexpr.
> (validate_actionline): Call finalize_tracepoint_aexpr.

This is OK.

Thanks,
Ulrich

--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com