Add macro structures to GDB's symbol tables. Nobody puts anything
authorJim Blandy <jimb@codesourcery.com>
Wed, 15 May 2002 21:19:21 +0000 (21:19 +0000)
committerJim Blandy <jimb@codesourcery.com>
Wed, 15 May 2002 21:19:21 +0000 (21:19 +0000)
commit99d9066e57c4ff29e314af000b11c62ce6253b59
tree73fefdfb07f9b7751fd104bd496068174af72a8d
parenta978a3e5d8dec1a24c0851ecf16e241f7a23f946
Add macro structures to GDB's symbol tables.  Nobody puts anything
in them yet.
* symtab.h (struct symtab): New member: `macro_table'.
* buildsym.h (pending_macros): New global variable.
* buildsym.c: #include "macrotab.h".
(buildsym_init): Initialize `pending_macros'.
(end_symtab): If we found macro information while reading a CU's
debugging info, do build a symtab structure for it.  Make the
symtab point to the macro information, and clear the
`pending_macros' pointer which held it while we were reading the
debug info.
(really_free_pendings): Free any pending macro table.
* objfiles.h (struct objfile): New member: `macro_cache'.
* objfiles.c (allocate_objfile): Set allocate and free functions
for the macro cache's objstack.
(free_objfile): Empty the macro cache's obstack.
* symfile.c (reread_symbols): Empty the macro cache's obstack, and
set new allocate and free functions for it.
* solib-sunos.c (allocate_rt_common_objfile): Set allocate and
free functions for the macro cache's objstack.  (Why is this
function building its own objfile?)
* symmisc.c (print_objfile_statistics): Print statistics on the
macro bcache.
* Makefile.in: Note that buildsym.o depends on macrotab.h.
gdb/ChangeLog
gdb/Makefile.in
gdb/buildsym.c
gdb/buildsym.h
gdb/objfiles.c
gdb/objfiles.h
gdb/solib-sunos.c
gdb/symfile.c
gdb/symmisc.c
gdb/symtab.h