public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Nathan Froyd <froydnj@codesourcery.com>
To: gdb-patches@sourceware.org
Subject: [PATCH] fix disassembly of E500 instructions
Date: Fri, 29 Oct 2010 19:20:00 -0000	[thread overview]
Message-ID: <1288380041-22124-1-git-send-email-froydnj@codesourcery.com> (raw)

This patch addresses a usability nit: 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 in gdb_print_insn_powerpc 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.

Tested manually with cross to powerpc-linux-gnu.  OK to commit?

-Nathan

	* rs6000-tdep.c (gdb_print_insn_powerpc): Disassemble e500
	instructions if debugging an e500 binary.
---
 gdb/rs6000-tdep.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 09c7f8f..ef049d9 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -3029,7 +3029,12 @@ static int
 gdb_print_insn_powerpc (bfd_vma memaddr, disassemble_info *info)
 {
   if (!info->disassembler_options)
-    info->disassembler_options = "any";
+    {
+      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);
-- 
1.6.3.2

             reply	other threads:[~2010-10-29 19:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-29 19:20 Nathan Froyd [this message]
2010-11-02 18:09 ` Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1288380041-22124-1-git-send-email-froydnj@codesourcery.com \
    --to=froydnj@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).