This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[PATCH] disassembly fixes
- From: Elena Zannoni <ezannoni at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Fri, 4 Apr 2003 18:04:48 -0500
- Subject: [PATCH] disassembly fixes
A few fixes for the new disassembler. I'll commit in a day or so.
2003-04-04 Elena Zannoni <ezannoni at redhat dot com>
* disasm.c (dump_insns): Move variables inside loop, or they will
be freed more than once, causing wild memory corruptions.
(gdb_disassembly): Look for the substring "-thread",
instead of "-threads" in the target name, to make sure to find
the 'multi-thread' target. Also, make sure we do the right thing
with the "core" target.
Index: disasm.c
===================================================================
RCS file: /cvs/uberbaum/gdb/disasm.c,v
retrieving revision 1.5
diff -u -p -r1.5 disasm.c
--- disasm.c 17 Mar 2003 19:57:12 -0000 1.5
+++ disasm.c 4 Apr 2003 22:56:46 -0000
@@ -93,14 +93,15 @@ dump_insns (struct ui_out *uiout, disass
/* parts of the symbolic representation of the address */
int unmapped;
- char *filename = NULL;
- char *name = NULL;
int offset;
int line;
struct cleanup *ui_out_chain;
for (pc = low; pc < high;)
{
+ char *filename = NULL;
+ char *name = NULL;
+
QUIT;
if (how_many >= 0)
{
@@ -358,7 +359,8 @@ gdb_disassembly (struct ui_out *uiout,
if (strcmp (target_shortname, "child") == 0
|| strcmp (target_shortname, "procfs") == 0
|| strcmp (target_shortname, "vxprocess") == 0
- || strstr (target_shortname, "-threads") != NULL)
+ || strcmp (target_shortname, "core") == 0
+ || strstr (target_shortname, "-thread") != NULL)
gdb_disassemble_from_exec = 0; /* It's a child process, read inferior mem */
else
gdb_disassemble_from_exec = 1; /* It's remote, read the exec file */