From d9eebde01801427330b882d0104aa608788f268d Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 29 Oct 2020 15:04:33 -0600 Subject: [PATCH] Change add_target_sections_of_objfile to method on program_space This changes add_target_sections_of_objfile to be a method on program_space. It is renamed to be another overload of add_target_sections, because they are semantically equivalent in a sense. gdb/ChangeLog 2020-10-29 Tom Tromey * 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) : Declare new overload. * exec.h (add_target_sections_of_objfile): Don't declare. --- gdb/ChangeLog | 9 +++++++++ gdb/exec.c | 9 ++++----- gdb/exec.h | 5 ----- gdb/progspace.h | 4 ++++ gdb/symfile-mem.c | 2 +- gdb/symfile.c | 2 +- 6 files changed, 19 insertions(+), 12 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3aeb0d12d1c..4096a1bff52 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2020-10-29 Tom Tromey + + * 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) : + Declare new overload. + * exec.h (add_target_sections_of_objfile): Don't declare. + 2020-10-29 Tom Tromey * solib.c (solib_map_sections): Update. diff --git a/gdb/exec.c b/gdb/exec.c index a57399b0e34..9c4d9bef908 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 = ¤t_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 3aa248527c9..4ddc6850be1 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 92a7942c560..c141731fa94 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 §ions); + /* 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 916c37cb9f8..914976ce72a 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 504132754b0..58ed660e52a 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. */ -- 2.30.2