diff options
Diffstat (limited to 'gdb/mdebugread.c')
-rw-r--r-- | gdb/mdebugread.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index a40a548..8642ee8 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -914,9 +914,13 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, method whose name is identical to the class name (in particular constructor method names are different from the class name). There is therefore no risk that - this check stops the count on the StEnd of a method. */ - if (strcmp (debug_info->ss + cur_fdr->issBase + tsym.iss, - name) == 0) + this check stops the count on the StEnd of a method. + + Also, assume that we're really at the end when tsym.iss + is 0 (issNull). */ + if (tsym.iss == issNull + || strcmp (debug_info->ss + cur_fdr->issBase + tsym.iss, + name) == 0) goto end_of_fields; break; |