[RFC] auto-generate most target debug methods
Pedro Alves
palves@redhat.com
Thu Jul 17 14:50:00 GMT 2014
On 07/16/2014 03:56 PM, Tom Tromey wrote:
> Pedro> I like the idea of this patch a lot.
> [...]
> Pedro> Did you try an __attribute__(())-like approach? Something like:
>
> Appended is a patch that works this way.
This looks great to me.
> static void
> +debug_post_attach (struct target_ops *self, int arg1)
> +{
> + fprintf_unfiltered (gdb_stdlog, "-> %s->to_post_attach (...)\n", debug_target.to_shortname);
> + debug_target.to_post_attach (&debug_target, arg1);
> + fprintf_unfiltered (gdb_stdlog, "<- %s->to_post_attach (", debug_target.to_shortname);
> + target_debug_print_struct_target_ops_p (&debug_target);
> + fputs_unfiltered (", ", gdb_stdlog);
> + target_debug_print_int (arg1);
> + fputs_unfiltered (")\n", gdb_stdlog);
I think it'll end up being useful to print the arguments before
the call too, but I don't think we do that today, so this way
looks fine to me.
> +static void
> +delegate_resume (struct target_ops *self, ptid_t arg1, int TARGET_DEBUG_PRINTER (target_debug_print_step) arg2, enum gdb_signal arg3)
Doesn't really matter much, but would it be trivial to strip
out the TARGET_DEBUG_PRINTER part in these generated methods?
Thanks!
I wonder about generating the target_foo() entry point methods too...
--
Pedro Alves
More information about the Gdb-patches
mailing list