This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] sim: aarch64/msp430: fix disassembler usage [committed]
- From: Mike Frysinger <vapier at gentoo dot org>
- To: gdb-patches at sourceware dot org
- Cc: nickc at redhat dot com
- Date: Sun, 27 Dec 2015 01:45:13 -0500
- Subject: [PATCH] sim: aarch64/msp430: fix disassembler usage [committed]
- Authentication-results: sourceware.org; auth=none
The disasm framework reserves the private_data field for the disassemblers
themselves, not for people who use the disassembler. Instead, there is an
application_data field for callers such as the sim. Switch to it to avoid
random corruption/crashes when the disassemblers use private_data.
---
sim/aarch64/ChangeLog | 5 +++++
sim/aarch64/interp.c | 4 ++--
sim/msp430/ChangeLog | 5 +++++
sim/msp430/msp430-sim.c | 4 ++--
4 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/sim/aarch64/ChangeLog b/sim/aarch64/ChangeLog
index 0afff0c..fbbf562 100644
--- a/sim/aarch64/ChangeLog
+++ b/sim/aarch64/ChangeLog
@@ -1,5 +1,10 @@
2015-12-27 Mike Frysinger <vapier@gentoo.org>
+ * interp.c (sim_dis_read): Change private_data to application_data.
+ (sim_create_inferior): Likewise.
+
+2015-12-27 Mike Frysinger <vapier@gentoo.org>
+
* Makefile.in (SIM_OBJS): Delete sim-hload.o.
2015-12-26 Mike Frysinger <vapier@gentoo.org>
diff --git a/sim/aarch64/interp.c b/sim/aarch64/interp.c
index d971039..b297460 100644
--- a/sim/aarch64/interp.c
+++ b/sim/aarch64/interp.c
@@ -85,7 +85,7 @@ sim_dis_read (bfd_vma memaddr,
unsigned int length,
struct disassemble_info * info)
{
- aarch64_get_mem_blk (info->private_data, memaddr, (char *) ptr, length);
+ aarch64_get_mem_blk (info->application_data, memaddr, (char *) ptr, length);
return 0;
}
@@ -207,7 +207,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char **argv, char **env)
info.read_memory_func = sim_dis_read;
info.arch = bfd_get_arch (abfd);
info.mach = bfd_get_mach (abfd);
- info.private_data = cpu;
+ info.application_data = cpu;
if (info.mach == 0)
info.arch = bfd_arch_aarch64;
disassemble_init_for_target (& info);
diff --git a/sim/msp430/ChangeLog b/sim/msp430/ChangeLog
index f790a66..dd9aad0 100644
--- a/sim/msp430/ChangeLog
+++ b/sim/msp430/ChangeLog
@@ -1,5 +1,10 @@
2015-12-27 Mike Frysinger <vapier@gentoo.org>
+ * msp430-sim.c (sim_dis_read): Change private_data to application_data.
+ (msp430_step_once): Likewise.
+
+2015-12-27 Mike Frysinger <vapier@gentoo.org>
+
* Makefile.in (SIM_OBJS): Delete sim-hload.o.
2015-12-26 Mike Frysinger <vapier@gentoo.org>
diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c
index 6711858..ce29fb1 100644
--- a/sim/msp430/msp430-sim.c
+++ b/sim/msp430/msp430-sim.c
@@ -882,7 +882,7 @@ msp430_dis_read (bfd_vma memaddr,
unsigned int length,
struct disassemble_info *dinfo)
{
- SIM_DESC sd = dinfo->private_data;
+ SIM_DESC sd = dinfo->application_data;
sim_core_read_buffer (sd, MSP430_CPU (sd), 0, myaddr, memaddr, length);
return 0;
}
@@ -1154,7 +1154,7 @@ msp430_step_once (SIM_DESC sd)
sim_core_read_buffer (sd, MSP430_CPU (sd), 0, b, opcode_pc, opsize);
init_disassemble_info (&info, stderr, (fprintf_ftype) fprintf);
- info.private_data = sd;
+ info.application_data = sd;
info.read_memory_func = msp430_dis_read;
fprintf (stderr, "%#8x ", opcode_pc);
--
2.6.2