aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/exec.c9
-rw-r--r--gdb/exec.h5
-rw-r--r--gdb/progspace.h4
-rw-r--r--gdb/symfile-mem.c2
-rw-r--r--gdb/symfile.c2
6 files changed, 19 insertions, 12 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3aeb0d1..4096a1b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2020-10-29 Tom Tromey <tom@tromey.com>
+ * symfile.c (add_symbol_file_command): Update.
+ * exec.c (program_space::add_target_sections): Rename.
+ * symfile-mem.c (symbol_file_add_from_memory): Update.
+ * progspace.h (struct program_space) <add_target_sections>:
+ Declare new overload.
+ * exec.h (add_target_sections_of_objfile): Don't declare.
+
+2020-10-29 Tom Tromey <tom@tromey.com>
+
* solib.c (solib_map_sections): Update.
* exec.c (program_space::add_target_sections): Now a method.
(exec_file_attach): Update.
diff --git a/gdb/exec.c b/gdb/exec.c
index a57399b..9c4d9be 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -628,9 +628,8 @@ program_space::add_target_sections (void *owner,
/* Add the sections of OBJFILE to the current set of target sections. */
void
-add_target_sections_of_objfile (struct objfile *objfile)
+program_space::add_target_sections (struct objfile *objfile)
{
- target_section_table *table = &current_program_space->target_sections;
struct obj_section *osect;
gdb_assert (objfile != nullptr);
@@ -641,9 +640,9 @@ add_target_sections_of_objfile (struct objfile *objfile)
if (bfd_section_size (osect->the_bfd_section) == 0)
continue;
- table->emplace_back (obj_section_addr (osect),
- obj_section_endaddr (osect),
- osect->the_bfd_section, (void *) objfile);
+ target_sections.emplace_back (obj_section_addr (osect),
+ obj_section_endaddr (osect),
+ osect->the_bfd_section, (void *) objfile);
}
}
diff --git a/gdb/exec.h b/gdb/exec.h
index 3aa2485..4ddc685 100644
--- a/gdb/exec.h
+++ b/gdb/exec.h
@@ -92,11 +92,6 @@ extern enum target_xfer_status
/* Set the loaded address of a section. */
extern void exec_set_section_address (const char *, int, CORE_ADDR);
-/* Add the sections of OBJFILE to the current set of target sections.
- * OBJFILE owns the new target sections. */
-
-extern void add_target_sections_of_objfile (struct objfile *objfile);
-
/* Prints info about all sections defined in the TABLE. ABFD is
special cased --- it's filename is omitted; if it is the executable
file, its entry point is printed. */
diff --git a/gdb/progspace.h b/gdb/progspace.h
index 92a7942..c141731 100644
--- a/gdb/progspace.h
+++ b/gdb/progspace.h
@@ -305,6 +305,10 @@ struct program_space
void add_target_sections (void *owner,
const target_section_table &sections);
+ /* Add the sections of OBJFILE to the current set of target
+ sections. They are given OBJFILE as the "owner". */
+ void add_target_sections (struct objfile *objfile);
+
/* Unique ID number. */
int num = 0;
diff --git a/gdb/symfile-mem.c b/gdb/symfile-mem.c
index 916c37c..914976c 100644
--- a/gdb/symfile-mem.c
+++ b/gdb/symfile-mem.c
@@ -122,7 +122,7 @@ symbol_file_add_from_memory (struct bfd *templ, CORE_ADDR addr,
objf = symbol_file_add_from_bfd (nbfd, bfd_get_filename (nbfd),
add_flags, &sai, OBJF_SHARED, NULL);
- add_target_sections_of_objfile (objf);
+ current_program_space->add_target_sections (objf);
/* This might change our ideas about frames already looked at. */
reinit_frame_cache ();
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 5041327..58ed660 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -2323,7 +2323,7 @@ add_symbol_file_command (const char *args, int from_tty)
if (seen_offset)
set_objfile_default_section_offset (objf, section_addrs, offset);
- add_target_sections_of_objfile (objf);
+ current_program_space->add_target_sections (objf);
/* Getting new symbols may change our opinion about what is
frameless. */