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>
|
2010-11-12 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* varobj.c (value_get_print_value): Rearrange. Pass stream to
|
* 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)
|
gdb_print_insn_powerpc (bfd_vma memaddr, disassemble_info *info)
|
||||||
{
|
{
|
||||||
if (!info->disassembler_options)
|
if (!info->disassembler_options)
|
||||||
info->disassembler_options = "any";
|
{
|
||||||
|
/* 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)
|
if (info->endian == BFD_ENDIAN_BIG)
|
||||||
return print_insn_big_powerpc (memaddr, info);
|
return print_insn_big_powerpc (memaddr, info);
|
||||||
|
|
Loading…
Reference in New Issue