From d8a66e60cd8468ed1a4cde59963cbe62a5e50da4 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Thu, 6 Jan 1994 23:09:53 +0000 Subject: [PATCH] * symtab.c (lookup_symbol): Don't try adding .c to the name. --- gdb/ChangeLog | 2 ++ gdb/symtab.c | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7b347bd9057..9aa3bb612e8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,7 @@ Thu Jan 6 07:17:53 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + * symtab.c (lookup_symbol): Don't try adding .c to the name. + * remote-bug.c: At the start of each section, reset srec_frame back to 160. diff --git a/gdb/symtab.c b/gdb/symtab.c index 47a85da3558..cf948aa0b36 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -193,6 +193,10 @@ lookup_symtab (name) s = lookup_symtab_1 (name); if (s) return s; +#if 0 + /* This screws c-exp.y:yylex if there is both a type "tree" and a symtab + "tree.c". */ + /* If name not found as specified, see if adding ".c" helps. */ /* Why is this? Is it just a user convenience? (If so, it's pretty questionable in the presence of C++, FORTRAN, etc.). It's not in @@ -203,6 +207,7 @@ lookup_symtab (name) strcat (copy, ".c"); s = lookup_symtab_1 (copy); if (s) return s; +#endif /* 0 */ /* We didn't find anything; die. */ return 0; @@ -420,6 +425,21 @@ find_pc_psymbol (psymtab, pc) best_pc = psymtab->textlow - 1; + /* Search the global symbols as well as the static symbols, so that + find_pc_partial_function doesn't use a minimal symbol and thus + cache a bad endaddr. */ + for (p = psymtab->objfile->global_psymbols.list + psymtab->globals_offset; + (p - (psymtab->objfile->global_psymbols.list + psymtab->globals_offset) + < psymtab->n_global_syms); + p++) + if (SYMBOL_NAMESPACE (p) == VAR_NAMESPACE + && SYMBOL_CLASS (p) == LOC_BLOCK + && pc >= SYMBOL_VALUE_ADDRESS (p) + && SYMBOL_VALUE_ADDRESS (p) > best_pc) + { + best_pc = SYMBOL_VALUE_ADDRESS (p); + best = p; + } for (p = psymtab->objfile->static_psymbols.list + psymtab->statics_offset; (p - (psymtab->objfile->static_psymbols.list + psymtab->statics_offset) < psymtab->n_static_syms); -- 2.30.2