public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: pmuldoon@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Use Bank Registers for GPR. Do not use getRegisterByName().
Date: Wed, 28 Nov 2007 13:50:00 -0000	[thread overview]
Message-ID: <20071128135027.22978.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  9ce87ebc824d9ddd20bff9b53e89b87948c45e9a (commit)
      from  73c6fe8aca72acc92166db968b80e906a8af83a3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 9ce87ebc824d9ddd20bff9b53e89b87948c45e9a
Author: Phil Muldoon <pmuldoon@redhat.com>
Date:   Wed Nov 28 13:50:19 2007 +0000

    Use Bank Registers for GPR. Do not use getRegisterByName().
    
    2007-11-28  Phil Muldoon  <pmuldoon@redhat.com>
    
    	* PPC64LinuxElfCorefile.java (writeNotePrstatus): Add GPR
    	registers to map. Do not use getRegisterByName() anymore.
    	* PPC32LinuxElfCorefile.java(writeNotePrstatus): Ditto.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/util/ChangeLog                  |    4 ++
 frysk-core/frysk/util/PPC32LinuxElfCorefile.java |   59 ++++++++++------------
 frysk-core/frysk/util/PPC64LinuxElfCorefile.java |   46 ++++++++---------
 3 files changed, 52 insertions(+), 57 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/util/ChangeLog b/frysk-core/frysk/util/ChangeLog
index d1cda2f..2452a84 100644
--- a/frysk-core/frysk/util/ChangeLog
+++ b/frysk-core/frysk/util/ChangeLog
@@ -1,5 +1,9 @@
 2007-11-28  Phil Muldoon  <pmuldoon@redhat.com>
 
+	* PPC64LinuxElfCorefile.java (writeNotePrstatus): Add GPR
+	registers to map. Do not use getRegisterByName() anymore.
+	* PPC32LinuxElfCorefile.java(writeNotePrstatus): Ditto.
+	
 	* X8664LinuxElfCorefile.java (writeNotePrstatus): Do not use
 	getRegisterByName(). Use static X8864 register constants, and
 	task.access()
diff --git a/frysk-core/frysk/util/PPC32LinuxElfCorefile.java b/frysk-core/frysk/util/PPC32LinuxElfCorefile.java
index 355afce..8180acf 100644
--- a/frysk-core/frysk/util/PPC32LinuxElfCorefile.java
+++ b/frysk-core/frysk/util/PPC32LinuxElfCorefile.java
@@ -186,9 +186,6 @@ public class PPC32LinuxElfCorefile extends LinuxElfCorefile {
 	// are the names are the same. Create a string[] map to bridge
 	// gap between frysk and core file register order.
 
-        // The number of general purpose regiser.
-        int gprSize = 32;
-
         // The number of total common registers in PPC/PPC64 including nip, msr,
         // etc. Defined in the asm-ppc/elf.h.
         int elfNGREG = 48;
@@ -197,42 +194,40 @@ public class PPC32LinuxElfCorefile extends LinuxElfCorefile {
         byte[] zeroVal = new byte[] { 0 };
 
         Register[] ptracePpcRegMap = { 
-		PPC32Registers.NIP, 
-		PPC32Registers.MSR,	
-		PPC32Registers.ORIGR3,
-		PPC32Registers.CTR,
-		PPC32Registers.LR,
-		PPC32Registers.XER,
-		PPC32Registers.CCR,
-		PPC32Registers.MQ,
-		PPC32Registers.TRAP,
-		PPC32Registers.DAR,
-		PPC32Registers.DSISR,
-		PPC32Registers.RESULT };
-
+	  PPC32Registers.NIP, PPC32Registers.MSR, PPC32Registers.ORIGR3,
+	  PPC32Registers.CTR, PPC32Registers.LR, PPC32Registers.XER,
+	  PPC32Registers.CCR, PPC32Registers.MQ, PPC32Registers.TRAP,
+	  PPC32Registers.DAR, PPC32Registers.DSISR, PPC32Registers.RESULT,
+	  PPC32Registers.GPR0, PPC32Registers.GPR1, PPC32Registers.GPR2,
+	  PPC32Registers.GPR3, PPC32Registers.GPR4, PPC32Registers.GPR5,
+	  PPC32Registers.GPR6, PPC32Registers.GPR7, PPC32Registers.GPR8,
+	  PPC32Registers.GPR9, PPC32Registers.GPR10, PPC32Registers.GPR11,
+	  PPC32Registers.GPR12, PPC32Registers.GPR13, PPC32Registers.GPR14,
+	  PPC32Registers.GPR15, PPC32Registers.GPR16, PPC32Registers.GPR17,
+	  PPC32Registers.GPR18, PPC32Registers.GPR19, PPC32Registers.GPR20,
+	  PPC32Registers.GPR21, PPC32Registers.GPR22, PPC32Registers.GPR23,
+	  PPC32Registers.GPR24, PPC32Registers.GPR25, PPC32Registers.GPR26,
+	  PPC32Registers.GPR27, PPC32Registers.GPR28, PPC32Registers.GPR29,
+	  PPC32Registers.GPR30, PPC32Registers.GPR31};
+	
         for (int i = 0; i < ptracePpcRegMap.length; i++) {
-            int registerSize = ptracePpcRegMap[i].getType().getSize();
-            byte[] byteOrderedRegister = new byte[registerSize];
-            task.access(ptracePpcRegMap[i], 0, registerSize,  byteOrderedRegister, 0, false);
-            prStatus.setPrGPReg(i,bytesToBigInteger(byteOrderedRegister));
+	  int registerSize = ptracePpcRegMap[i].getType().getSize();
+	  byte[] byteOrderedRegister = new byte[registerSize];
+	  task.access(ptracePpcRegMap[i], 0, registerSize,  byteOrderedRegister, 0, false);
+	  prStatus.setPrGPReg(i,bytesToBigInteger(byteOrderedRegister));
         }
-	 
-        // Set the general purpose registers.
-	for (int index = 0; index < gprSize; index++)
-	    prStatus.setPrGPReg
-		(index,
-		 task.getBigIntegerRegisterFIXME("gpr" + index));
-
-        blankRegisterIndex = gprSize + ptracePpcRegMap.length;
-
+	
+	
+        blankRegisterIndex = ptracePpcRegMap.length;
+	
         BigInteger bigInt = new BigInteger(zeroVal);
-
-        // On ppc, some register indexes are not defined in
+	
+	// On ppc, some register indexes are not defined in
 	// asm-<ISA>/ptrace.h.        
         for (int index = blankRegisterIndex; index < elfNGREG; index++)
           prStatus.setPrGPReg(index, bigInt);
         
-        // Write it
+	// Write it
 	nhdrEntry.setNhdrDesc(ElfNhdrType.NT_PRSTATUS, prStatus);
     }
 
diff --git a/frysk-core/frysk/util/PPC64LinuxElfCorefile.java b/frysk-core/frysk/util/PPC64LinuxElfCorefile.java
index bc0be2a..ffcc899 100644
--- a/frysk-core/frysk/util/PPC64LinuxElfCorefile.java
+++ b/frysk-core/frysk/util/PPC64LinuxElfCorefile.java
@@ -187,9 +187,6 @@ public class PPC64LinuxElfCorefile extends LinuxElfCorefile {
 	// are the names are the same. Create a string[] map to bridge
 	// gap between frysk and core file register order.
 
-        // The number of general purpose regiser.
-        int gprSize = 32;
-
         // The number of total common registers in PPC/PPC64 including nip, msr,
         // etc. Defined in the asm-ppc64/elf.h.
         int elfNGREG = 48;
@@ -200,37 +197,36 @@ public class PPC64LinuxElfCorefile extends LinuxElfCorefile {
         // XXX: if one register's offset is not defined in asm-ppc/ptrace.h or
         // asm-ppc64/ptrace.h,we did not dump it out and fill give the null Name.
         Register[] ptracePpc64RegMap = {
-                PPC64Registers.NIP,
-                PPC64Registers.MSR,
-                PPC64Registers.ORIGR3,
-                PPC64Registers.CTR,
-                PPC64Registers.LR,
-                PPC64Registers.XER,
-                PPC64Registers.CCR,
-                PPC64Registers.SOFTE,
-                PPC64Registers.TRAP,
-                PPC64Registers.DAR,
-                PPC64Registers.DSISR,
-                PPC64Registers.RESULT };
+	  PPC64Registers.NIP, PPC64Registers.MSR, PPC64Registers.ORIGR3,
+	  PPC64Registers.CTR, PPC64Registers.LR,  PPC64Registers.XER,
+	  PPC64Registers.CCR, PPC64Registers.SOFTE, PPC64Registers.TRAP,
+	  PPC64Registers.DAR, PPC64Registers.DSISR, PPC64Registers.RESULT,
+	  PPC64Registers.GPR0,  PPC64Registers.GPR1, PPC64Registers.GPR2,
+	  PPC64Registers.GPR3,  PPC64Registers.GPR4, PPC64Registers.GPR5,
+	  PPC64Registers.GPR6,  PPC64Registers.GPR7, PPC64Registers.GPR8,
+	  PPC64Registers.GPR9,  PPC64Registers.GPR10, PPC64Registers.GPR11,
+	  PPC64Registers.GPR12,  PPC64Registers.GPR13, PPC64Registers.GPR14,
+	  PPC64Registers.GPR15,  PPC64Registers.GPR16, PPC64Registers.GPR17,
+	  PPC64Registers.GPR18,  PPC64Registers.GPR19, PPC64Registers.GPR20,
+	  PPC64Registers.GPR21,  PPC64Registers.GPR22, PPC64Registers.GPR23,
+	  PPC64Registers.GPR24,  PPC64Registers.GPR25, PPC64Registers.GPR26,
+	  PPC64Registers.GPR27,  PPC64Registers.GPR28, PPC64Registers.GPR29,
+	  PPC64Registers.GPR30,  PPC64Registers.GPR31};
 
         for (int i = 0; i < ptracePpc64RegMap.length; i++) {
-            int registerSize = ptracePpc64RegMap[i].getType().getSize();
-            byte[] byteOrderedRegister = new byte[registerSize];
-            task.access(ptracePpc64RegMap[i], 0, registerSize,  byteOrderedRegister, 0, false);
-            prStatus.setPrGPReg(i, bytesToBigInteger(byteOrderedRegister));
+	  int registerSize = ptracePpc64RegMap[i].getType().getSize();
+	  byte[] byteOrderedRegister = new byte[registerSize];
+	  task.access(ptracePpc64RegMap[i], 0, registerSize,  byteOrderedRegister, 0, false);
+	  prStatus.setPrGPReg(i, bytesToBigInteger(byteOrderedRegister));
         }
 
-        // Set the general purpose registers.
-	for (int index = 0; index < gprSize; index++)
-	    prStatus.setPrGPReg
-		(index, task.getBigIntegerRegisterFIXME("gpr" + index));
 
-        blankRegisterIndex = gprSize + ptracePpc64RegMap.length;
+        blankRegisterIndex = ptracePpc64RegMap.length;
 
         BigInteger bigInt = new BigInteger(zeroVal);
 
         // On ppc, some register indexes are not defined in
-	// asm-<ISA>/ptrace.h.        
+        // asm-<ISA>/ptrace.h.        
         for (int index = blankRegisterIndex; index < elfNGREG; index++)
           prStatus.setPrGPReg(index, bigInt);
         


hooks/post-receive
--
frysk system monitor/debugger


                 reply	other threads:[~2007-11-28 13:50 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20071128135027.22978.qmail@sourceware.org \
    --to=pmuldoon@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@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).