Yaakov Selkowitz: fixes for in-tree libiconv
[deliverable/binutils-gdb.git] / gdb / symfile-debug.c
index b6e84d1687a21e4320c87a80524eb5248f627257..6a3351a9d8f1fa0ae07a9082862daec63fc63b42 100644 (file)
@@ -1,6 +1,6 @@
 /* Debug logging for the symbol file functions for the GNU debugger, GDB.
 
-   Copyright (C) 2013 Free Software Foundation, Inc.
+   Copyright (C) 2013-2015 Free Software Foundation, Inc.
 
    Contributed by Cygnus Support, using pieces from other GDB modules.
 
@@ -59,14 +59,6 @@ symfile_debug_installed (struct objfile *objfile)
          && objfile_data (objfile, symfile_debug_objfile_data_key) != NULL);
 }
 
-/* Utility to return the name to print for OBJFILE.  */
-
-static const char *
-debug_objfile_name (const struct objfile *objfile)
-{
-  return lbasename (objfile->original_name);
-}
-
 /* Utility return the name to print for SYMTAB.  */
 
 static const char *
@@ -87,7 +79,7 @@ debug_qf_has_symbols (struct objfile *objfile)
   retval = debug_data->real_sf->qf->has_symbols (objfile);
 
   fprintf_filtered (gdb_stdlog, "qf->has_symbols (%s) = %d\n",
-                   debug_objfile_name (objfile), retval);
+                   objfile_debug_name (objfile), retval);
 
   return retval;
 }
@@ -100,7 +92,7 @@ debug_qf_find_last_source_symtab (struct objfile *objfile)
   struct symtab *retval;
 
   fprintf_filtered (gdb_stdlog, "qf->find_last_source_symtab (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   retval = debug_data->real_sf->qf->find_last_source_symtab (objfile);
 
@@ -117,7 +109,7 @@ debug_qf_forget_cached_source_info (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->forget_cached_source_info (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->forget_cached_source_info (objfile);
 }
@@ -136,7 +128,7 @@ debug_qf_map_symtabs_matching_filename (struct objfile *objfile,
 
   fprintf_filtered (gdb_stdlog,
                    "qf->map_symtabs_matching_filename (%s, \"%s\", \"%s\", %s, %s)\n",
-                   debug_objfile_name (objfile), name,
+                   objfile_debug_name (objfile), name,
                    real_path ? real_path : NULL,
                    host_address_to_string (callback),
                    host_address_to_string (data));
@@ -151,24 +143,26 @@ debug_qf_map_symtabs_matching_filename (struct objfile *objfile,
   return retval;
 }
 
-static struct symtab *
+static struct compunit_symtab *
 debug_qf_lookup_symbol (struct objfile *objfile, int kind, const char *name,
                        domain_enum domain)
 {
   const struct debug_sym_fns_data *debug_data =
     objfile_data (objfile, symfile_debug_objfile_data_key);
-  struct symtab *retval;
+  struct compunit_symtab *retval;
 
   fprintf_filtered (gdb_stdlog,
                    "qf->lookup_symbol (%s, %d, \"%s\", %s)\n",
-                   debug_objfile_name (objfile), kind, name,
+                   objfile_debug_name (objfile), kind, name,
                    domain_name (domain));
 
   retval = debug_data->real_sf->qf->lookup_symbol (objfile, kind, name,
                                                   domain);
 
   fprintf_filtered (gdb_stdlog, "qf->lookup_symbol (...) = %s\n",
-                   retval ? debug_symtab_name (retval) : "NULL");
+                   retval
+                   ? debug_symtab_name (compunit_primary_filetab (retval))
+                   : "NULL");
 
   return retval;
 }
@@ -180,7 +174,7 @@ debug_qf_print_stats (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->print_stats (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->print_stats (objfile);
 }
@@ -192,7 +186,7 @@ debug_qf_dump (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->dump (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->dump (objfile);
 }
@@ -206,7 +200,7 @@ debug_qf_relocate (struct objfile *objfile,
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->relocate (%s, %s, %s)\n",
-                   debug_objfile_name (objfile),
+                   objfile_debug_name (objfile),
                    host_address_to_string (new_offsets),
                    host_address_to_string (delta));
 
@@ -222,7 +216,7 @@ debug_qf_expand_symtabs_for_function (struct objfile *objfile,
 
   fprintf_filtered (gdb_stdlog,
                    "qf->expand_symtabs_for_function (%s, \"%s\")\n",
-                   debug_objfile_name (objfile), func_name);
+                   objfile_debug_name (objfile), func_name);
 
   debug_data->real_sf->qf->expand_symtabs_for_function (objfile, func_name);
 }
@@ -234,7 +228,7 @@ debug_qf_expand_all_symtabs (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "qf->expand_all_symtabs (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->qf->expand_all_symtabs (objfile);
 }
@@ -248,14 +242,14 @@ debug_qf_expand_symtabs_with_fullname (struct objfile *objfile,
 
   fprintf_filtered (gdb_stdlog,
                    "qf->expand_symtabs_with_fullname (%s, \"%s\")\n",
-                   debug_objfile_name (objfile), fullname);
+                   objfile_debug_name (objfile), fullname);
 
   debug_data->real_sf->qf->expand_symtabs_with_fullname (objfile, fullname);
 }
 
 static void
 debug_qf_map_matching_symbols (struct objfile *objfile,
-                              const char *name, domain_enum namespace,
+                              const char *name, domain_enum domain,
                               int global,
                               int (*callback) (struct block *,
                                                struct symbol *, void *),
@@ -268,70 +262,76 @@ debug_qf_map_matching_symbols (struct objfile *objfile,
 
   fprintf_filtered (gdb_stdlog,
                    "qf->map_matching_symbols (%s, \"%s\", %s, %d, %s, %s, %s, %s)\n",
-                   debug_objfile_name (objfile), name,
-                   domain_name (namespace), global,
+                   objfile_debug_name (objfile), name,
+                   domain_name (domain), global,
                    host_address_to_string (callback),
                    host_address_to_string (data),
                    host_address_to_string (match),
                    host_address_to_string (ordered_compare));
 
   debug_data->real_sf->qf->map_matching_symbols (objfile, name,
-                                                namespace, global,
+                                                domain, global,
                                                 callback, data,
                                                 match,
                                                 ordered_compare);
 }
 
 static void
-debug_qf_expand_symtabs_matching (struct objfile *objfile,
-                                 int (*file_matcher) (const char *, void *,
-                                                      int basenames),
-                                 int (*name_matcher) (const char *, void *),
-                                 enum search_domain kind,
-                                 void *data)
+debug_qf_expand_symtabs_matching
+  (struct objfile *objfile,
+   expand_symtabs_file_matcher_ftype *file_matcher,
+   expand_symtabs_symbol_matcher_ftype *symbol_matcher,
+   expand_symtabs_exp_notify_ftype *expansion_notify,
+   enum search_domain kind, void *data)
 {
   const struct debug_sym_fns_data *debug_data =
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog,
-                   "qf->expand_symtabs_matching (%s, %s, %s, %s, %s)\n",
-                   debug_objfile_name (objfile),
+                   "qf->expand_symtabs_matching (%s, %s, %s, %s, %s, %s)\n",
+                   objfile_debug_name (objfile),
                    host_address_to_string (file_matcher),
-                   host_address_to_string (name_matcher),
+                   host_address_to_string (symbol_matcher),
+                   host_address_to_string (expansion_notify),
                    search_domain_name (kind),
                    host_address_to_string (data));
 
   debug_data->real_sf->qf->expand_symtabs_matching (objfile,
                                                    file_matcher,
-                                                   name_matcher,
+                                                   symbol_matcher,
+                                                   expansion_notify,
                                                    kind, data);
 }
 
-static struct symtab *
-debug_qf_find_pc_sect_symtab (struct objfile *objfile,
-                             struct minimal_symbol *msymbol,
-                             CORE_ADDR pc,
-                             struct obj_section *section,
-                             int warn_if_readin)
+static struct compunit_symtab *
+debug_qf_find_pc_sect_compunit_symtab (struct objfile *objfile,
+                                      struct bound_minimal_symbol msymbol,
+                                      CORE_ADDR pc,
+                                      struct obj_section *section,
+                                      int warn_if_readin)
 {
   const struct debug_sym_fns_data *debug_data =
     objfile_data (objfile, symfile_debug_objfile_data_key);
-  struct symtab *retval;
+  struct compunit_symtab *retval;
 
   fprintf_filtered (gdb_stdlog,
-                   "qf->find_pc_sect_symtab (%s, %s, %s, %s, %d)\n",
-                   debug_objfile_name (objfile),
-                   host_address_to_string (msymbol),
+                   "qf->find_pc_sect_compunit_symtab (%s, %s, %s, %s, %d)\n",
+                   objfile_debug_name (objfile),
+                   host_address_to_string (msymbol.minsym),
                    hex_string (pc),
                    host_address_to_string (section),
                    warn_if_readin);
 
-  retval = debug_data->real_sf->qf->find_pc_sect_symtab (objfile, msymbol,
-                                                        pc, section,
-                                                        warn_if_readin);
+  retval
+    = debug_data->real_sf->qf->find_pc_sect_compunit_symtab (objfile, msymbol,
+                                                            pc, section,
+                                                            warn_if_readin);
 
-  fprintf_filtered (gdb_stdlog, "qf->find_pc_sect_symtab (...) = %s\n",
-                   retval ? debug_symtab_name (retval) : "NULL");
+  fprintf_filtered (gdb_stdlog,
+                   "qf->find_pc_sect_compunit_symtab (...) = %s\n",
+                   retval
+                   ? debug_symtab_name (compunit_primary_filetab (retval))
+                   : "NULL");
 
   return retval;
 }
@@ -345,7 +345,7 @@ debug_qf_map_symbol_filenames (struct objfile *objfile,
     objfile_data (objfile, symfile_debug_objfile_data_key);
   fprintf_filtered (gdb_stdlog,
                    "qf->map_symbol_filenames (%s, %s, %s, %d)\n",
-                   debug_objfile_name (objfile),
+                   objfile_debug_name (objfile),
                    host_address_to_string (fun),
                    host_address_to_string (data),
                    need_fullname);
@@ -369,7 +369,7 @@ static const struct quick_symbol_functions debug_sym_quick_functions =
   debug_qf_expand_symtabs_with_fullname,
   debug_qf_map_matching_symbols,
   debug_qf_expand_symtabs_matching,
-  debug_qf_find_pc_sect_symtab,
+  debug_qf_find_pc_sect_compunit_symtab,
   debug_qf_map_symbol_filenames
 };
 \f
@@ -386,114 +386,15 @@ debug_sym_get_probes (struct objfile *objfile)
 
   fprintf_filtered (gdb_stdlog,
                    "probes->sym_get_probes (%s) = %s\n",
-                   debug_objfile_name (objfile),
+                   objfile_debug_name (objfile),
                    host_address_to_string (retval));
 
   return retval;
 }
 
-static unsigned
-debug_sym_get_probe_argument_count (struct probe *probe)
-{
-  struct objfile *objfile = probe->objfile;
-  const struct debug_sym_fns_data *debug_data =
-    objfile_data (objfile, symfile_debug_objfile_data_key);
-  unsigned retval;
-
-  retval = debug_data->real_sf->sym_probe_fns->sym_get_probe_argument_count
-    (probe);
-
-  fprintf_filtered (gdb_stdlog,
-                   "probes->sym_get_probe_argument_count (%s) = %u\n",
-                   host_address_to_string (probe), retval);
-
-  return retval;
-}
-
-static int
-debug_can_evaluate_probe_arguments (struct probe *probe)
-{
-  struct objfile *objfile = probe->objfile;
-  const struct debug_sym_fns_data *debug_data =
-    objfile_data (objfile, symfile_debug_objfile_data_key);
-  int retval;
-
-  retval = debug_data->real_sf->sym_probe_fns->can_evaluate_probe_arguments
-    (probe);
-
-  fprintf_filtered (gdb_stdlog,
-                   "probes->can_evaluate_probe_arguments (%s) = %d\n",
-                   host_address_to_string (probe), retval);
-
-  return retval;
-}
-
-static struct value *
-debug_sym_evaluate_probe_argument (struct probe *probe, unsigned n)
-{
-  struct objfile *objfile = probe->objfile;
-  const struct debug_sym_fns_data *debug_data =
-    objfile_data (objfile, symfile_debug_objfile_data_key);
-  struct value *retval;
-
-  fprintf_filtered (gdb_stdlog,
-                   "probes->sym_evaluate_probe_argument (%s, %u)\n",
-                   host_address_to_string (probe), n);
-
-  retval = debug_data->real_sf->sym_probe_fns->sym_evaluate_probe_argument
-    (probe, n);
-
-  fprintf_filtered (gdb_stdlog,
-                   "probes->sym_evaluate_probe_argument (...) = %s\n",
-                   host_address_to_string (retval));
-
-  return retval;
-}
-
-static void
-debug_sym_compile_to_ax (struct probe *probe, struct agent_expr *expr,
-                        struct axs_value *value, unsigned n)
-{
-  struct objfile *objfile = probe->objfile;
-  const struct debug_sym_fns_data *debug_data =
-    objfile_data (objfile, symfile_debug_objfile_data_key);
-
-  fprintf_filtered (gdb_stdlog,
-                   "probes->sym_compile_to_ax (%s, %s, %s, %u)\n",
-                   host_address_to_string (probe),
-                   host_address_to_string (expr),
-                   host_address_to_string (value), n);
-
-  debug_data->real_sf->sym_probe_fns->sym_compile_to_ax
-    (probe, expr, value, n);
-}
-
-static void
-debug_sym_relocate_probe (struct objfile *objfile,
-                         const struct section_offsets *new_offsets,
-                         const struct section_offsets *delta)
-{
-  const struct debug_sym_fns_data *debug_data =
-    objfile_data (objfile, symfile_debug_objfile_data_key);
-
-  fprintf_filtered (gdb_stdlog,
-                   "probes->sym_relocate_probe (%s, %s, %s)\n",
-                   debug_objfile_name (objfile),
-                   host_address_to_string (new_offsets),
-                   host_address_to_string (delta));
-
-  debug_data->real_sf->sym_probe_fns->sym_relocate_probe
-    (objfile, new_offsets, delta);
-}
-
 static const struct sym_probe_fns debug_sym_probe_fns =
 {
   debug_sym_get_probes,
-  debug_sym_get_probe_argument_count,
-  debug_can_evaluate_probe_arguments,
-  debug_sym_evaluate_probe_argument,
-  debug_sym_compile_to_ax,
-  debug_sym_relocate_probe
 };
 \f
 /* Debugging version of struct sym_fns.  */
@@ -505,7 +406,7 @@ debug_sym_new_init (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_new_init (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_new_init (objfile);
 }
@@ -517,7 +418,7 @@ debug_sym_init (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_init (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_init (objfile);
 }
@@ -529,7 +430,7 @@ debug_sym_read (struct objfile *objfile, int symfile_flags)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_read (%s, 0x%x)\n",
-                   debug_objfile_name (objfile), symfile_flags);
+                   objfile_debug_name (objfile), symfile_flags);
 
   debug_data->real_sf->sym_read (objfile, symfile_flags);
 }
@@ -541,7 +442,7 @@ debug_sym_read_psymbols (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_read_psymbols (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_read_psymbols (objfile);
 }
@@ -553,7 +454,7 @@ debug_sym_finish (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_finish (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_finish (objfile);
 }
@@ -566,7 +467,7 @@ debug_sym_offsets (struct objfile *objfile,
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_offsets (%s, %s)\n",
-                   debug_objfile_name (objfile),
+                   objfile_debug_name (objfile),
                    host_address_to_string (info));
 
   debug_data->real_sf->sym_offsets (objfile, info);
@@ -588,7 +489,7 @@ debug_sym_read_linetable (struct objfile *objfile)
     objfile_data (objfile, symfile_debug_objfile_data_key);
 
   fprintf_filtered (gdb_stdlog, "sf->sym_read_linetable (%s)\n",
-                   debug_objfile_name (objfile));
+                   objfile_debug_name (objfile));
 
   debug_data->real_sf->sym_read_linetable (objfile);
 }
@@ -604,7 +505,7 @@ debug_sym_relocate (struct objfile *objfile, asection *sectp, bfd_byte *buf)
 
   fprintf_filtered (gdb_stdlog,
                    "sf->sym_relocate (%s, %s, %s) = %s\n",
-                   debug_objfile_name (objfile),
+                   objfile_debug_name (objfile),
                    host_address_to_string (sectp),
                    host_address_to_string (buf),
                    host_address_to_string (retval));
@@ -655,7 +556,7 @@ install_symfile_debug_logging (struct objfile *objfile)
   real_sf = objfile->sf;
 
   /* Alas we have to preserve NULL entries in REAL_SF.  */
-  debug_data = XZALLOC (struct debug_sym_fns_data);
+  debug_data = XCNEW (struct debug_sym_fns_data);
 
 #define COPY_SF_PTR(from, to, name, func)      \
   do {                                         \
This page took 0.031435 seconds and 4 git commands to generate.