mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
Change program_space::ebfd to a gdb_bfd_ref_ptr
This changes program_space::ebfd to a gdb_bfd_ref_ptr, removing some manual management. gdb/ChangeLog 2020-10-29 Tom Tromey <tom@tromey.com> * exec.c (exec_file_attach): Update. * progspace.c (program_space::exec_close): Update. * progspace.h (struct program_space) <ebfd>: Now a gdb_bfd_ref_ptr. <set_exec_bfd>: Change argument type. <exec_bfd>: Update.
This commit is contained in:
parent
7e10abd146
commit
19f6550ebb
@ -1,3 +1,12 @@
|
||||
2020-10-29 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* exec.c (exec_file_attach): Update.
|
||||
* progspace.c (program_space::exec_close): Update.
|
||||
* progspace.h (struct program_space) <ebfd>: Now a
|
||||
gdb_bfd_ref_ptr.
|
||||
<set_exec_bfd>: Change argument type.
|
||||
<exec_bfd>: Update.
|
||||
|
||||
2020-10-29 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* windows-tdep.c (windows_solib_create_inferior_hook): Update.
|
||||
|
@ -453,7 +453,7 @@ exec_file_attach (const char *filename, int from_tty)
|
||||
FOPEN_RUB, scratch_chan);
|
||||
else
|
||||
temp = gdb_bfd_open (canonical_pathname, gnutarget, scratch_chan);
|
||||
current_program_space->set_exec_bfd (temp.release ());
|
||||
current_program_space->set_exec_bfd (std::move (temp));
|
||||
|
||||
if (!current_program_space->exec_bfd ())
|
||||
{
|
||||
|
@ -228,13 +228,11 @@ program_space::solibs () const
|
||||
void
|
||||
program_space::exec_close ()
|
||||
{
|
||||
if (ebfd)
|
||||
if (ebfd != nullptr)
|
||||
{
|
||||
gdb_bfd_unref (ebfd);
|
||||
|
||||
/* Removing target sections may close the exec_ops target.
|
||||
Clear ebfd before doing so to prevent recursion. */
|
||||
ebfd = NULL;
|
||||
ebfd.reset (nullptr);
|
||||
ebfd_mtime = 0;
|
||||
|
||||
remove_target_sections (&ebfd);
|
||||
|
@ -279,13 +279,13 @@ struct program_space
|
||||
/* Return the exec BFD for this program space. */
|
||||
bfd *exec_bfd () const
|
||||
{
|
||||
return ebfd;
|
||||
return ebfd.get ();
|
||||
}
|
||||
|
||||
/* Set the exec BFD for this program space to ABFD. */
|
||||
void set_exec_bfd (bfd *abfd)
|
||||
void set_exec_bfd (gdb_bfd_ref_ptr &&abfd)
|
||||
{
|
||||
ebfd = abfd;
|
||||
ebfd = std::move (abfd);
|
||||
}
|
||||
|
||||
/* Unique ID number. */
|
||||
@ -295,7 +295,7 @@ struct program_space
|
||||
managed by the exec target. */
|
||||
|
||||
/* The BFD handle for the main executable. */
|
||||
bfd *ebfd = NULL;
|
||||
gdb_bfd_ref_ptr ebfd;
|
||||
/* The last-modified time, from when the exec was brought in. */
|
||||
long ebfd_mtime = 0;
|
||||
/* Similar to bfd_get_filename (exec_bfd) but in original form given
|
||||
|
Loading…
Reference in New Issue
Block a user