summaryrefslogtreecommitdiff
path: root/gdb/buildsym.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2002-05-15 21:19:21 +0000
committerJim Blandy <jimb@codesourcery.com>2002-05-15 21:19:21 +0000
commita3baa50143febf4f6318a95323ca3e057f661487 (patch)
tree04d8eb5e42a086c7204867910b4a4b00c3c9fd68 /gdb/buildsym.h
parent3fe5c219f0c53048527ed541d084ce948172e914 (diff)
downloadgdb-a3baa50143febf4f6318a95323ca3e057f661487.tar.gz
Add macro structures to GDB's symbol tables. Nobody puts anythingcagney_regbuf-20020515-branchpoint
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.
Diffstat (limited to 'gdb/buildsym.h')
-rw-r--r--gdb/buildsym.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/buildsym.h b/gdb/buildsym.h
index 40a339deae7..d023aa3e855 100644
--- a/gdb/buildsym.h
+++ b/gdb/buildsym.h
@@ -296,6 +296,10 @@ extern void record_debugformat (char *format);
extern void merge_symbol_lists (struct pending **srclist,
struct pending **targetlist);
+/* The macro table for the compilation unit whose symbols we're
+ currently reading. All the symtabs for this CU will point to this. */
+EXTERN struct macro_table *pending_macros;
+
#undef EXTERN
#endif /* defined (BUILDSYM_H) */