gdb/
* rs6000-tdep.c (gdb_print_insn_powerpc): Disassemble e500 instructions if debugging an E500 binary.
This commit is contained in:
parent
d4eba7d1b0
commit
e52d501632
|
@ -1,3 +1,8 @@
|
|||
2010-11-12 Nathan Froyd <froydnj@codesourcery.com>
|
||||
|
||||
* rs6000-tdep.c (gdb_print_insn_powerpc): Disassemble e500
|
||||
instructions if debugging an E500 binary.
|
||||
|
||||
2010-11-12 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* varobj.c (value_get_print_value): Rearrange. Pass stream to
|
||||
|
|
|
@ -3029,7 +3029,19 @@ static int
|
|||
gdb_print_insn_powerpc (bfd_vma memaddr, disassemble_info *info)
|
||||
{
|
||||
if (!info->disassembler_options)
|
||||
{
|
||||
/* When debugging E500 binaries and disassembling code containing
|
||||
E500-specific (SPE) instructions, one sometimes sees AltiVec
|
||||
instructions instead. The opcode spaces for SPE instructions
|
||||
and AltiVec instructions overlap, and specifiying the "any" cpu
|
||||
looks for AltiVec instructions first. If we know we're
|
||||
debugging an E500 binary, however, we can specify the "e500x2"
|
||||
cpu and get much more sane disassembly output. */
|
||||
if (info->mach == bfd_mach_ppc_e500)
|
||||
info->disassembler_options = "e500x2";
|
||||
else
|
||||
info->disassembler_options = "any";
|
||||
}
|
||||
|
||||
if (info->endian == BFD_ENDIAN_BIG)
|
||||
return print_insn_big_powerpc (memaddr, info);
|
||||
|
|
Loading…
Reference in New Issue