diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-12-27 01:41:27 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-12-27 01:44:37 -0500 |
commit | 5d01527536684c75235f2ed288b11d253572b570 (patch) | |
tree | 0962242a06fec9126bc3fc7657e59592dd4dbc6f | |
parent | 5e744ef887c1e879052cb30783638807190275f8 (diff) | |
download | fsf-binutils-gdb-5d01527536684c75235f2ed288b11d253572b570.zip fsf-binutils-gdb-5d01527536684c75235f2ed288b11d253572b570.tar.gz fsf-binutils-gdb-5d01527536684c75235f2ed288b11d253572b570.tar.bz2 |
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.
-rw-r--r-- | sim/aarch64/ChangeLog | 5 | ||||
-rw-r--r-- | sim/aarch64/interp.c | 4 | ||||
-rw-r--r-- | sim/msp430/ChangeLog | 5 | ||||
-rw-r--r-- | 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); |