diff options
author | Tom Tromey <tom@tromey.com> | 2020-09-23 09:32:54 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-09-23 09:32:56 -0600 |
commit | 92677124d90f0690ec5ffb6ee0a7b5097f95b135 (patch) | |
tree | 857576b16b81d4d26c44f3c66ef4192148b64cdb /gdb/compile/compile-object-load.h | |
parent | e616f60a6bc233acdb9ad1c37833a976f21aecec (diff) | |
download | binutils-92677124d90f0690ec5ffb6ee0a7b5097f95b135.zip binutils-92677124d90f0690ec5ffb6ee0a7b5097f95b135.tar.gz binutils-92677124d90f0690ec5ffb6ee0a7b5097f95b135.tar.bz2 |
Simplify compile_module cleanup
This simplifies compile_module cleanup by removing the need to
explicitly free anything. struct setup_sections_data is also cleaned
up a bit.
gdb/ChangeLog
2020-09-23 Tom Tromey <tom@tromey.com>
* compile/compile-object-run.c (do_module_cleanup)
<~do_module_cleanup> :Remove.
(do_module_cleanup): Update.
* compile/compile-object-load.h (struct munmap_list): Add move
assignment operator.
<source_file>: Now a std::string.
<munmap_list>: Rename. No longer a pointer.
* compile/compile-object-load.c (struct setup_sections_data): Add
constructor.
<setup_one_section>: Declare.
<munmap_list>: Move earlier.
<m_bfd>: New member.
<m_last_size, m_last_section_first, m_last_prot,
m_last_max_alignment>: Rename, add initializers where needed.
(setup_sections_data::setup_one_section): Rename from
setup_sections. Update.
(compile_object_load): Update. Don't use bfd_map_over_sections.
Diffstat (limited to 'gdb/compile/compile-object-load.h')
-rw-r--r-- | gdb/compile/compile-object-load.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/compile/compile-object-load.h b/gdb/compile/compile-object-load.h index 9def29e..0254390 100644 --- a/gdb/compile/compile-object-load.h +++ b/gdb/compile/compile-object-load.h @@ -29,6 +29,8 @@ public: DISABLE_COPY_AND_ASSIGN (munmap_list); + munmap_list &operator= (munmap_list &&) = default; + /* Add a region to the list. */ void add (CORE_ADDR addr, CORE_ADDR size); @@ -56,8 +58,8 @@ struct compile_module /* objfile for the compiled module. */ struct objfile *objfile; - /* .c file OBJFILE was built from. It needs to be xfree-d. */ - char *source_file; + /* .c file OBJFILE was built from. */ + std::string source_file; /* Inferior function GCC_FE_WRAPPER_FUNCTION. */ struct symbol *func_sym; @@ -81,7 +83,7 @@ struct compile_module CORE_ADDR out_value_addr; /* Track inferior memory reserved by inferior mmap. */ - struct munmap_list *munmap_list_head; + struct munmap_list munmap_list; }; /* A unique pointer for a compile_module. */ |