aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/coffread.c6
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;