Change target_bfd_reopen to take a gdb_bfd_ref_ptr
While looking at Andrew's recent target sections series, I saw that target_bfd_reopen took a "bfd *", leading to a call to new_reference. However, because the only caller of target_bfd_reopen is already using gdb_bfd_ref_ptr, this code can be simplified and the explicit call to new_reference can be removed. gdb/ChangeLog 2021-02-22 Tom Tromey <tromey@adacore.com> * solib-svr4.c (enable_break): Update. * bfd-target.c (class target_bfd) <target_bfd>: Change parameter type. (target_bfd_reopen): Change parameter type. * bfd-target.h (target_bfd_reopen): Change parameter type.
This commit is contained in:
parent
f53fc42716
commit
15908a11ba
@ -1,3 +1,11 @@
|
|||||||
|
2021-02-22 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
|
* solib-svr4.c (enable_break): Update.
|
||||||
|
* bfd-target.c (class target_bfd) <target_bfd>: Change parameter
|
||||||
|
type.
|
||||||
|
(target_bfd_reopen): Change parameter type.
|
||||||
|
* bfd-target.h (target_bfd_reopen): Change parameter type.
|
||||||
|
|
||||||
2021-02-22 Simon Marchi <simon.marchi@polymtl.ca>
|
2021-02-22 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
* thread.c (add_thread_silent): Add assert.
|
* thread.c (add_thread_silent): Add assert.
|
||||||
|
|||||||
@ -34,7 +34,7 @@ static const target_info target_bfd_target_info = {
|
|||||||
class target_bfd : public target_ops
|
class target_bfd : public target_ops
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit target_bfd (struct bfd *bfd);
|
explicit target_bfd (const gdb_bfd_ref_ptr &bfd);
|
||||||
|
|
||||||
const target_info &info () const override
|
const target_info &info () const override
|
||||||
{ return target_bfd_target_info; }
|
{ return target_bfd_target_info; }
|
||||||
@ -88,14 +88,14 @@ target_bfd::get_section_table ()
|
|||||||
return &m_table;
|
return &m_table;
|
||||||
}
|
}
|
||||||
|
|
||||||
target_bfd::target_bfd (struct bfd *abfd)
|
target_bfd::target_bfd (const gdb_bfd_ref_ptr &abfd)
|
||||||
: m_bfd (gdb_bfd_ref_ptr::new_reference (abfd)),
|
: m_bfd (abfd),
|
||||||
m_table (build_section_table (abfd))
|
m_table (build_section_table (abfd.get ()))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
target_ops *
|
target_ops *
|
||||||
target_bfd_reopen (struct bfd *abfd)
|
target_bfd_reopen (const gdb_bfd_ref_ptr &abfd)
|
||||||
{
|
{
|
||||||
return new target_bfd (abfd);
|
return new target_bfd (abfd);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,12 +20,11 @@
|
|||||||
#ifndef BFD_TARGET_H
|
#ifndef BFD_TARGET_H
|
||||||
#define BFD_TARGET_H
|
#define BFD_TARGET_H
|
||||||
|
|
||||||
struct bfd;
|
#include "gdb_bfd.h"
|
||||||
|
|
||||||
struct target_ops;
|
struct target_ops;
|
||||||
|
|
||||||
/* Given an existing BFD, re-open it as a "struct target_ops". This
|
/* Given an existing BFD, re-open it as a "struct target_ops". */
|
||||||
acquires a new reference to the BFD. This reference will be
|
struct target_ops *target_bfd_reopen (const gdb_bfd_ref_ptr &bfd);
|
||||||
released when the target is closed. */
|
|
||||||
struct target_ops *target_bfd_reopen (struct bfd *bfd);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -2333,9 +2333,8 @@ enable_break (struct svr4_info *info, int from_tty)
|
|||||||
goto bkpt_at_symbol;
|
goto bkpt_at_symbol;
|
||||||
|
|
||||||
/* Now convert the TMP_BFD into a target. That way target, as
|
/* Now convert the TMP_BFD into a target. That way target, as
|
||||||
well as BFD operations can be used. target_bfd_reopen
|
well as BFD operations can be used. */
|
||||||
acquires its own reference. */
|
tmp_bfd_target = target_bfd_reopen (tmp_bfd);
|
||||||
tmp_bfd_target = target_bfd_reopen (tmp_bfd.get ());
|
|
||||||
|
|
||||||
/* On a running target, we can get the dynamic linker's base
|
/* On a running target, we can get the dynamic linker's base
|
||||||
address from the shared library table. */
|
address from the shared library table. */
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user