X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fpsympriv.h;h=006e1344271c87ce8a6c8d314ecc822bf2836601;hb=711833262c7a413b10a32f01153454bc5a53a5a6;hp=21471c710b8469f96f9375a163ae2361a5575213;hpb=4e04028d9573bd2a145f2bff5d4b3de0b75c83f6;p=platform%2Fupstream%2Fbinutils.git diff --git a/gdb/psympriv.h b/gdb/psympriv.h index 21471c7..006e134 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-2014 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,7 +98,9 @@ struct partial_symtab const char *dirname; - /* 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; @@ -107,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 @@ -149,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 @@ -196,7 +200,7 @@ struct partial_symtab /* Pointer to function which will read in the symtab corresponding to this psymtab. */ - void (*read_symtab) (struct objfile *, 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 @@ -231,6 +235,8 @@ extern struct partial_symtab *allocate_psymtab (const char *, extern void discard_psymtab (struct objfile *, struct partial_symtab *); +extern struct cleanup *make_cleanup_discard_psymtabs (struct objfile *); + /* Traverse all psymtabs in one objfile. */ #define ALL_OBJFILE_PSYMTABS(objfile, p) \