aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-10-27 22:26:02 +0000
committerJohn Gilmore <gnu@cygnus>1991-10-27 22:26:02 +0000
commit4137c5fc0d1b24d00ceec0981ea5d9da77477f0e (patch)
tree1d01de4d5f225bdcd8cc81ac88c4cc022a7c7ba2 /gdb/symtab.c
parent9439f48f4c52cd82eca522aea847e0a330568235 (diff)
downloadgdb-4137c5fc0d1b24d00ceec0981ea5d9da77477f0e.zip
gdb-4137c5fc0d1b24d00ceec0981ea5d9da77477f0e.tar.gz
gdb-4137c5fc0d1b24d00ceec0981ea5d9da77477f0e.tar.bz2
* buildsym.c: Break out initial malloc sizes.
(record_line): Record directly in a subfile. Alloc on demand. (compare_line_numbers): Add from xcoffread.c. (end_symtab): New params say whether to sort pendings and linetable. Patch block stabs if defined. Shrink linetable before allocating the symtab. * buildsym.h: Delete line_vector* and prev_line_number. Add global_stabs and file_stabs for xcoffread. * dbxread.c (start_subfile): Move to buildsym. Change above calls. * symtab.h: LINETABLE(symtab) can now be null. Zap LINELIST. * symmisc.c, symtab.c: Cope with null LINETABLEs.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 81f7ec1..709559c 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -1489,6 +1489,8 @@ find_pc_line (pc, notcurrent)
{
/* Find the best line in this symtab. */
l = LINETABLE (s);
+ if (!l)
+ continue;
len = l->nitems;
prev_line = -1;
first_line = -1;
@@ -1638,6 +1640,8 @@ find_line_common (l, lineno, exact_match)
if (lineno <= 0)
return -1;
+ if (l == 0)
+ return -1;
len = l->nitems;
for (i = 0; i < len; i++)