diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/coffread.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index eea0c21..35f9f18 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2018-12-28 Eli Zaretskii <eliz@gnu.org> + + * coffread.c (coff_symtab_read): Don't record in minsyms symbols + that are unresolved. This avoids triggering an internal error + when stepping outside of 'main' in MinGW programs. + 2018-12-27 Tom Tromey <tom@tromey.com> * python/py-utils.c (gdbpy_handle_exception): Translate diff --git a/gdb/coffread.c b/gdb/coffread.c index a473b78..cab5707 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -877,8 +877,10 @@ coff_symtab_read (minimal_symbol_reader &reader, int section = cs_to_section (cs, objfile); tmpaddr = cs->c_value; - record_minimal_symbol (reader, cs, tmpaddr, mst_text, - section, objfile); + /* Don't record unresolved symbols. */ + if (!(cs->c_secnum <= 0 && cs->c_value == 0)) + record_minimal_symbol (reader, cs, tmpaddr, mst_text, + section, objfile); fcn_line_ptr = main_aux.x_sym.x_fcnary.x_fcn.x_lnnoptr; fcn_start_addr = tmpaddr; |