diff options
author | Tom Tromey <tom@tromey.com> | 2020-10-29 15:04:33 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-10-29 15:04:37 -0600 |
commit | a42d7dd873b1fc989b25c2fc793d6d084c6af907 (patch) | |
tree | fc03e49cfc9d6225dfdca489d27035e9af08ffa4 | |
parent | 19f6550ebbc922f88026c5c7ebeb04019d47cac2 (diff) | |
download | gdb-a42d7dd873b1fc989b25c2fc793d6d084c6af907.zip gdb-a42d7dd873b1fc989b25c2fc793d6d084c6af907.tar.gz gdb-a42d7dd873b1fc989b25c2fc793d6d084c6af907.tar.bz2 |
Remove symfile_objfile macro
This removes the symfile_objfile macro, in favor of just spelling out
the member access.
gdb/ChangeLog
2020-10-29 Tom Tromey <tom@tromey.com>
* windows-tdep.c (windows_solib_create_inferior_hook): Update.
* target.c (info_target_command): Update.
* symfile.c (syms_from_objfile_1, finish_new_objfile)
(symbol_file_clear, reread_symbols): Update.
* symfile-mem.c (add_symbol_file_from_memory_command): Update.
* stabsread.c (scan_file_globals): Update.
* solib.c (update_solib_list): Update.
* solib-svr4.c (elf_locate_base, open_symbol_file_object)
(svr4_fetch_objfile_link_map, enable_break)
(svr4_relocate_main_executable)
(svr4_iterate_over_objfiles_in_search_order): Update.
* solib-frv.c (lm_base, enable_break)
(frv_relocate_main_executable): Update.
(main_got, frv_fdpic_find_canonical_descriptor): Update.
(frv_fetch_objfile_link_map): Update.
* solib-dsbt.c (lm_base, dsbt_relocate_main_executable): Update.
* solib-darwin.c (darwin_solib_create_inferior_hook): Update.
* solib-aix.c (solib_aix_solib_create_inferior_hook): Update.
* remote.c (remote_target::get_offsets): Update.
(remote_target::start_remote)
(extended_remote_target::post_attach): Update.
* objfiles.c (entry_point_address_query): Update.
* nto-procfs.c (nto_procfs_target::create_inferior): Update.
* minsyms.c (get_symbol_leading_char): Update.
* frame.c (inside_main_func): Update.
* progspace.h (symfile_objfile): Remove macro.
-rw-r--r-- | gdb/ChangeLog | 29 | ||||
-rw-r--r-- | gdb/frame.c | 5 | ||||
-rw-r--r-- | gdb/minsyms.c | 8 | ||||
-rw-r--r-- | gdb/nto-procfs.c | 3 | ||||
-rw-r--r-- | gdb/objfiles.c | 8 | ||||
-rw-r--r-- | gdb/progspace.h | 5 | ||||
-rw-r--r-- | gdb/remote.c | 23 | ||||
-rw-r--r-- | gdb/solib-aix.c | 9 | ||||
-rw-r--r-- | gdb/solib-darwin.c | 5 | ||||
-rw-r--r-- | gdb/solib-dsbt.c | 17 | ||||
-rw-r--r-- | gdb/solib-frv.c | 28 | ||||
-rw-r--r-- | gdb/solib-svr4.c | 21 | ||||
-rw-r--r-- | gdb/solib.c | 3 | ||||
-rw-r--r-- | gdb/stabsread.c | 5 | ||||
-rw-r--r-- | gdb/symfile-mem.c | 4 | ||||
-rw-r--r-- | gdb/symfile.c | 16 | ||||
-rw-r--r-- | gdb/target.c | 9 | ||||
-rw-r--r-- | gdb/windows-tdep.c | 5 |
18 files changed, 124 insertions, 79 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 06f4243..c074b4f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,34 @@ 2020-10-29 Tom Tromey <tom@tromey.com> + * windows-tdep.c (windows_solib_create_inferior_hook): Update. + * target.c (info_target_command): Update. + * symfile.c (syms_from_objfile_1, finish_new_objfile) + (symbol_file_clear, reread_symbols): Update. + * symfile-mem.c (add_symbol_file_from_memory_command): Update. + * stabsread.c (scan_file_globals): Update. + * solib.c (update_solib_list): Update. + * solib-svr4.c (elf_locate_base, open_symbol_file_object) + (svr4_fetch_objfile_link_map, enable_break) + (svr4_relocate_main_executable) + (svr4_iterate_over_objfiles_in_search_order): Update. + * solib-frv.c (lm_base, enable_break) + (frv_relocate_main_executable): Update. + (main_got, frv_fdpic_find_canonical_descriptor): Update. + (frv_fetch_objfile_link_map): Update. + * solib-dsbt.c (lm_base, dsbt_relocate_main_executable): Update. + * solib-darwin.c (darwin_solib_create_inferior_hook): Update. + * solib-aix.c (solib_aix_solib_create_inferior_hook): Update. + * remote.c (remote_target::get_offsets): Update. + (remote_target::start_remote) + (extended_remote_target::post_attach): Update. + * objfiles.c (entry_point_address_query): Update. + * nto-procfs.c (nto_procfs_target::create_inferior): Update. + * minsyms.c (get_symbol_leading_char): Update. + * frame.c (inside_main_func): Update. + * progspace.h (symfile_objfile): Remove macro. + +2020-10-29 Tom Tromey <tom@tromey.com> + * exec.c (exec_file_attach): Update. * progspace.c (program_space::exec_close): Update. * progspace.h (struct program_space) <ebfd>: Now a diff --git a/gdb/frame.c b/gdb/frame.c index 6bfa31e..15168fb 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -2292,13 +2292,14 @@ frame_debug_got_null_frame (struct frame_info *this_frame, static bool inside_main_func (frame_info *this_frame) { - if (symfile_objfile == nullptr) + if (current_program_space->symfile_object_file == nullptr) return false; CORE_ADDR sym_addr; const char *name = main_name (); bound_minimal_symbol msymbol - = lookup_minimal_symbol (name, NULL, symfile_objfile); + = lookup_minimal_symbol (name, NULL, + current_program_space->symfile_object_file); if (msymbol.minsym == nullptr) { /* In some language (for example Fortran) there will be no minimal diff --git a/gdb/minsyms.c b/gdb/minsyms.c index f4a2544..0dec18d 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -1008,8 +1008,12 @@ get_symbol_leading_char (bfd *abfd) { if (abfd != NULL) return bfd_get_symbol_leading_char (abfd); - if (symfile_objfile != NULL && symfile_objfile->obfd != NULL) - return bfd_get_symbol_leading_char (symfile_objfile->obfd); + if (current_program_space->symfile_object_file != NULL) + { + objfile *objf = current_program_space->symfile_object_file; + if (objf->obfd != NULL) + return bfd_get_symbol_leading_char (objf->obfd); + } return 0; } diff --git a/gdb/nto-procfs.c b/gdb/nto-procfs.c index 5ecf9b5..366ef38 100644 --- a/gdb/nto-procfs.c +++ b/gdb/nto-procfs.c @@ -1323,7 +1323,8 @@ nto_procfs_target::create_inferior (const char *exec_file, target_terminal::init (); if (current_program_space->exec_bfd () != NULL - || (symfile_objfile != NULL && symfile_objfile->obfd != NULL)) + || (current_program_space->symfile_object_file != NULL + && current_program_space->symfile_object_file->obfd != NULL)) solib_create_inferior_hook (0); } diff --git a/gdb/objfiles.c b/gdb/objfiles.c index 471a5c4..b322c6b 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -373,12 +373,12 @@ objfile::objfile (bfd *abfd, const char *name, objfile_flags flags_) int entry_point_address_query (CORE_ADDR *entry_p) { - if (symfile_objfile == NULL || !symfile_objfile->per_bfd->ei.entry_point_p) + objfile *objf = current_program_space->symfile_object_file; + if (objf == NULL || !objf->per_bfd->ei.entry_point_p) return 0; - int idx = symfile_objfile->per_bfd->ei.the_bfd_section_index; - *entry_p = (symfile_objfile->per_bfd->ei.entry_point - + symfile_objfile->section_offsets[idx]); + int idx = objf->per_bfd->ei.the_bfd_section_index; + *entry_p = objf->per_bfd->ei.entry_point + objf->section_offsets[idx]; return 1; } diff --git a/gdb/progspace.h b/gdb/progspace.h index 8150d8a..e719cee 100644 --- a/gdb/progspace.h +++ b/gdb/progspace.h @@ -372,11 +372,6 @@ struct address_space REGISTRY_FIELDS; }; -/* The object file that the main symbol table was loaded from (e.g. the - argument to the "symbol-file" or "file" command). */ - -#define symfile_objfile current_program_space->symfile_object_file - /* The list of all program spaces. There's always at least one. */ extern std::vector<struct program_space *>program_spaces; diff --git a/gdb/remote.c b/gdb/remote.c index 291b7c6..b75d9a9 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -4107,7 +4107,7 @@ remote_target::get_offsets () int lose, num_segments = 0, do_sections, do_segments; CORE_ADDR text_addr, data_addr, bss_addr, segments[2]; - if (symfile_objfile == NULL) + if (current_program_space->symfile_object_file == NULL) return; putpkt ("qOffsets"); @@ -4183,10 +4183,10 @@ remote_target::get_offsets () else if (*ptr != '\0') warning (_("Target reported unsupported offsets: %s"), buf); - section_offsets offs = symfile_objfile->section_offsets; + objfile *objf = current_program_space->symfile_object_file; + section_offsets offs = objf->section_offsets; - symfile_segment_data_up data - = get_symfile_segment_data (symfile_objfile->obfd); + symfile_segment_data_up data = get_symfile_segment_data (objf->obfd); do_segments = (data != NULL); do_sections = num_segments == 0; @@ -4221,7 +4221,7 @@ remote_target::get_offsets () if (do_segments) { - int ret = symfile_map_offsets_to_segments (symfile_objfile->obfd, + int ret = symfile_map_offsets_to_segments (objf->obfd, data.get (), offs, num_segments, segments); @@ -4235,18 +4235,18 @@ remote_target::get_offsets () if (do_sections) { - offs[SECT_OFF_TEXT (symfile_objfile)] = text_addr; + offs[SECT_OFF_TEXT (objf)] = text_addr; /* This is a temporary kludge to force data and bss to use the same offsets because that's what nlmconv does now. The real solution requires changes to the stub and remote.c that I don't have time to do right now. */ - offs[SECT_OFF_DATA (symfile_objfile)] = data_addr; - offs[SECT_OFF_BSS (symfile_objfile)] = data_addr; + offs[SECT_OFF_DATA (objf)] = data_addr; + offs[SECT_OFF_BSS (objf)] = data_addr; } - objfile_relocate (symfile_objfile, offs); + objfile_relocate (objf, offs); } /* Send interrupt_sequence to remote target. */ @@ -4846,7 +4846,8 @@ remote_target::start_remote (int from_tty, int extended_p) /* If we connected to a live target, do some additional setup. */ if (target_has_execution ()) { - if (symfile_objfile) /* No use without a symbol-file. */ + /* No use without a symbol-file. */ + if (current_program_space->symfile_object_file) remote_check_symbols (); } @@ -5983,7 +5984,7 @@ extended_remote_target::post_attach (int pid) binary is not using shared libraries, the vsyscall page is not present (on Linux) and the binary itself hadn't changed since the debugging process was started. */ - if (symfile_objfile != NULL) + if (current_program_space->symfile_object_file != NULL) remote_check_symbols(); } diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c index 344c1f5..0897d06 100644 --- a/gdb/solib-aix.c +++ b/gdb/solib-aix.c @@ -462,12 +462,13 @@ solib_aix_solib_create_inferior_hook (int from_tty) } lm_info_aix &exec_info = (*library_list)[0]; - if (symfile_objfile != NULL) + if (current_program_space->symfile_object_file != NULL) { - section_offsets offsets - = solib_aix_get_section_offsets (symfile_objfile, &exec_info); + objfile *objf = current_program_space->symfile_object_file; + section_offsets offsets = solib_aix_get_section_offsets (objf, + &exec_info); - objfile_relocate (symfile_objfile, offsets); + objfile_relocate (objf, offsets); } } diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c index e784e56..172b1e2 100644 --- a/gdb/solib-darwin.c +++ b/gdb/solib-darwin.c @@ -539,7 +539,7 @@ darwin_solib_create_inferior_hook (int from_tty) load_addr = darwin_read_exec_load_addr_at_init (info); } - if (load_addr != 0 && symfile_objfile != NULL) + if (load_addr != 0 && current_program_space->symfile_object_file != NULL) { CORE_ADDR vmaddr; @@ -548,7 +548,8 @@ darwin_solib_create_inferior_hook (int from_tty) /* Relocate. */ if (vmaddr != load_addr) - objfile_rebase (symfile_objfile, load_addr - vmaddr); + objfile_rebase (current_program_space->symfile_object_file, + load_addr - vmaddr); } /* Set solib notifier (to reload list of shared libraries). */ diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c index 8e1da5d..c3ce167 100644 --- a/gdb/solib-dsbt.c +++ b/gdb/solib-dsbt.c @@ -552,7 +552,7 @@ lm_base (void) return info->lm_base_cache; got_sym = lookup_minimal_symbol ("_GLOBAL_OFFSET_TABLE_", NULL, - symfile_objfile); + current_program_space->symfile_object_file); if (got_sym.minsym != 0) { @@ -909,21 +909,22 @@ dsbt_relocate_main_executable (void) info->main_executable_lm_info = new lm_info_dsbt; info->main_executable_lm_info->map = ldm; - section_offsets new_offsets (symfile_objfile->section_offsets.size ()); + objfile *objf = current_program_space->symfile_object_file; + section_offsets new_offsets (objf->section_offsets.size ()); changed = 0; - ALL_OBJFILE_OSECTIONS (symfile_objfile, osect) + ALL_OBJFILE_OSECTIONS (objf, osect) { CORE_ADDR orig_addr, addr, offset; int osect_idx; int seg; - osect_idx = osect - symfile_objfile->sections; + osect_idx = osect - objf->sections; /* Current address of section. */ addr = obj_section_addr (osect); /* Offset from where this section started. */ - offset = symfile_objfile->section_offsets[osect_idx]; + offset = objf->section_offsets[osect_idx]; /* Original address prior to any past relocations. */ orig_addr = addr - offset; @@ -943,10 +944,10 @@ dsbt_relocate_main_executable (void) } if (changed) - objfile_relocate (symfile_objfile, new_offsets); + objfile_relocate (objf, new_offsets); - /* Now that symfile_objfile has been relocated, we can compute the - GOT value and stash it away. */ + /* Now that OBJF has been relocated, we can compute the GOT value + and stash it away. */ } /* When gdb starts up the inferior, it nurses it along (through the diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c index 08c9cf7..6c9ab17 100644 --- a/gdb/solib-frv.c +++ b/gdb/solib-frv.c @@ -287,7 +287,7 @@ lm_base (void) return lm_base_cache; got_sym = lookup_minimal_symbol ("_GLOBAL_OFFSET_TABLE_", NULL, - symfile_objfile); + current_program_space->symfile_object_file); if (got_sym.minsym == 0) { if (solib_frv_debug) @@ -717,7 +717,7 @@ enable_break (void) asection *interp_sect; CORE_ADDR entry_point; - if (symfile_objfile == NULL) + if (current_program_space->symfile_object_file == NULL) { if (solib_frv_debug) fprintf_unfiltered (gdb_stdlog, @@ -784,21 +784,22 @@ frv_relocate_main_executable (void) main_executable_lm_info = new lm_info_frv; main_executable_lm_info->map = ldm; - section_offsets new_offsets (symfile_objfile->section_offsets.size ()); + objfile *objf = current_program_space->symfile_object_file; + section_offsets new_offsets (objf->section_offsets.size ()); changed = 0; - ALL_OBJFILE_OSECTIONS (symfile_objfile, osect) + ALL_OBJFILE_OSECTIONS (objf, osect) { CORE_ADDR orig_addr, addr, offset; int osect_idx; int seg; - osect_idx = osect - symfile_objfile->sections; + osect_idx = osect - objf->sections; /* Current address of section. */ addr = obj_section_addr (osect); /* Offset from where this section started. */ - offset = symfile_objfile->section_offsets[osect_idx]; + offset = objf->section_offsets[osect_idx]; /* Original address prior to any past relocations. */ orig_addr = addr - offset; @@ -818,10 +819,10 @@ frv_relocate_main_executable (void) } if (changed) - objfile_relocate (symfile_objfile, new_offsets); + objfile_relocate (objf, new_offsets); - /* Now that symfile_objfile has been relocated, we can compute the - GOT value and stash it away. */ + /* Now that OBJF has been relocated, we can compute the GOT value + and stash it away. */ main_executable_lm_info->got_value = main_got (); } @@ -894,8 +895,8 @@ main_got (void) { struct bound_minimal_symbol got_sym; - got_sym = lookup_minimal_symbol ("_GLOBAL_OFFSET_TABLE_", - NULL, symfile_objfile); + objfile *objf = current_program_space->symfile_object_file; + got_sym = lookup_minimal_symbol ("_GLOBAL_OFFSET_TABLE_", NULL, objf); if (got_sym.minsym == 0) return 0; @@ -955,8 +956,9 @@ frv_fdpic_find_canonical_descriptor (CORE_ADDR entry_point) name = sym->linkage_name (); /* Check the main executable. */ + objfile *objf = current_program_space->symfile_object_file; addr = find_canonical_descriptor_in_load_object - (entry_point, got_value, name, symfile_objfile->obfd, + (entry_point, got_value, name, objf->obfd, main_executable_lm_info); /* If descriptor not found via main executable, check each load object @@ -1110,7 +1112,7 @@ frv_fetch_objfile_link_map (struct objfile *objfile) solib_add (0, 0, 1); /* frv_current_sos() will set main_lm_addr for the main executable. */ - if (objfile == symfile_objfile) + if (objfile == current_program_space->symfile_object_file) return main_lm_addr; /* The other link map addresses may be found by examining the list diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 637a0fc..cd49cb5 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -806,7 +806,8 @@ elf_locate_base (void) /* This may be a static executable. Look for the symbol conventionally named _r_debug, as a last resort. */ - msymbol = lookup_minimal_symbol ("_r_debug", NULL, symfile_objfile); + msymbol = lookup_minimal_symbol ("_r_debug", NULL, + current_program_space->symfile_object_file); if (msymbol.minsym != NULL) return BMSYMBOL_VALUE_ADDRESS (msymbol); @@ -971,7 +972,7 @@ open_symbol_file_object (int from_tty) if (from_tty) add_flags |= SYMFILE_VERBOSE; - if (symfile_objfile) + if (current_program_space->symfile_object_file) if (!query (_("Attempt to reload symbols from process? "))) return 0; @@ -1544,7 +1545,7 @@ svr4_fetch_objfile_link_map (struct objfile *objfile) solib_add (NULL, 0, auto_solib_add); /* svr4_current_sos() will set main_lm_addr for the main executable. */ - if (objfile == symfile_objfile) + if (objfile == current_program_space->symfile_object_file) return info->main_lm_addr; /* If OBJFILE is a separate debug object file, look for the @@ -2465,9 +2466,10 @@ enable_break (struct svr4_info *info, int from_tty) /* Scan through the lists of symbols, trying to look up the symbol and set a breakpoint there. Terminate loop when we/if we succeed. */ + objfile *objf = current_program_space->symfile_object_file; for (bkpt_namep = solib_break_names; *bkpt_namep != NULL; bkpt_namep++) { - msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, symfile_objfile); + msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, objf); if ((msymbol.minsym != NULL) && (BMSYMBOL_VALUE_ADDRESS (msymbol) != 0)) { @@ -2485,7 +2487,7 @@ enable_break (struct svr4_info *info, int from_tty) { for (bkpt_namep = bkpt_names; *bkpt_namep != NULL; bkpt_namep++) { - msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, symfile_objfile); + msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, objf); if ((msymbol.minsym != NULL) && (BMSYMBOL_VALUE_ADDRESS (msymbol) != 0)) { @@ -2981,11 +2983,12 @@ svr4_relocate_main_executable (void) /* Even DISPLACEMENT 0 is a valid new difference of in-memory vs. in-file addresses. */ - if (symfile_objfile) + objfile *objf = current_program_space->symfile_object_file; + if (objf) { - section_offsets new_offsets (symfile_objfile->section_offsets.size (), + section_offsets new_offsets (objf->section_offsets.size (), displacement); - objfile_relocate (symfile_objfile, new_offsets); + objfile_relocate (objf, new_offsets); } else if (current_program_space->exec_bfd ()) { @@ -3246,7 +3249,7 @@ svr4_iterate_over_objfiles_in_search_order if (current_objfile->separate_debug_objfile_backlink != nullptr) current_objfile = current_objfile->separate_debug_objfile_backlink; - if (current_objfile == symfile_objfile) + if (current_objfile == current_program_space->symfile_object_file) abfd = current_program_space->exec_bfd (); else abfd = current_objfile->obfd; diff --git a/gdb/solib.c b/gdb/solib.c index 28f6a4e..9df4eca 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -729,7 +729,8 @@ update_solib_list (int from_tty) /* If we are attaching to a running process for which we have not opened a symbol file, we may be able to get its symbols now! */ - if (inf->attach_flag && symfile_objfile == NULL) + if (inf->attach_flag + && current_program_space->symfile_object_file == NULL) { try { diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 9556263..9fa5188 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -4518,8 +4518,9 @@ scan_file_globals (struct objfile *objfile) If we are scanning the symbols for a shared library, try to resolve them from the minimal symbols of the main executable first. */ - if (symfile_objfile && objfile != symfile_objfile) - resolve_objfile = symfile_objfile; + if (current_program_space->symfile_object_file + && objfile != current_program_space->symfile_object_file) + resolve_objfile = current_program_space->symfile_object_file; else resolve_objfile = objfile; diff --git a/gdb/symfile-mem.c b/gdb/symfile-mem.c index 02761df..916c37c 100644 --- a/gdb/symfile-mem.c +++ b/gdb/symfile-mem.c @@ -143,8 +143,8 @@ add_symbol_file_from_memory_command (const char *args, int from_tty) addr = parse_and_eval_address (args); /* We need some representative bfd to know the target we are looking at. */ - if (symfile_objfile != NULL) - templ = symfile_objfile->obfd; + if (current_program_space->symfile_object_file != NULL) + templ = current_program_space->symfile_object_file->obfd; else templ = current_program_space->exec_bfd (); if (templ == NULL) diff --git a/gdb/symfile.c b/gdb/symfile.c index 434ecb9..493411f 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -929,10 +929,10 @@ syms_from_objfile_1 (struct objfile *objfile, /* Since no error yet, throw away the old symbol table. */ - if (symfile_objfile != NULL) + if (current_program_space->symfile_object_file != NULL) { - symfile_objfile->unlink (); - gdb_assert (symfile_objfile == NULL); + current_program_space->symfile_object_file->unlink (); + gdb_assert (current_program_space->symfile_object_file == NULL); } /* Currently we keep symbols from the add-symbol-file command. @@ -995,7 +995,7 @@ finish_new_objfile (struct objfile *objfile, symfile_add_flags add_flags) if (add_flags & SYMFILE_MAINLINE) { /* OK, make it the "real" symbol file. */ - symfile_objfile = objfile; + current_program_space->symfile_object_file = objfile; clear_symtab_users (add_flags); } @@ -1216,9 +1216,9 @@ symbol_file_clear (int from_tty) { if ((have_full_symbols () || have_partial_symbols ()) && from_tty - && (symfile_objfile + && (current_program_space->symfile_object_file ? !query (_("Discard symbol table from `%s'? "), - objfile_name (symfile_objfile)) + objfile_name (current_program_space->symfile_object_file)) : !query (_("Discard symbol table? ")))) error (_("Not confirmed.")); @@ -1230,7 +1230,7 @@ symbol_file_clear (int from_tty) clear_symtab_users (0); - gdb_assert (symfile_objfile == NULL); + gdb_assert (current_program_space->symfile_object_file == NULL); if (from_tty) printf_filtered (_("No symbol file now.\n")); } @@ -2555,7 +2555,7 @@ reread_symbols (void) /* What the hell is sym_new_init for, anyway? The concept of distinguishing between the main file and additional files in this way seems rather dubious. */ - if (objfile == symfile_objfile) + if (objfile == current_program_space->symfile_object_file) { (*objfile->sf->sym_new_init) (objfile); } diff --git a/gdb/target.c b/gdb/target.c index 50034cb..0063589 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -1828,9 +1828,12 @@ info_target_command (const char *args, int from_tty) { int has_all_mem = 0; - if (symfile_objfile != NULL) - printf_unfiltered (_("Symbols from \"%s\".\n"), - objfile_name (symfile_objfile)); + if (current_program_space->symfile_object_file != NULL) + { + objfile *objf = current_program_space->symfile_object_file; + printf_unfiltered (_("Symbols from \"%s\".\n"), + objfile_name (objf)); + } for (target_ops *t = current_top_target (); t != NULL; t = t->beneath ()) { diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c index 5f2b10a..50858f5 100644 --- a/gdb/windows-tdep.c +++ b/gdb/windows-tdep.c @@ -912,12 +912,13 @@ windows_solib_create_inferior_hook (int from_tty) } /* Rebase executable if the base address changed because of ASLR. */ - if (symfile_objfile != nullptr && exec_base != 0) + if (current_program_space->symfile_object_file != nullptr && exec_base != 0) { CORE_ADDR vmaddr = pe_data (current_program_space->exec_bfd ())->pe_opthdr.ImageBase; if (vmaddr != exec_base) - objfile_rebase (symfile_objfile, exec_base - vmaddr); + objfile_rebase (current_program_space->symfile_object_file, + exec_base - vmaddr); } } |