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.
This commit is contained in:
Elena Zannoni 2004-02-09 23:50:55 +00:00
parent f80e2ec4e8
commit 1ab216172b
6 changed files with 31 additions and 11 deletions

View 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)

View 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;
}

View File

@ -26,6 +26,13 @@
/* 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

View 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);
}

View 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);

View 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",