From 5d01527536684c75235f2ed288b11d253572b570 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 27 Dec 2015 01:41:27 -0500 Subject: [PATCH] sim: aarch64/msp430: fix disassembler usage 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 0afff0c5f5..fbbf562c44 100644 --- a/sim/aarch64/ChangeLog +++ b/sim/aarch64/ChangeLog @@ -1,3 +1,8 @@ +2015-12-27 Mike Frysinger + + * interp.c (sim_dis_read): Change private_data to application_data. + (sim_create_inferior): Likewise. + 2015-12-27 Mike Frysinger * Makefile.in (SIM_OBJS): Delete sim-hload.o. diff --git a/sim/aarch64/interp.c b/sim/aarch64/interp.c index d971039958..b2974603dd 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 f790a664f8..dd9aad0be9 100644 --- a/sim/msp430/ChangeLog +++ b/sim/msp430/ChangeLog @@ -1,3 +1,8 @@ +2015-12-27 Mike Frysinger + + * msp430-sim.c (sim_dis_read): Change private_data to application_data. + (msp430_step_once): Likewise. + 2015-12-27 Mike Frysinger * Makefile.in (SIM_OBJS): Delete sim-hload.o. diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c index 6711858965..ce29fb1d5d 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.34.1