gdb/gdb-rhbz890900-ppc-dis-2of2.patch

61 lines
2.1 KiB
Diff

http://sourceware.org/ml/gdb-patches/2012-11/msg00624.html
Subject: Re: [PATCH] Fix gdb disassemble for power6/power7 instructions
On 11/23/2012 01:28 AM, Alan Modra wrote:
> One of the effects of updating to a power7 default is that conditional
> branch hints are displayed for "at" style hints rather than the older
> "y" hints. When using "y" hints the disassembler always showed the
> hint, eg. "bne-" or "bne+". Now you'll see "bne" most times. This
> meant updating the testsuite. I made one gas test disassemble for
> plain ppc just to ensure the older "y" hints continue to be available.
>
> Committed.
Thanks a lot for the patch, Alan. This also fixes the issues with gdb
disassemble for power6 and power7 instructions.
With these changes on powerpc_init_dialect(), I'd suggest to remove the info->mach
checking from gdb. Ok?
--
Edjunior
2012-11-23 Edjunior Machado <emachado@linux.vnet.ibm.com>
* rs6000-tdep.c (gdb_print_insn_powerpc): Remove info->mach checking,
since now it is being done in binutils' powerpc_init_dialect().
---
gdb/rs6000-tdep.c | 15 ---------------
1 files changed, 0 insertions(+), 15 deletions(-)
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 1797cc5..07b81bc 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -3084,21 +3084,6 @@ find_variant_by_arch (enum bfd_architecture arch, unsigned long mach)
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);
else
--
1.7.1