aboutsummaryrefslogtreecommitdiff
path: root/gdb/dbxread.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r--gdb/dbxread.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index cc0c43e..6c93ef4 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -1933,12 +1933,17 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
if (m && STREQN (SYMBOL_NAME (m), name, l))
/* last_pc_address was in this function */
valu = SYMBOL_VALUE (m);
- else if (m && STREQN (SYMBOL_NAME (m+1), name, l))
- /* last_pc_address was in last function */
- valu = SYMBOL_VALUE (m+1);
else
- /* Not found - use last_pc_address (for finish_block) */
- valu = last_pc_address;
+ {
+ m = lookup_next_minimal_symbol (last_pc_address);
+ if (m && STREQN (SYMBOL_NAME (m), name, l))
+ /* last_pc_address was in last function */
+ valu = SYMBOL_VALUE (m);
+ else
+ /* Not found.
+ Use last_pc_address (for finish_block). */
+ valu = last_pc_address;
+ }
}
last_pc_address = valu; /* Save for SunOS bug circumcision */