diff options
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r-- | gdb/dbxread.c | 15 |
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 */ |