aboutsummaryrefslogtreecommitdiff
path: root/gdb/coffread.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-06-29 15:10:04 -0600
committerTom Tromey <tom@tromey.com>2018-07-17 09:30:57 -0600
commit4735f0edf4265e3e260e10a12921baf17987a020 (patch)
tree604964b377908123bd4150079aeec3dc10611365 /gdb/coffread.c
parent0909f342a21207c0b096e8caa7462b1c6809298e (diff)
downloadgdb-4735f0edf4265e3e260e10a12921baf17987a020.zip
gdb-4735f0edf4265e3e260e10a12921baf17987a020.tar.gz
gdb-4735f0edf4265e3e260e10a12921baf17987a020.tar.bz2
Use scoped_free_pendings in coff_symtab_read
PR gdb/18624 concerns an assertion failure that occurs when setting a breakpoint in a Go program on Windows. What happens here is that coff_symtab_read uses buildsym but does not instantiate scoped_free_pendings. So, the struct pending objects are never released. Later, dwarf2read.c calls buildsym_init, which asserts. This patch fixes the problem by instantiating scoped_free_pendings in coff_symtab_read. Tested using the test executable from the PR. I don't know how to test this more fully. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> PR gdb/18624: * coffread.c (coff_symtab_read): Use scoped_free_pendings.
Diffstat (limited to 'gdb/coffread.c')
-rw-r--r--gdb/coffread.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/coffread.c b/gdb/coffread.c
index b13d901..ff55542 100644
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
@@ -804,6 +804,9 @@ coff_symtab_read (minimal_symbol_reader &reader,
CORE_ADDR tmpaddr;
struct minimal_symbol *msym;
+ buildsym_init ();
+ scoped_free_pendings free_pending;
+
/* Work around a stdio bug in SunOS4.1.1 (this makes me nervous....
it's hard to know I've really worked around it. The fix should
be harmless, anyway). The symptom of the bug is that the first