mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
Change objfile to use new/delete
This changes objfiles to use new and delete rather than xmalloc and free. Simon noticed that it uses a non-POD and so shouldn't be allocated with XCNEW; and I wanted to be able to use another non-POD as a member; this patch is the result. Regression tested by the buildbot. 2017-10-13 Tom Tromey <tom@tromey.com> * compile/compile-object-run.c (do_module_cleanup): Use delete. * solib.c (update_solib_list, reload_shared_libraries_1): Use delete. * symfile.c (symbol_file_add_with_addrs): Use new. (symbol_file_add_separate): Update comment. (syms_from_objfile_1, remove_symbol_file_command): Use delete. * jit.c (jit_object_close_impl): Use new. (jit_unregister_code): Use delete. * objfiles.c (objfile::objfile): Rename from allocate_objfile. (~objfile): Rename from free_objfile. (free_objfile_separate_debug, do_free_objfile_cleanup) (free_all_objfiles, objfile_purge_solibs): Use delete. * objfiles.h (struct objfile): Add constructor and destructor. Use DISABLE_COPY_AND_ASSIGN. Add initializers to data members. (allocate_objfile, free_objfile): Don't declare. (struct objstats): Add initializers.
This commit is contained in:
@ -851,7 +851,7 @@ update_solib_list (int from_tty)
|
||||
/* Unless the user loaded it explicitly, free SO's objfile. */
|
||||
if (gdb->objfile && ! (gdb->objfile->flags & OBJF_USERLOADED)
|
||||
&& !solib_used (gdb))
|
||||
free_objfile (gdb->objfile);
|
||||
delete gdb->objfile;
|
||||
|
||||
/* Some targets' section tables might be referring to
|
||||
sections from so->abfd; remove them. */
|
||||
@ -1334,7 +1334,7 @@ reload_shared_libraries_1 (int from_tty)
|
||||
{
|
||||
if (so->objfile && ! (so->objfile->flags & OBJF_USERLOADED)
|
||||
&& !solib_used (so))
|
||||
free_objfile (so->objfile);
|
||||
delete so->objfile;
|
||||
remove_target_sections (so);
|
||||
clear_so (so);
|
||||
}
|
||||
|
Reference in New Issue
Block a user