aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.h
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2007-01-21 16:49:40 +0000
committerDaniel Jacobowitz <drow@false.org>2007-01-21 16:49:40 +0000
commitcb1df416fb6d2cc4837a8f81c5f102821c02db93 (patch)
tree4121c2130d5016d17bb765aafc6399b46742397d /gdb/symtab.h
parent727da90068091580ad9cea2a18cd95234b600d21 (diff)
downloadfsf-binutils-gdb-cb1df416fb6d2cc4837a8f81c5f102821c02db93.zip
fsf-binutils-gdb-cb1df416fb6d2cc4837a8f81c5f102821c02db93.tar.gz
fsf-binutils-gdb-cb1df416fb6d2cc4837a8f81c5f102821c02db93.tar.bz2
2007-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
Daniel Jacobowitz <dan@codesourcery.com> * buildsym.c (end_symtab): Use preallocated symtab if available. Fill in SYMBOL_SYMTAB. * buildsym.h (struct subfile): Add symtab member. * dwarf2read.c (struct dwarf2_cu): Add line_header. (struct file_entry): Add symtab. (free_cu_line_header): New function. (read_file_scope): Use it. Save line_header in the cu. Process lines before DIEs. (add_file_name): Initialize new symtab member. (dwarf_decode_lines): Create symtabs for included files. (new_symbol): Set SYMBOL_SYMTAB. * symtab.c (lookup_symbol): Use SYMBOL_SYMTAB. (search_symbols): Likewise. * symtab.h (struct symbol): Add symtab member. (SYMBOL_SYMTAB): Define. * gdb.base/included.c, gdb.base/included.exp, gdb.base/included.h: New files.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r--gdb/symtab.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 4e4061c..da637cb 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -609,6 +609,10 @@ struct symbol
struct type *type;
+ /* The symbol table containing this symbol. This is the file
+ associated with LINE. */
+ struct symtab *symtab;
+
/* Domain code. */
ENUM_BITFIELD(domain_enum_tag) domain : 6;
@@ -664,6 +668,7 @@ struct symbol
#define SYMBOL_CLASS(symbol) (symbol)->aclass
#define SYMBOL_TYPE(symbol) (symbol)->type
#define SYMBOL_LINE(symbol) (symbol)->line
+#define SYMBOL_SYMTAB(symbol) (symbol)->symtab
#define SYMBOL_BASEREG(symbol) (symbol)->aux_value.basereg
#define SYMBOL_OBJFILE(symbol) (symbol)->aux_value.objfile
#define SYMBOL_OPS(symbol) (symbol)->ops