This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] sim: aarch64/msp430: fix disassembler usage [committed]


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]