ubsan: nds32: left shift cannot be represented in type 'int'
[deliverable/binutils-gdb.git] / gdb / coffread.c
index 0c7c4b58b6fdc01c22093c533102b74a464ff087..e591651df37b59e65518a8750dae4aac69a654f3 100644 (file)
@@ -222,15 +222,15 @@ coff_locate_sections (bfd *abfd, asection *sectp, void *csip)
   const char *name;
 
   csi = (struct coff_symfile_info *) csip;
-  name = bfd_get_section_name (abfd, sectp);
+  name = bfd_section_name (sectp);
   if (strcmp (name, ".text") == 0)
     {
-      csi->textaddr = bfd_section_vma (abfd, sectp);
-      csi->textsize += bfd_section_size (abfd, sectp);
+      csi->textaddr = bfd_section_vma (sectp);
+      csi->textsize += bfd_section_size (sectp);
     }
   else if (startswith (name, ".text"))
     {
-      csi->textsize += bfd_section_size (abfd, sectp);
+      csi->textsize += bfd_section_size (sectp);
     }
   else if (strcmp (name, ".stabstr") == 0)
     {
@@ -307,7 +307,7 @@ cs_section_address (struct coff_symbol *cs, bfd *abfd)
   args.resultp = §
   bfd_map_over_sections (abfd, find_targ_sec, &args);
   if (sect != NULL)
-    addr = bfd_get_section_vma (abfd, sect);
+    addr = bfd_section_vma (sect);
   return addr;
 }
 
@@ -417,7 +417,7 @@ static int
 is_import_fixup_symbol (struct coff_symbol *cs,
                        enum minimal_symbol_type type)
 {
-  /* The following is a bit of a heuristic using the characterictics
+  /* The following is a bit of a heuristic using the characteristics
      of these fixup symbols, but should work well in practice...  */
   int i;
 
@@ -456,14 +456,13 @@ record_minimal_symbol (minimal_symbol_reader &reader,
     {
       /* Because the value of these symbols is within a function code
         range, these symbols interfere with the symbol-from-address
-        reverse lookup; this manifests itselfs in backtraces, or any
+        reverse lookup; this manifests itself in backtraces, or any
         other commands that prints symbolic addresses.  Just pretend
         these symbols do not exist.  */
       return NULL;
     }
 
-  return reader.record_full (cs->c_name, strlen (cs->c_name), true, address,
-                            type, section);
+  return reader.record_full (cs->c_name, true, address, type, section);
 }
 \f
 /* coff_symfile_init ()
@@ -538,7 +537,7 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
   struct coff_symfile_info *info;
   bfd *abfd = objfile->obfd;
   coff_data_type *cdata = coff_data (abfd);
-  char *filename = bfd_get_filename (abfd);
+  const char *filename = bfd_get_filename (abfd);
   int val;
   unsigned int num_symbols;
   int symtab_offset;
@@ -641,7 +640,7 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
     {
       for (minimal_symbol *msym : objfile->msymbols ())
        {
-         const char *name = MSYMBOL_LINKAGE_NAME (msym);
+         const char *name = msym->linkage_name ();
 
          /* If the minimal symbols whose name are prefixed by "__imp_"
             or "_imp_", get rid of the prefix, and search the minimal
@@ -692,7 +691,7 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
          bfd_get_section_contents?  */
       bfd_seek (abfd, abfd->where, 0);
 
-      stabstrsize = bfd_section_size (abfd, info->stabstrsect);
+      stabstrsize = bfd_section_size (info->stabstrsect);
 
       coffstab_build_psymtabs (objfile,
                               info->textaddr, info->textsize,
@@ -1503,15 +1502,15 @@ patch_opaque_types (struct symtab *s)
          && TYPE_CODE (SYMBOL_TYPE (real_sym)) == TYPE_CODE_PTR
          && TYPE_LENGTH (TYPE_TARGET_TYPE (SYMBOL_TYPE (real_sym))) != 0)
        {
-         const char *name = SYMBOL_LINKAGE_NAME (real_sym);
+         const char *name = real_sym->linkage_name ();
          int hash = hashname (name);
          struct symbol *sym, *prev;
 
          prev = 0;
          for (sym = opaque_type_chain[hash]; sym;)
            {
-             if (name[0] == SYMBOL_LINKAGE_NAME (sym)[0]
-                 && strcmp (name + 1, SYMBOL_LINKAGE_NAME (sym) + 1) == 0)
+             if (name[0] == sym->linkage_name ()[0]
+                 && strcmp (name + 1, sym->linkage_name () + 1) == 0)
                {
                  if (prev)
                    {
@@ -1567,9 +1566,9 @@ process_coff_symbol (struct coff_symbol *cs,
 
   name = cs->c_name;
   name = EXTERNAL_NAME (name, objfile->obfd);
-  SYMBOL_SET_LANGUAGE (sym, get_current_subfile ()->language,
-                      &objfile->objfile_obstack);
-  SYMBOL_SET_NAMES (sym, name, strlen (name), 1, objfile);
+  sym->set_language (get_current_subfile ()->language,
+                    &objfile->objfile_obstack);
+  SYMBOL_SET_NAMES (sym, name, true, objfile);
 
   /* default assumptions */
   SYMBOL_VALUE (sym) = cs->c_value;
@@ -1609,9 +1608,10 @@ process_coff_symbol (struct coff_symbol *cs,
        case C_THUMBEXTFUNC:
        case C_EXT:
          SYMBOL_ACLASS_INDEX (sym) = LOC_STATIC;
-         SYMBOL_VALUE_ADDRESS (sym) = (CORE_ADDR) cs->c_value;
-         SYMBOL_VALUE_ADDRESS (sym) += ANOFFSET (objfile->section_offsets,
-                                                 SECT_OFF_TEXT (objfile));
+         SET_SYMBOL_VALUE_ADDRESS (sym,
+                                   (CORE_ADDR) cs->c_value
+                                   + ANOFFSET (objfile->section_offsets,
+                                               SECT_OFF_TEXT (objfile)));
          add_symbol_to_list (sym, get_global_symbols ());
          break;
 
@@ -1619,9 +1619,10 @@ process_coff_symbol (struct coff_symbol *cs,
        case C_THUMBSTATFUNC:
        case C_STAT:
          SYMBOL_ACLASS_INDEX (sym) = LOC_STATIC;
-         SYMBOL_VALUE_ADDRESS (sym) = (CORE_ADDR) cs->c_value;
-         SYMBOL_VALUE_ADDRESS (sym) += ANOFFSET (objfile->section_offsets,
-                                                 SECT_OFF_TEXT (objfile));
+         SET_SYMBOL_VALUE_ADDRESS (sym,
+                                   (CORE_ADDR) cs->c_value
+                                   + ANOFFSET (objfile->section_offsets,
+                                               SECT_OFF_TEXT (objfile)));
          if (within_function)
            {
              /* Static symbol of local scope.  */
@@ -1692,7 +1693,7 @@ process_coff_symbol (struct coff_symbol *cs,
                }
              else
                TYPE_NAME (SYMBOL_TYPE (sym)) =
-                 xstrdup (SYMBOL_LINKAGE_NAME (sym));
+                 xstrdup (sym->linkage_name ());
            }
 
          /* Keep track of any type which points to empty structured
@@ -1706,7 +1707,7 @@ process_coff_symbol (struct coff_symbol *cs,
              && TYPE_CODE (TYPE_TARGET_TYPE (SYMBOL_TYPE (sym)))
                 != TYPE_CODE_UNDEF)
            {
-             int i = hashname (SYMBOL_LINKAGE_NAME (sym));
+             int i = hashname (sym->linkage_name ());
 
              SYMBOL_VALUE_CHAIN (sym) = opaque_type_chain[i];
              opaque_type_chain[i] = sym;
@@ -1724,11 +1725,10 @@ process_coff_symbol (struct coff_symbol *cs,
             names for anonymous enums, structures, and unions, like
             "~0fake" or ".0fake".  Thanks, but no thanks...  */
          if (TYPE_NAME (SYMBOL_TYPE (sym)) == 0)
-           if (SYMBOL_LINKAGE_NAME (sym) != NULL
-               && *SYMBOL_LINKAGE_NAME (sym) != '~'
-               && *SYMBOL_LINKAGE_NAME (sym) != '.')
-             TYPE_NAME (SYMBOL_TYPE (sym)) =
-               xstrdup (SYMBOL_LINKAGE_NAME (sym));
+           if (sym->linkage_name () != NULL
+               && *sym->linkage_name () != '~'
+               && *sym->linkage_name () != '.')
+             TYPE_NAME (SYMBOL_TYPE (sym)) = xstrdup (sym->linkage_name ());
 
          add_symbol_to_list (sym, get_file_symbols ());
          break;
@@ -2019,9 +2019,7 @@ coff_read_struct_type (int index, int length, int lastsym,
          list = newobj;
 
          /* Save the data.  */
-         list->field.name
-           = (const char *) obstack_copy0 (&objfile->objfile_obstack,
-                                           name, strlen (name));
+         list->field.name = obstack_strdup (&objfile->objfile_obstack, name);
          FIELD_TYPE (list->field) = decode_type (ms, ms->c_type,
                                                  &sub_aux, objfile);
          SET_FIELD_BITPOS (list->field, 8 * ms->c_value);
@@ -2037,9 +2035,7 @@ coff_read_struct_type (int index, int length, int lastsym,
          list = newobj;
 
          /* Save the data.  */
-         list->field.name
-           = (const char *) obstack_copy0 (&objfile->objfile_obstack,
-                                           name, strlen (name));
+         list->field.name = obstack_strdup (&objfile->objfile_obstack, name);
          FIELD_TYPE (list->field) = decode_type (ms, ms->c_type,
                                                  &sub_aux, objfile);
          SET_FIELD_BITPOS (list->field, ms->c_value);
@@ -2109,9 +2105,8 @@ coff_read_enum_type (int index, int length, int lastsym,
        case C_MOE:
          sym = allocate_symbol (objfile);
 
-         name = (char *) obstack_copy0 (&objfile->objfile_obstack, name,
-                                        strlen (name));
-         SYMBOL_SET_LINKAGE_NAME (sym, name);
+         name = obstack_strdup (&objfile->objfile_obstack, name);
+         sym->set_linkage_name (name);
          SYMBOL_ACLASS_INDEX (sym) = LOC_CONST;
          SYMBOL_DOMAIN (sym) = VAR_DOMAIN;
          SYMBOL_VALUE (sym) = ms->c_value;
@@ -2158,7 +2153,7 @@ coff_read_enum_type (int index, int length, int lastsym,
          struct symbol *xsym = syms->symbol[j];
 
          SYMBOL_TYPE (xsym) = type;
-         TYPE_FIELD_NAME (type, n) = SYMBOL_LINKAGE_NAME (xsym);
+         TYPE_FIELD_NAME (type, n) = xsym->linkage_name ();
          SET_FIELD_ENUMVAL (TYPE_FIELD (type, n), SYMBOL_VALUE (xsym));
          if (SYMBOL_VALUE (xsym) < 0)
            unsigned_enum = 0;
This page took 0.045782 seconds and 4 git commands to generate.