2004-02-09 Elena Zannoni <ezannoni@redhat.com>
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>
Mon, 9 Feb 2004 23:50:55 +0000 (23:50 +0000)
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>
Mon, 9 Feb 2004 23:50:55 +0000 (23:50 +0000)
* bcache.c (bcache_xmalloc): Use obstack_init instead of
obstack_specify_allocation.
* objfiles.c (allocate_objfile): Ditto.
* solib-sunos.c (solib_add_common_symbols)
(allocate_rt_common_objfile): Ditto.
* symfile.c (reread_symbols): Ditto.
* gdb_obstack.h: Add comment.

gdb/ChangeLog
gdb/bcache.c
gdb/gdb_obstack.h
gdb/objfiles.c
gdb/solib-sunos.c
gdb/symfile.c

index 4b193fd6140b817dd3beafb0a2402fc3fbd148e9..a605e618345b5675ee059d8582f26ece7104a6d2 100644 (file)
@@ -1,3 +1,13 @@
+2004-02-09  Elena Zannoni  <ezannoni@redhat.com>
+
+       * bcache.c (bcache_xmalloc): Use obstack_init instead of
+       obstack_specify_allocation.
+       * objfiles.c (allocate_objfile): Ditto.
+       * solib-sunos.c (solib_add_common_symbols) 
+       (allocate_rt_common_objfile): Ditto.
+       * symfile.c (reread_symbols): Ditto.
+       * gdb_obstack.h: Add comment.
+
 2004-02-09  Elena Zannoni  <ezannoni@redhat.com>
 
        * linespec.c (decode_line_1, locate_first_half)
index b1d9de8700fac3dfd1a3afd91fc2a7223770ae72..cadadb5cce63f575591bd5ac0ca32c39259c8b0a 100644 (file)
@@ -266,7 +266,10 @@ bcache_xmalloc (void)
 {
   /* Allocate the bcache pre-zeroed.  */
   struct bcache *b = XCALLOC (1, struct bcache);
-  obstack_specify_allocation (&b->cache, 0, 0, xmalloc, xfree);
+  /* We could use obstack_specify_allocation here instead, but
+     gdb_obstack.h specifies the allocation/deallocation
+     functions.  */
+  obstack_init (&b->cache);
   return b;
 }
 
index 237830e1768b0544b23d6c4edb154b54718e37d5..0dcfc4ff7803ec50bb7da0a9ded031ac589a6e2a 100644 (file)
 
 /* Unless explicitly specified, GDB obstacks always use xmalloc() and
    xfree().  */
+/* Note: ezannoni 2004-02-09: One could also specify the allocation
+   functions using a special init function for each obstack,
+   obstack_specify_allocation.  However we just use obstack_init and
+   let these defines here do the job.  While one could argue the
+   superiority of one approach over the other, we just chose one
+   throughout.  */
+
 #define obstack_chunk_alloc xmalloc
 #define obstack_chunk_free xfree
 
index 1500c19725498c5613ba5235f8f2a1e4da364e8f..03a88ebf22bd536132ec76afe4b68fe8e206c813 100644 (file)
@@ -165,8 +165,9 @@ allocate_objfile (bfd *abfd, int flags)
       objfile->md = NULL;
       objfile->psymbol_cache = bcache_xmalloc ();
       objfile->macro_cache = bcache_xmalloc ();
-      obstack_specify_allocation (&objfile->objfile_obstack, 0, 0, xmalloc,
-                                 xfree);
+      /* We could use obstack_specify_allocation here instead, but
+        gdb_obstack.h specifies the alloc/dealloc functions.  */
+      obstack_init (&objfile->objfile_obstack);
       terminate_minimal_symbol_table (objfile);
     }
 
index ef6069ec6ed2596b28ae4f4372716410f6a4595e..a88e7b735e883b5feb93945e956764fb360af8f0 100644 (file)
@@ -145,8 +145,7 @@ allocate_rt_common_objfile (void)
   objfile->md = NULL;
   objfile->psymbol_cache = bcache_xmalloc ();
   objfile->macro_cache = bcache_xmalloc ();
-  obstack_specify_allocation (&objfile->objfile_obstack, 0, 0, xmalloc,
-                             xfree);
+  obstack_init (&objfile->objfile_obstack);
   objfile->name = mstrsave (objfile->md, "rt_common");
 
   /* Add this file onto the tail of the linked list of other such files. */
@@ -182,8 +181,7 @@ solib_add_common_symbols (CORE_ADDR rtc_symp)
   if (rt_common_objfile != NULL && rt_common_objfile->minimal_symbol_count)
     {
       obstack_free (&rt_common_objfile->objfile_obstack, 0);
-      obstack_specify_allocation (&rt_common_objfile->objfile_obstack, 0, 0,
-                                 xmalloc, xfree);
+      obstack_init (&rt_common_objfile->objfile_obstack);
       rt_common_objfile->minimal_symbol_count = 0;
       rt_common_objfile->msymbols = NULL;
       terminate_minimal_symbol_table (rt_common_objfile);
index 13bfec3e288acd7181c472af0c419ab587967cac..7e16d45716131665cb8d189d9f5a854a314a9a2f 100644 (file)
@@ -1933,12 +1933,13 @@ reread_symbols (void)
 
              /* We never make this a mapped file.  */
              objfile->md = NULL;
-             /* obstack_specify_allocation also initializes the obstack so
-                it is empty.  */
              objfile->psymbol_cache = bcache_xmalloc ();
              objfile->macro_cache = bcache_xmalloc ();
-             obstack_specify_allocation (&objfile->objfile_obstack, 0, 0,
-                                         xmalloc, xfree);
+             /* obstack_init also initializes the obstack so it is
+                empty.  We could use obstack_specify_allocation but
+                gdb_obstack.h specifies the alloc/dealloc
+                functions.  */
+             obstack_init (&objfile->objfile_obstack);
              if (build_objfile_section_table (objfile))
                {
                  error ("Can't find the file sections in `%s': %s",