mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
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.
This commit is contained in:
parent
5e744ef887
commit
5d01527536
@ -1,3 +1,8 @@
|
||||
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.
|
||||
|
@ -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);
|
||||
|
@ -1,3 +1,8 @@
|
||||
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.
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user