diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-09-27 16:34:29 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-09-27 16:34:29 +0000 |
commit | 01d3fdba2cedbe711b0b5e748ded3697fd2e6701 (patch) | |
tree | dc725f266d616e34d00e817e89e8f87c897cd37f /gdb | |
parent | 7fc6a6b52e8e581794cc5fa231d21dbc158abd80 (diff) | |
download | gdb-01d3fdba2cedbe711b0b5e748ded3697fd2e6701.zip gdb-01d3fdba2cedbe711b0b5e748ded3697fd2e6701.tar.gz gdb-01d3fdba2cedbe711b0b5e748ded3697fd2e6701.tar.bz2 |
* symtab.c (find_pc_line): Fix comments.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 2 | ||||
-rw-r--r-- | gdb/symtab.c | 22 |
2 files changed, 11 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4c12414..8497088 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,7 @@ Mon Sep 27 10:22:37 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + * symtab.c (find_pc_line): Fix comments. + * remote-udi.c (udi_mourn): Don't pop target. Fri Sep 24 17:25:41 1993 Stu Grossman (grossman at cygnus.com) diff --git a/gdb/symtab.c b/gdb/symtab.c index d43cdf8..e6cbbc6 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -382,7 +382,7 @@ find_pc_psymbol (psymtab, pc) struct partial_symtab *psymtab; CORE_ADDR pc; { - struct partial_symbol *best, *p; + struct partial_symbol *best = NULL, *p; CORE_ADDR best_pc; if (!psymtab) @@ -430,7 +430,7 @@ lookup_symbol (name, block, namespace, is_a_field_of_this, symtab) struct symtab **symtab; { register struct symbol *sym; - register struct symtab *s; + register struct symtab *s = NULL; register struct partial_symtab *ps; struct blockvector *bv; register struct objfile *objfile; @@ -991,15 +991,7 @@ find_pc_symtab (pc) code in the middle of a subroutine. To properly find the end of a line's PC range, we must search all symtabs associated with this compilation unit, and find the one whose first PC is closer than that of the next line in this - symtab. - - FIXME: We used to complain here about zero length or negative length line - tables, but there are two problems with this: (1) some symtabs may not have - any line numbers due to gcc -g1 compilation, and (2) this function is called - during single stepping, when we don't own the terminal and thus can't - produce any output. One solution might be to implement a mechanism whereby - complaints can be queued until we regain control of the terminal. -fnf - */ + symtab. */ /* If it's worth the effort, we could be using a binary search. */ @@ -1065,8 +1057,12 @@ find_pc_line (pc, notcurrent) if (!l) continue; len = l->nitems; - if (len <= 0) /* See FIXME above. */ + if (len <= 0) { + /* I think len can be zero if the symtab lacks line numbers + (e.g. gcc -g1). (Either that or the LINETABLE is NULL; + I'm not sure which, and maybe it depends on the symbol + reader). */ continue; } @@ -2775,7 +2771,7 @@ make_symbol_completion_list (text, word) { char *p; char quote_found; - char *quote_pos; + char *quote_pos = NULL; /* First see if this is a quoted string. */ quote_found = '\0'; |