From: Pedro Alves <palves@redhat.com>
To: Tom Tromey <tromey@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFC 00/32] clean up target delegation
Date: Wed, 15 Jan 2014 12:55:00 -0000 [thread overview]
Message-ID: <52D6852E.6080400@redhat.com> (raw)
In-Reply-To: <1389640367-5571-1-git-send-email-tromey@redhat.com>
On 01/13/2014 07:12 PM, Tom Tromey wrote:
> After this patch, nearly every remaining INHERIT is for a scalar
> field. I think it would be worth eliminating these as well; the
> simplest would seem to be to convert each to a new target method. I'm
> happy to do this if others agree.
For a couple, I think the simplest yet would be to change their
respective macros/functions to return the field in the topmost target:
-#define target_shortname (current_target.to_shortname)
-#define target_longname (current_target.to_longname)
+#define target_shortname (current_target.beneath->to_shortname)
+#define target_longname (current_target.beneath->to_longname)
Actually, it seems to be that most, if not all, hacks^W uses
of target_shortname are wrong, in that they want to know the
name of the process_stratum target, not the topmost target.
to_doc is never used in the squashed target, so we just can
stop inheriting that.
to_attach_no_wait does indeed look like best be made a method that
delegates, as it may not be topmost target that handles that
to_attach detail (it'll usually be the process_stratum target).
Same for to_have_steppable_watchpoint, to_have_continuable_watchpoint
and to_has_thread_control.
> The remaining method using INHERIT is deprecated_xfer_memory. This is
> also a method not using delegation or getting the "target_ops"
> treatment. I didn't bother with this one because my understanding is
> that Pedro is working on eliminating this method entirely.
Yeah. There's deprecated_xfer_memory branch on my github that
does that. Needs writing ChangeLog's and posting...
> There are also three remaining uses of de_fault: to_open, to_close,
> and deprecated_xfer_memory. to_open and to_close are just special.
target_open and target_close are always called on a specific real target
OPS, never on the squashed ¤t_target. ISTM these de_fault's are
useless and can just be removed, even on current mainline.
> They may need some work for the multi-target feature, but I didn't
> want to attempt it now. deprecated_xfer_memory, again, is hopefully
> just going away.
--
Pedro Alves
next prev parent reply other threads:[~2014-01-15 12:55 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-13 19:12 Tom Tromey
2014-01-13 19:12 ` [RFC 01/32] add "this" pointers to more target APIs Tom Tromey
2014-01-14 12:10 ` Pedro Alves
2014-01-14 20:25 ` Tom Tromey
2014-01-13 19:12 ` [RFC 03/32] introduce async_callback_ftype Tom Tromey
2014-01-14 10:35 ` Pedro Alves
2014-01-14 10:50 ` Joel Brobecker
2014-01-14 15:06 ` Tom Tromey
2014-01-14 17:19 ` Joel Brobecker
2014-01-14 17:27 ` Tom Tromey
2014-01-14 18:30 ` Pedro Alves
2014-01-14 19:45 ` Tom Tromey
2014-01-15 15:25 ` Tom Tromey
2014-01-13 19:12 ` [RFC 02/32] introduce and use find_target_at Tom Tromey
2014-01-14 11:48 ` [PATCH] Fix "is a record target open" checks Pedro Alves
2014-01-14 15:30 ` Tom Tromey
2014-01-14 18:27 ` Pedro Alves
2014-01-15 16:22 ` Tom Tromey
2014-01-13 19:13 ` [RFC 10/32] Add target_ops argument to to_terminal_init Tom Tromey
2014-01-14 12:51 ` Pedro Alves
2014-01-13 19:13 ` [RFC 31/32] change delegation for to_read_description Tom Tromey
2014-01-14 20:07 ` Pedro Alves
2014-01-14 20:22 ` Tom Tromey
2014-01-13 19:13 ` [RFC 26/32] convert to_static_tracepoint_markers_by_strid Tom Tromey
2014-01-14 18:57 ` Pedro Alves
2014-01-13 19:13 ` [RFC 32/32] minor cleanups to update_current_target Tom Tromey
2014-01-14 20:10 ` Pedro Alves
2014-01-13 19:13 ` [RFC 04/32] add make-target-delegates Tom Tromey
2014-01-14 10:52 ` Pedro Alves
2014-01-14 14:46 ` Tom Tromey
2014-01-13 19:13 ` [RFC 08/32] remove extended_remote_create_inferior_1 Tom Tromey
2014-01-14 12:41 ` Pedro Alves
2014-01-16 19:20 ` Tom Tromey
2014-01-13 19:13 ` [RFC 25/32] convert to_upload_trace_state_variables Tom Tromey
2014-01-14 19:38 ` Pedro Alves
2014-01-13 19:13 ` [RFC 11/32] Add target_ops argument to to_insert_vfork_catchpoint Tom Tromey
2014-01-14 12:52 ` Pedro Alves
2014-01-13 19:13 ` [RFC 09/32] Add target_ops argument to to_close Tom Tromey
2014-01-14 12:48 ` Pedro Alves
2014-01-13 19:13 ` [RFC 12/32] Add target_ops argument to to_thread_name Tom Tromey
2014-01-14 13:03 ` Pedro Alves
2014-01-15 16:45 ` Tom Tromey
2014-01-16 17:50 ` Pedro Alves
2014-01-13 19:13 ` [RFC 24/32] convert to_disable_tracepoint Tom Tromey
2014-01-14 18:49 ` Pedro Alves
2014-01-13 19:13 ` [RFC 27/32] convert to_insert_mask_watchpoint Tom Tromey
2014-01-14 19:15 ` Pedro Alves
2014-01-14 19:23 ` Tom Tromey
2014-01-13 19:13 ` [RFC 19/32] convert to_detach Tom Tromey
2014-01-14 13:32 ` Pedro Alves
2014-01-13 19:23 ` [RFC 13/32] Add target_ops argument to to_get_ada_task_ptid Tom Tromey
2014-01-14 13:21 ` Pedro Alves
2014-01-13 19:23 ` [RFC 07/32] introduce remote_load Tom Tromey
2014-01-14 12:39 ` Pedro Alves
2014-01-13 19:23 ` [RFC 17/32] Add target_ops argument to to_static_tracepoint_markers_by_strid Tom Tromey
2014-01-14 13:25 ` Pedro Alves
2014-01-13 19:23 ` [RFC 20/32] convert to_remove_watchpoint Tom Tromey
2014-01-14 18:39 ` Pedro Alves
2014-01-14 18:55 ` Tom Tromey
2014-01-14 19:07 ` Tom Tromey
2014-01-14 20:38 ` Pedro Alves
2014-01-14 21:47 ` Tom Tromey
2014-01-13 19:24 ` [RFC 06/32] convert to_supports_btrace Tom Tromey
2014-01-14 12:37 ` Pedro Alves
2014-01-15 16:55 ` Tom Tromey
2014-01-13 19:24 ` [RFC 30/32] convert to_search_memory Tom Tromey
2014-01-14 19:45 ` Pedro Alves
2014-01-14 20:20 ` Tom Tromey
2014-01-13 19:24 ` [RFC 16/32] Add target_ops argument to to_upload_trace_state_variables Tom Tromey
2014-01-14 13:24 ` Pedro Alves
2014-01-13 19:37 ` [RFC 21/32] convert to_load Tom Tromey
2014-01-14 18:41 ` Pedro Alves
2014-01-13 19:38 ` [RFC 05/32] add target method delegation Tom Tromey
2014-01-14 12:32 ` Pedro Alves
2014-01-20 22:00 ` Tom Tromey
2014-01-13 19:38 ` [RFC 22/32] convert to_extra_thread_info Tom Tromey
2014-01-14 18:43 ` Pedro Alves
2014-01-13 19:38 ` [RFC 28/32] convert to_get_section_table Tom Tromey
2014-01-14 19:23 ` Pedro Alves
2014-01-14 19:29 ` Tom Tromey
2014-01-14 19:30 ` Pedro Alves
2014-01-15 16:43 ` Tom Tromey
2014-01-16 17:51 ` Pedro Alves
2014-01-13 19:38 ` [RFC 23/32] convert to_thread_architecture Tom Tromey
2014-01-14 18:46 ` Pedro Alves
2014-01-13 19:38 ` [RFC 18/32] Add target_ops argument to to_save_record Tom Tromey
2014-01-14 13:26 ` Pedro Alves
2014-01-13 19:40 ` [RFC 29/32] convert to_insn_history Tom Tromey
2014-01-14 19:29 ` Pedro Alves
2014-01-13 19:57 ` [RFC 14/32] Add target_ops argument to to_fileio_pwrite Tom Tromey
2014-01-14 13:22 ` Pedro Alves
2014-01-13 19:57 ` [RFC 15/32] Add target_ops argument to to_disable_tracepoint Tom Tromey
2014-01-14 13:23 ` Pedro Alves
2014-01-14 20:31 ` go32 fix Pedro Alves
2014-01-14 21:58 ` Tom Tromey
2014-01-15 12:55 ` Pedro Alves [this message]
2014-01-15 16:11 ` [RFC 00/32] clean up target delegation Tom Tromey
2014-01-15 20:05 ` Tom Tromey
2014-01-16 17:33 ` Pedro Alves
2014-01-16 19:09 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52D6852E.6080400@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).