Remove symfile_objfile macro
authorTom Tromey <tom@tromey.com>
Thu, 29 Oct 2020 21:04:33 +0000 (15:04 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 29 Oct 2020 21:04:37 +0000 (15:04 -0600)
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.

18 files changed:
gdb/ChangeLog
gdb/frame.c
gdb/minsyms.c
gdb/nto-procfs.c
gdb/objfiles.c
gdb/progspace.h
gdb/remote.c
gdb/solib-aix.c
gdb/solib-darwin.c
gdb/solib-dsbt.c
gdb/solib-frv.c
gdb/solib-svr4.c
gdb/solib.c
gdb/stabsread.c
gdb/symfile-mem.c
gdb/symfile.c
gdb/target.c
gdb/windows-tdep.c

index 06f42436d259c49f441de72350e6d8e408846f0c..c074b4fdbf3254f1f86109ad8a7853707fa3022f 100644 (file)
@@ -1,3 +1,32 @@
+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.
index 6bfa31e630e44d9c3efcb1243fcb5b1db220d951..15168fb4315924a5536e01f3eb25a76f6dbffb91 100644 (file)
@@ -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
index f4a2544eb1901ecd9162ff2427c35458710102be..0dec18d21ab9fc353fb1751536ab3d202d65fee8 100644 (file)
@@ -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;
 }
 
index 5ecf9b52c34754747c414ab5c13879c54bc71e13..366ef38fdd9416d4872fc88e4205944e413ba53e 100644 (file)
@@ -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);
 }
 
index 471a5c4c39376eedb9ec49237acae292e7c64885..b322c6b2b9aa3830d74a933c8d0c7e570f61ee58 100644 (file)
@@ -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;
 }
index 8150d8a2a62090a9f4ce1897aecedc4f90b04e38..e719cee57d094df040b63d826894f3a49439509d 100644 (file)
@@ -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;
 
index 291b7c6e7e5edb8aee5c9608e3516e069a3d8853..b75d9a975b3a2ea57e2401c3f0daaa77a80c6aaa 100644 (file)
@@ -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();
 }
 
index 344c1f57600310675200a4023b9f84707c073dcd..0897d067c40d6543ff8b91e9d147091a863146f6 100644 (file)
@@ -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);
     }
 }
 
index e784e5618a0568ab0dafb629315ed6ca769679fe..172b1e20829c9cd044ccea1d7515554433129cd8 100644 (file)
@@ -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).  */
index 8e1da5dd73d54822d9983070a34cfb78370262da..c3ce167d61779093df525bb4664cdce76e4480bc 100644 (file)
@@ -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
index 08c9cf7ca5c97dbba78fdd21e8541400c21c304a..6c9ab1757b27f4c753cfca64dc144f8bfb51a7e1 100644 (file)
@@ -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
index 637a0fcfac41162c9cb7cef6345b04e010957125..cd49cb572c87f03a4f3d8232b8b4a410f85ef120 100644 (file)
@@ -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;
index 28f6a4ecbfbcf545e95f1ea3c82a4d681a7fe3a7..9df4eca888a20f64021943362adf710aee06736f 100644 (file)
@@ -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
            {
index 9556263a38304bee6be68f6985731f0b02ef328a..9fa51885cfc155b048a8c1dfb23590d8b649a878 100644 (file)
@@ -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;
 
index 02761df679af33e8bc4a60fd1cc27293a2ae5d4f..916c37cb9f8805723e06505d6c979736c08a77ca 100644 (file)
@@ -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)
index 434ecb9a667c49f4544d0572b8bb65b0e8ab8d95..493411fa417b95052189e43747292aa1e117b0d7 100644 (file)
@@ -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);
            }
index 50034cb42ec42be263c8f7a0d49cf673953cac19..0063589259a7503d35f40ca9a74dca39fbd688bf 100644 (file)
@@ -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 ())
     {
index 5f2b10a8e04e8719f53631d69190b9991bda3176..50858f5c65a66480dcbb5122559b881d991049d1 100644 (file)
@@ -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);
     }
 }