aboutsummaryrefslogtreecommitdiff
path: root/gdb/compile/compile-object-load.h
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-09-23 09:32:54 -0600
committerTom Tromey <tom@tromey.com>2020-09-23 09:32:56 -0600
commit92677124d90f0690ec5ffb6ee0a7b5097f95b135 (patch)
tree857576b16b81d4d26c44f3c66ef4192148b64cdb /gdb/compile/compile-object-load.h
parente616f60a6bc233acdb9ad1c37833a976f21aecec (diff)
downloadbinutils-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.h8
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. */