* symtab.c (find_pc_sect_line): New variable objfile, initialize it
	from S.  Iterate S using ALL_OBJFILE_SYMTABS.  Verify BV for each S.
	* symtab.h (struct symtab) <next>: Comment extension.
This commit is contained in:
Jan Kratochvil 2011-02-13 09:09:36 +00:00
parent f865a34fb9
commit 93b55aa198
3 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2011-02-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* symtab.c (find_pc_sect_line): New variable objfile, initialize it
from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S.
* symtab.h (struct symtab) <next>: Comment extension.
2011-02-12 Yao Qi <yao@codesourcery.com>
* Makefile.in (CLEANDIRS): Remove duplicated common dir.

View File

@ -1904,6 +1904,7 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
struct blockvector *bv;
struct minimal_symbol *msymbol;
struct minimal_symbol *mfunsym;
struct objfile *objfile;
/* Info on best line seen so far, and where it starts, and its file. */
@ -2031,13 +2032,17 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
}
bv = BLOCKVECTOR (s);
objfile = s->objfile;
/* Look at all the symtabs that share this blockvector.
They all have the same apriori range, that we found was right;
but they have different line tables. */
for (; s && BLOCKVECTOR (s) == bv; s = s->next)
ALL_OBJFILE_SYMTABS (objfile, s)
{
if (BLOCKVECTOR (s) != bv)
continue;
/* Find the best line in this symtab. */
l = LINETABLE (s);
if (!l)

View File

@ -738,8 +738,7 @@ struct section_offsets
struct symtab
{
/* Chain of all existing symtabs. */
/* Unordered chain of all existing symtabs of this objfile. */
struct symtab *next;