Prefer object over notype symbols when disassembling
[deliverable/binutils-gdb.git] / gdb / arm-tdep.c
index 86946189fb105cc9a7566d062535cdf24ae1a013..69c87c5a43252ba91e5c2b7b0f946fc08ddf6655 100644 (file)
@@ -89,14 +89,14 @@ struct arm_mapping_symbol
 
 typedef std::vector<arm_mapping_symbol> arm_mapping_symbol_vec;
 
-struct arm_per_objfile
+struct arm_per_bfd
 {
-  explicit arm_per_objfile (size_t num_sections)
+  explicit arm_per_bfd (size_t num_sections)
   : section_maps (new arm_mapping_symbol_vec[num_sections]),
     section_maps_sorted (new bool[num_sections] ())
   {}
 
-  DISABLE_COPY_AND_ASSIGN (arm_per_objfile);
+  DISABLE_COPY_AND_ASSIGN (arm_per_bfd);
 
   /* Information about mapping symbols ($a, $d, $t) in the objfile.
 
@@ -113,8 +113,8 @@ struct arm_per_objfile
   std::unique_ptr<bool[]> section_maps_sorted;
 };
 
-/* Per-objfile data used for mapping symbols.  */
-static objfile_key<arm_per_objfile> arm_objfile_data_key;
+/* Per-bfd data used for mapping symbols.  */
+static bfd_key<arm_per_bfd> arm_bfd_data_key;
 
 /* The list of available "set arm ..." and "show arm ..." commands.  */
 static struct cmd_list_element *setarmcmdlist = NULL;
@@ -350,7 +350,7 @@ arm_find_mapping_symbol (CORE_ADDR memaddr, CORE_ADDR *start)
   sec = find_pc_section (memaddr);
   if (sec != NULL)
     {
-      arm_per_objfile *data = arm_objfile_data_key.get (sec->objfile);
+      arm_per_bfd *data = arm_bfd_data_key.get (sec->objfile->obfd);
       if (data != NULL)
        {
          unsigned int section_idx = sec->the_bfd_section->index;
@@ -550,9 +550,9 @@ skip_prologue_function (struct gdbarch *gdbarch, CORE_ADDR pc, int is_thumb)
   msym = lookup_minimal_symbol_by_pc (pc);
   if (msym.minsym != NULL
       && BMSYMBOL_VALUE_ADDRESS (msym) == pc
-      && MSYMBOL_LINKAGE_NAME (msym.minsym) != NULL)
+      && msym.minsym->linkage_name () != NULL)
     {
-      const char *name = MSYMBOL_LINKAGE_NAME (msym.minsym);
+      const char *name = msym.minsym->linkage_name ();
 
       /* The GNU linker's Thumb call stub to foo is named
         __foo_from_thumb.  */
@@ -1254,7 +1254,7 @@ arm_skip_stack_protector(CORE_ADDR pc, struct gdbarch *gdbarch)
   /* ADDR must correspond to a symbol whose name is __stack_chk_guard.
      Otherwise, this sequence cannot be for stack protector.  */
   if (stack_chk_guard.minsym == NULL
-      || !startswith (MSYMBOL_LINKAGE_NAME (stack_chk_guard.minsym), "__stack_chk_guard"))
+      || !startswith (stack_chk_guard.minsym->linkage_name (), "__stack_chk_guard"))
    return pc;
 
   if (is_thumb)
@@ -1999,7 +1999,8 @@ struct arm_exidx_data
   std::vector<std::vector<arm_exidx_entry>> section_maps;
 };
 
-static const struct objfile_key<arm_exidx_data> arm_exidx_data_key;
+/* Per-BFD key to store exception handling information.  */
+static const struct bfd_key<arm_exidx_data> arm_exidx_data_key;
 
 static struct obj_section *
 arm_obj_section_from_vma (struct objfile *objfile, bfd_vma vma)
@@ -2043,7 +2044,7 @@ arm_exidx_new_objfile (struct objfile *objfile)
   LONGEST i;
 
   /* If we've already touched this file, do nothing.  */
-  if (!objfile || arm_exidx_data_key.get (objfile) != NULL)
+  if (!objfile || arm_exidx_data_key.get (objfile->obfd) != NULL)
     return;
 
   /* Read contents of exception table and index.  */
@@ -2074,7 +2075,7 @@ arm_exidx_new_objfile (struct objfile *objfile)
     }
 
   /* Allocate exception table data structure.  */
-  data = arm_exidx_data_key.emplace (objfile);
+  data = arm_exidx_data_key.emplace (objfile->obfd);
   data->section_maps.resize (objfile->obfd->section_count);
 
   /* Fill in exception table.  */
@@ -2246,7 +2247,7 @@ arm_find_exidx_entry (CORE_ADDR memaddr, CORE_ADDR *start)
       struct arm_exidx_data *data;
       struct arm_exidx_entry map_key = { memaddr - obj_section_addr (sec), 0 };
 
-      data = arm_exidx_data_key.get (sec->objfile);
+      data = arm_exidx_data_key.get (sec->objfile->obfd);
       if (data != NULL)
        {
          std::vector<arm_exidx_entry> &map
@@ -8560,17 +8561,17 @@ arm_record_special_symbol (struct gdbarch *gdbarch, struct objfile *objfile,
                           asymbol *sym)
 {
   const char *name = bfd_asymbol_name (sym);
-  struct arm_per_objfile *data;
+  struct arm_per_bfd *data;
   struct arm_mapping_symbol new_map_sym;
 
   gdb_assert (name[0] == '$');
   if (name[1] != 'a' && name[1] != 't' && name[1] != 'd')
     return;
 
-  data = arm_objfile_data_key.get (objfile);
+  data = arm_bfd_data_key.get (objfile->obfd);
   if (data == NULL)
-    data = arm_objfile_data_key.emplace (objfile,
-                                        objfile->obfd->section_count);
+    data = arm_bfd_data_key.emplace (objfile->obfd,
+                                    objfile->obfd->section_count);
   arm_mapping_symbol_vec &map
     = data->section_maps[bfd_asymbol_section (sym)->index];
 
This page took 0.02823 seconds and 4 git commands to generate.