| Index: gdb/psympriv.h
|
| diff --git a/gdb/psympriv.h b/gdb/psympriv.h
|
| index 16b9b83f902e61cd823ac408524f8e3c09eec1f3..9df687d5d83a964b77397c48ed37b0025dac1f4f 100644
|
| --- a/gdb/psympriv.h
|
| +++ b/gdb/psympriv.h
|
| @@ -1,6 +1,6 @@
|
| /* Private partial symbol table definitions.
|
|
|
| - Copyright (C) 2009-2012 Free Software Foundation, Inc.
|
| + Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
|
|
| This file is part of GDB.
|
|
|
| @@ -45,7 +45,9 @@ struct partial_symbol
|
|
|
| ENUM_BITFIELD(domain_enum_tag) domain : 6;
|
|
|
| - /* Address class (for info_symbols). */
|
| + /* Address class (for info_symbols). Note that we don't allow
|
| + synthetic "aclass" values here at present, simply because there's
|
| + no need. */
|
|
|
| ENUM_BITFIELD(address_class) aclass : 6;
|
|
|
| @@ -96,11 +98,9 @@ struct partial_symtab
|
|
|
| const char *dirname;
|
|
|
| - /* Information about the object file from which symbols should be read. */
|
| -
|
| - struct objfile *objfile;
|
| -
|
| - /* Set of relocation offsets to apply to each section. */
|
| + /* Set of relocation offsets to apply to each section.
|
| + This is typically objfile->section_offsets, but in some cases
|
| + it's different. See, e.g., elfstab_offset_sections. */
|
|
|
| struct section_offsets *section_offsets;
|
|
|
| @@ -111,19 +111,6 @@ struct partial_symtab
|
| CORE_ADDR textlow;
|
| CORE_ADDR texthigh;
|
|
|
| - /* Array of pointers to all of the partial_symtab's which this one
|
| - depends on. Since this array can only be set to previous or
|
| - the current (?) psymtab, this dependency tree is guaranteed not
|
| - to have any loops. "depends on" means that symbols must be read
|
| - for the dependencies before being read for this psymtab; this is
|
| - for type references in stabs, where if foo.c includes foo.h, declarations
|
| - in foo.h may use type numbers defined in foo.c. For other debugging
|
| - formats there may be no need to use dependencies. */
|
| -
|
| - struct partial_symtab **dependencies;
|
| -
|
| - int number_of_dependencies;
|
| -
|
| /* If NULL, this is an ordinary partial symbol table.
|
|
|
| If non-NULL, this holds a single includer of this partial symbol
|
| @@ -153,6 +140,19 @@ struct partial_symtab
|
|
|
| struct partial_symtab *user;
|
|
|
| + /* Array of pointers to all of the partial_symtab's which this one
|
| + depends on. Since this array can only be set to previous or
|
| + the current (?) psymtab, this dependency tree is guaranteed not
|
| + to have any loops. "depends on" means that symbols must be read
|
| + for the dependencies before being read for this psymtab; this is
|
| + for type references in stabs, where if foo.c includes foo.h, declarations
|
| + in foo.h may use type numbers defined in foo.c. For other debugging
|
| + formats there may be no need to use dependencies. */
|
| +
|
| + struct partial_symtab **dependencies;
|
| +
|
| + int number_of_dependencies;
|
| +
|
| /* Global symbol list. This list will be sorted after readin to
|
| improve access. Binary search will be the usual method of
|
| finding a symbol within it. globals_offset is an integer offset
|
| @@ -200,7 +200,7 @@ struct partial_symtab
|
| /* Pointer to function which will read in the symtab corresponding to
|
| this psymtab. */
|
|
|
| - void (*read_symtab) (struct partial_symtab *);
|
| + void (*read_symtab) (struct partial_symtab *, struct objfile *);
|
|
|
| /* Information that lets read_symtab() locate the part of the symbol table
|
| that this psymtab corresponds to. This information is private to the
|
| @@ -210,7 +210,7 @@ struct partial_symtab
|
| void *read_symtab_private;
|
| };
|
|
|
| -extern void sort_pst_symbols (struct partial_symtab *);
|
| +extern void sort_pst_symbols (struct objfile *, struct partial_symtab *);
|
|
|
| /* Add any kind of symbol to a psymbol_allocation_list. */
|
|
|
| @@ -230,9 +230,12 @@ extern struct partial_symtab *start_psymtab_common (struct objfile *,
|
| struct partial_symbol **);
|
|
|
| extern struct partial_symtab *allocate_psymtab (const char *,
|
| - struct objfile *);
|
| + struct objfile *)
|
| + ATTRIBUTE_NONNULL (1);
|
| +
|
| +extern void discard_psymtab (struct objfile *, struct partial_symtab *);
|
|
|
| -extern void discard_psymtab (struct partial_symtab *);
|
| +extern struct cleanup *make_cleanup_discard_psymtabs (struct objfile *);
|
|
|
| /* Traverse all psymtabs in one objfile. */
|
|
|
|
|