common/filestuff.c (make_cleanup_close): Update comment.
[deliverable/binutils-gdb.git] / gdb / psymtab.c
index 5d0aa1c61d580b95babee960161e8c70ea8898d4..d565c67a5d151c00f80fa97849cfe723f02d4df9 100644 (file)
@@ -315,7 +315,8 @@ find_pc_sect_psymtab (struct objfile *objfile, CORE_ADDR pc,
 
   if (objfile->psymtabs_addrmap != NULL)
     {
-      pst = addrmap_find (objfile->psymtabs_addrmap, pc);
+      pst = ((struct partial_symtab *)
+            addrmap_find (objfile->psymtabs_addrmap, pc));
       if (pst != NULL)
        {
          /* FIXME: addrmaps currently do not handle overlayed sections,
@@ -1489,8 +1490,8 @@ const struct quick_symbol_functions psym_functions =
 static int
 compare_psymbols (const void *s1p, const void *s2p)
 {
-  struct partial_symbol *const *s1 = s1p;
-  struct partial_symbol *const *s2 = s2p;
+  struct partial_symbol *const *s1 = (struct partial_symbol * const*) s1p;
+  struct partial_symbol *const *s2 = (struct partial_symbol * const*) s2p;
 
   return strcmp_iw_ordered (SYMBOL_SEARCH_NAME (*s1),
                            SYMBOL_SEARCH_NAME (*s2));
@@ -1624,10 +1625,9 @@ psymbol_bcache_full (struct partial_symbol *sym,
                      struct psymbol_bcache *bcache,
                      int *added)
 {
-  return bcache_full (sym,
-                      sizeof (struct partial_symbol),
-                      bcache->bcache,
-                      added);
+  return ((const struct partial_symbol *)
+         bcache_full (sym, sizeof (struct partial_symbol), bcache->bcache,
+                      added));
 }
 
 /* Helper function, initialises partial symbol structure and stashes
@@ -1640,8 +1640,7 @@ static const struct partial_symbol *
 add_psymbol_to_bcache (const char *name, int namelength, int copy_name,
                       domain_enum domain,
                       enum address_class theclass,
-                      long val,        /* Value as a long */
-                      CORE_ADDR coreaddr,      /* Value as a CORE_ADDR */
+                      CORE_ADDR coreaddr,
                       enum language language, struct objfile *objfile,
                       int *added)
 {
@@ -1652,15 +1651,7 @@ add_psymbol_to_bcache (const char *name, int namelength, int copy_name,
      holes.  */
   memset (&psymbol, 0, sizeof (psymbol));
 
-  /* val and coreaddr are mutually exclusive, one of them *will* be zero.  */
-  if (val != 0)
-    {
-      SYMBOL_VALUE (&psymbol) = val;
-    }
-  else
-    {
-      SYMBOL_VALUE_ADDRESS (&psymbol) = coreaddr;
-    }
+  SYMBOL_VALUE_ADDRESS (&psymbol) = coreaddr;
   SYMBOL_SECTION (&psymbol) = -1;
   SYMBOL_SET_LANGUAGE (&psymbol, language, &objfile->objfile_obstack);
   PSYMBOL_DOMAIN (&psymbol) = domain;
@@ -1685,8 +1676,7 @@ extend_psymbol_list (struct psymbol_allocation_list *listp,
   if (listp->size == 0)
     {
       new_size = 255;
-      listp->list = (struct partial_symbol **)
-       xmalloc (new_size * sizeof (struct partial_symbol *));
+      listp->list = XNEWVEC (struct partial_symbol *, new_size);
     }
   else
     {
@@ -1716,6 +1706,8 @@ append_psymbol_to_list (struct psymbol_allocation_list *list,
 
 /* Add a symbol with a long value to a psymtab.
    Since one arg is a struct, we pass in a ptr and deref it (sigh).
+   The only value we need to store for psyms is an address.
+   For all other psyms pass zero for COREADDR.
    Return the partial symbol that has been added.  */
 
 void
@@ -1723,8 +1715,7 @@ add_psymbol_to_list (const char *name, int namelength, int copy_name,
                     domain_enum domain,
                     enum address_class theclass,
                     struct psymbol_allocation_list *list,
-                    long val,  /* Value as a long */
-                    CORE_ADDR coreaddr,        /* Value as a CORE_ADDR */
+                    CORE_ADDR coreaddr,
                     enum language language, struct objfile *objfile)
 {
   const struct partial_symbol *psym;
@@ -1733,7 +1724,7 @@ add_psymbol_to_list (const char *name, int namelength, int copy_name,
 
   /* Stash the partial symbol away in the cache.  */
   psym = add_psymbol_to_bcache (name, namelength, copy_name, domain, theclass,
-                               val, coreaddr, language, objfile, &added);
+                               coreaddr, language, objfile, &added);
 
   /* Do not duplicate global partial symbols.  */
   if (list == &objfile->global_psymbols
@@ -1766,16 +1757,14 @@ init_psymbol_list (struct objfile *objfile, int total_symbols)
   if (objfile->global_psymbols.size > 0)
     {
       objfile->global_psymbols.next =
-       objfile->global_psymbols.list = (struct partial_symbol **)
-       xmalloc ((objfile->global_psymbols.size
-                 * sizeof (struct partial_symbol *)));
+       objfile->global_psymbols.list =
+         XNEWVEC (struct partial_symbol *, objfile->global_psymbols.size);
     }
   if (objfile->static_psymbols.size > 0)
     {
       objfile->static_psymbols.next =
-       objfile->static_psymbols.list = (struct partial_symbol **)
-       xmalloc ((objfile->static_psymbols.size
-                 * sizeof (struct partial_symbol *)));
+       objfile->static_psymbols.list =
+         XNEWVEC (struct partial_symbol *, objfile->static_psymbols.size);
     }
 }
 
@@ -1795,8 +1784,9 @@ allocate_psymtab (const char *filename, struct objfile *objfile)
                     sizeof (struct partial_symtab));
 
   memset (psymtab, 0, sizeof (struct partial_symtab));
-  psymtab->filename = bcache (filename, strlen (filename) + 1,
-                             objfile->per_bfd->filename_cache);
+  psymtab->filename
+    = (const char *) bcache (filename, strlen (filename) + 1,
+                            objfile->per_bfd->filename_cache);
   psymtab->compunit_symtab = NULL;
 
   /* Prepend it to the psymtab list for the objfile it belongs to.
@@ -1872,7 +1862,7 @@ struct psymtab_state
 static void
 discard_psymtabs_upto (void *arg)
 {
-  struct psymtab_state *state = arg;
+  struct psymtab_state *state = (struct psymtab_state *) arg;
 
   while (state->objfile->psymtabs != state->save)
     discard_psymtab (state->objfile, state->objfile->psymtabs);
This page took 0.025467 seconds and 4 git commands to generate.