Eliminate target_ops::to_xclose
In the multi-target branch, I found no need for the target_close vs target_xclose distinction. Heap-allocated targets simply delete themselves in their target_close implementation, while singleton/static targets don't. The target_ops C++ification patches will add more commentary around target_ops's destructor, but there's no destructor yet... gdb/ChangeLog: 2018-05-02 Pedro Alves <palves@redhat.com> * bfd-target.c (target_bfd_xclose): Rename to ... (target_bfd_close): ... this. (target_bfd_reopen): Adjust. * target.c (target_close): Remove references to to_xclose. * target.h (target_ops::to_xclose): Delete. (target_ops::to_close): Update comments.
This commit is contained in:
parent
6798487f5b
commit
3fffc0701a
|
@ -1,3 +1,12 @@
|
|||
2018-05-02 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* bfd-target.c (target_bfd_xclose): Rename to ...
|
||||
(target_bfd_close): ... this.
|
||||
(target_bfd_reopen): Adjust.
|
||||
* target.c (target_close): Remove references to to_xclose.
|
||||
* target.h (target_ops::to_xclose): Delete.
|
||||
(target_ops::to_close): Update comments.
|
||||
|
||||
2018-05-02 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
|
||||
|
|
|
@ -68,7 +68,7 @@ target_bfd_get_section_table (struct target_ops *ops)
|
|||
}
|
||||
|
||||
static void
|
||||
target_bfd_xclose (struct target_ops *t)
|
||||
target_bfd_close (struct target_ops *t)
|
||||
{
|
||||
struct target_bfd_data *data = (struct target_bfd_data *) t->to_data;
|
||||
|
||||
|
@ -95,7 +95,7 @@ target_bfd_reopen (struct bfd *abfd)
|
|||
t->to_doc = _("You should never see this");
|
||||
t->to_get_section_table = target_bfd_get_section_table;
|
||||
t->to_xfer_partial = target_bfd_xfer_partial;
|
||||
t->to_xclose = target_bfd_xclose;
|
||||
t->to_close = target_bfd_close;
|
||||
t->to_data = data;
|
||||
t->to_magic = OPS_MAGIC;
|
||||
|
||||
|
|
|
@ -3416,9 +3416,7 @@ target_close (struct target_ops *targ)
|
|||
|
||||
fileio_handles_invalidate_target (targ);
|
||||
|
||||
if (targ->to_xclose != NULL)
|
||||
targ->to_xclose (targ);
|
||||
else if (targ->to_close != NULL)
|
||||
if (targ->to_close != NULL)
|
||||
targ->to_close (targ);
|
||||
|
||||
if (targetdebug)
|
||||
|
|
|
@ -418,11 +418,12 @@ struct target_ops
|
|||
stack. Targets should supply this routine, if only to provide
|
||||
an error message. */
|
||||
void (*to_open) (const char *, int);
|
||||
/* Old targets with a static target vector provide "to_close".
|
||||
New re-entrant targets provide "to_xclose" and that is expected
|
||||
to xfree everything (including the "struct target_ops"). */
|
||||
void (*to_xclose) (struct target_ops *targ);
|
||||
|
||||
/* Close the target. This is where the target can handle
|
||||
teardown. Heap-allocated targets should delete themselves
|
||||
before returning. */
|
||||
void (*to_close) (struct target_ops *);
|
||||
|
||||
/* Attaches to a process on the target side. Arguments are as
|
||||
passed to the `attach' command by the user. This routine can
|
||||
be called when the target is not on the target-stack, if the
|
||||
|
|
Loading…
Reference in New Issue