public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Complete move to constructing GPR notes as byte buffers, not BigIntegers.
@ 2007-11-29  9:40 pmuldoon
  0 siblings, 0 replies; only message in thread
From: pmuldoon @ 2007-11-29  9:40 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  ad3897b147d7d155b38ee9bb666c953b782a7fdd (commit)
      from  2db907516bfc9f5f893e64b795ec2ffed349d6f8 (commit)

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

- Log -----------------------------------------------------------------
commit ad3897b147d7d155b38ee9bb666c953b782a7fdd
Author: Phil Muldoon <pmuldoon@redhat.com>
Date:   Thu Nov 29 09:40:51 2007 +0000

    Complete move to constructing GPR notes as byte buffers, not BigIntegers.
    
    2007-11-29  Phil Muldoon  <pmuldoon@redhat.com>
    
    	* IA32LinuxElfCorefile.java(writeNotePrstatus): Construct
    	byte-ordered buffer for GP Registers. Do not use BigIntegers.
    	Account for wordSize with Registers < wordSize.
    	(bytesToBigInteger) Delete.
    	* X8664LinuxElfCorefile.java: Ditto.
    	* PPC32LinuxElfCorefile.java: Ditto.
    	* PPC64LinuxElfCorefile.java: Ditto.
    
    2007-11-29  Phil Muldoon  <pmuldoon@redhat.com>
    
    	* cni/ElfPrstatus.cxx (ElfPrstatus::fillMemRegion): Copy
    	buffer to structure, do not build buffer.
    	* ElfPrstatus.java (setPrGPRegisterBuffer): New.
    	(setPrGPReg): Delete.
    	(convertToLong): Delete.
    	(getPrGPRegIterator): Delete.

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

Summary of changes:
 frysk-core/frysk/util/ChangeLog                  |   10 +++
 frysk-core/frysk/util/IA32LinuxElfCorefile.java  |   83 +++++++++++----------
 frysk-core/frysk/util/PPC32LinuxElfCorefile.java |   77 ++++++++------------
 frysk-core/frysk/util/PPC64LinuxElfCorefile.java |   85 +++++++++-------------
 frysk-core/frysk/util/X8664LinuxElfCorefile.java |   62 ++++++++--------
 frysk-sys/lib/dwfl/ChangeLog                     |    9 +++
 frysk-sys/lib/dwfl/ElfPrstatus.java              |   36 +---------
 frysk-sys/lib/dwfl/cni/ElfPrstatus.cxx           |   16 +----
 8 files changed, 165 insertions(+), 213 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/util/ChangeLog b/frysk-core/frysk/util/ChangeLog
index d8feb8e..8e69317 100644
--- a/frysk-core/frysk/util/ChangeLog
+++ b/frysk-core/frysk/util/ChangeLog
@@ -1,3 +1,13 @@
+2007-11-29  Phil Muldoon  <pmuldoon@redhat.com>
+
+	* IA32LinuxElfCorefile.java(writeNotePrstatus): Construct
+	byte-ordered buffer for GP Registers. Do not use BigIntegers.
+	Account for wordSize with Registers < wordSize.
+	(bytesToBigInteger) Delete.
+	* X8664LinuxElfCorefile.java: Ditto.
+	* PPC32LinuxElfCorefile.java: Ditto.
+	* PPC64LinuxElfCorefile.java: Ditto.
+
 2007-11-28  Tim Moore  <timoore@redhat.com>
 
 	* TestCountDownLatch.java (testTimeout): wrap time out await in
diff --git a/frysk-core/frysk/util/IA32LinuxElfCorefile.java b/frysk-core/frysk/util/IA32LinuxElfCorefile.java
index 7e6f17a..be6bdfc 100644
--- a/frysk-core/frysk/util/IA32LinuxElfCorefile.java
+++ b/frysk-core/frysk/util/IA32LinuxElfCorefile.java
@@ -42,7 +42,6 @@ package frysk.util;
 import frysk.proc.Proc;
 import frysk.proc.Task;
 import inua.eio.ByteBuffer;
-import inua.eio.ByteOrder;
 
 import lib.dwfl.ElfNhdr;
 import lib.dwfl.ElfNhdrType;
@@ -59,7 +58,7 @@ import frysk.sys.proc.Stat;
 import frysk.sys.proc.Status;
 import frysk.isa.IA32Registers;
 import frysk.isa.Register;
-import java.math.BigInteger;
+
 
 /**
  * LinuxElfCorefilex86. Extends LinuxCorefile. Fill in
@@ -181,32 +180,52 @@ public class IA32LinuxElfCorefile extends LinuxElfCorefile {
 	// are the names are the same. Create a string[] map to bridge
 	// gap between frysk and core file register order.
 
-	Register[] ptraceRegisterMap = {IA32Registers.EBX,
-				      IA32Registers.ECX,
-				      IA32Registers.EDX,
-				      IA32Registers.ESI,
-				      IA32Registers.EDI,
-				      IA32Registers.EBP,
-				      IA32Registers.EAX,
-     				      IA32Registers.DS,
-				      IA32Registers.ES,
-				      IA32Registers.FS,
-				      IA32Registers.GS,
-				      IA32Registers.ORIG_EAX,				      
-				      IA32Registers.EIP,
-				      IA32Registers.CS,
-				      IA32Registers.EFLAGS,
-      				      IA32Registers.ESP,
-				      IA32Registers.SS};
+	Register[] ptraceRegisterMap = {
+	  IA32Registers.EBX,
+	  IA32Registers.ECX,
+	  IA32Registers.EDX,
+	  IA32Registers.ESI,
+	  IA32Registers.EDI,
+	  IA32Registers.EBP,
+	  IA32Registers.EAX,
+	  IA32Registers.DS,
+	  IA32Registers.ES,
+	  IA32Registers.FS,
+	  IA32Registers.GS,
+	  IA32Registers.ORIG_EAX,				      
+	  IA32Registers.EIP,
+	  IA32Registers.CS,
+	  IA32Registers.EFLAGS,
+	  IA32Registers.ESP,
+	  IA32Registers.SS
+	};
 
 	// Set GP register info
+	int index = 0;
+	int arraySize = 0;
+	int regSize;
+	int wordSize = task.getISA().wordSize();
+	
+	// Allocate space in array. Even though there are some registers < wordSize, they still have
+	// to sit in a wordSize area
+	for (int l = 0; l < ptraceRegisterMap.length; l++)
+	  if (ptraceRegisterMap[l].getType().getSize() < wordSize)
+	    arraySize +=wordSize;
+	  else
+	    arraySize +=ptraceRegisterMap[l].getType().getSize();
+	
+	byte[] byteOrderedRegister= new byte[arraySize];
+	
+	// Populate array, using wordSize as minimum size
 	for (int i = 0; i < ptraceRegisterMap.length; i++) {
-	    int registerSize = ptraceRegisterMap[i].getType().getSize();
-	    byte[] byteOrderedRegister = new byte[registerSize];
-	    task.access(ptraceRegisterMap[i], 0, registerSize,	byteOrderedRegister, 0, false);
-	    prStatus.setPrGPReg(i,bytesToBigInteger(byteOrderedRegister));
+	  regSize = ptraceRegisterMap[i].getType().getSize();
+	  if (regSize < wordSize)
+	    regSize = wordSize;
+	  task.access(ptraceRegisterMap[i], 0, regSize, byteOrderedRegister, index, false);
+	  index += regSize;
 	}
-
+	
+	prStatus.setPrGPRegisterBuffer(byteOrderedRegister);
 	
 	// Write it
 	nhdrEntry.setNhdrDesc(ElfNhdrType.NT_PRSTATUS, prStatus);
@@ -292,20 +311,4 @@ public class IA32LinuxElfCorefile extends LinuxElfCorefile {
 	return ElfEHeader.PHEADER_ELFCLASS32;
     }
 
-    // XXX: Function to convert bytes[] to BigInteger. 
-    // Will disappear when all BankRegisters are present on all
-    // all architectures, and  we can call task.access() on all 
-    // registers, and not convert to BigInteger.
-    private BigInteger bytesToBigInteger(byte[] bytes)
-    {
-    	if (this.process.getMainTask().getISA().order() == ByteOrder.LITTLE_ENDIAN) {
-	    for (int left = 0; left < bytes.length / 2; left++) {
-		int right = bytes.length - 1 - left;
-		byte temp = bytes[left];
-		bytes[left] = bytes[right];
-		bytes[right] = temp;
-	    }
-	}
-	return new BigInteger(bytes);
-    }
 }
diff --git a/frysk-core/frysk/util/PPC32LinuxElfCorefile.java b/frysk-core/frysk/util/PPC32LinuxElfCorefile.java
index 8180acf..fec155f 100644
--- a/frysk-core/frysk/util/PPC32LinuxElfCorefile.java
+++ b/frysk-core/frysk/util/PPC32LinuxElfCorefile.java
@@ -43,23 +43,19 @@
 
 package frysk.util;
 
-import java.math.BigInteger;
-
-import frysk.proc.Proc;
-import frysk.proc.Task;
 import inua.eio.ByteBuffer;
-import inua.eio.ByteOrder;
-
+import lib.dwfl.ElfEHeader;
+import lib.dwfl.ElfEMachine;
 import lib.dwfl.ElfNhdr;
 import lib.dwfl.ElfNhdrType;
-import lib.dwfl.ElfEMachine;
-import lib.dwfl.ElfEHeader;
 import lib.dwfl.ElfPrAuxv;
+import lib.dwfl.ElfPrFPRegSet;
 import lib.dwfl.ElfPrpsinfo;
 import lib.dwfl.ElfPrstatus;
-import lib.dwfl.ElfPrFPRegSet;
 import frysk.isa.PPC32Registers;
 import frysk.isa.Register;
+import frysk.proc.Proc;
+import frysk.proc.Task;
 import frysk.sys.proc.AuxvBuilder;
 import frysk.sys.proc.CmdLineBuilder;
 import frysk.sys.proc.Stat;
@@ -188,11 +184,6 @@ public class PPC32LinuxElfCorefile extends LinuxElfCorefile {
 
         // The number of total common registers in PPC/PPC64 including nip, msr,
         // etc. Defined in the asm-ppc/elf.h.
-        int elfNGREG = 48;
-        int blankRegisterIndex = elfNGREG;
-
-        byte[] zeroVal = new byte[] { 0 };
-
         Register[] ptracePpcRegMap = { 
 	  PPC32Registers.NIP, PPC32Registers.MSR, PPC32Registers.ORIGR3,
 	  PPC32Registers.CTR, PPC32Registers.LR, PPC32Registers.XER,
@@ -210,23 +201,37 @@ public class PPC32LinuxElfCorefile extends LinuxElfCorefile {
 	  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));
-        }
+        
+    	// Set GP register info
+    	int index = 0;
+    	int arraySize = 0;
+    	int regSize;
+    	int wordSize = task.getISA().wordSize();
+        int elfNGREG = 48;
 	
+    	// Allocate space in array. Even though there are some registers < wordSize, they still have
+    	// to sit in a wordSize area
+    	for (int l = 0; l < ptracePpcRegMap.length; l++)
+	  if (ptracePpcRegMap[l].getType().getSize() < wordSize)
+	    arraySize +=wordSize;
+	  else
+	    arraySize +=ptracePpcRegMap[l].getType().getSize();
 	
-        blankRegisterIndex = ptracePpcRegMap.length;
+    	int blankRegisterIndex = (elfNGREG - ptracePpcRegMap.length) * wordSize;
 	
-        BigInteger bigInt = new BigInteger(zeroVal);
+    	byte[] byteOrderedRegister= new byte[arraySize+blankRegisterIndex];
+	
+    	// Populate array, using wordSize as minimum size
+    	for (int i = 0; i < ptracePpcRegMap.length; i++) {
+	  regSize = ptracePpcRegMap[i].getType().getSize();
+	  if (regSize < wordSize)
+	    regSize = wordSize;
+	  task.access(ptracePpcRegMap[i], 0, regSize, byteOrderedRegister, index, false);
+	  index += regSize;
+    	}
+	
+    	prStatus.setPrGPRegisterBuffer(byteOrderedRegister);
 	
-	// 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
 	nhdrEntry.setNhdrDesc(ElfNhdrType.NT_PRSTATUS, prStatus);
     }
@@ -295,22 +300,4 @@ public class PPC32LinuxElfCorefile extends LinuxElfCorefile {
     protected byte getElfMachineClass() {
 	return ElfEHeader.PHEADER_ELFCLASS32;
     }
-
-    // XXX: Function to convert bytes[] to BigInteger.
-    // Will disappear when all BankRegisters are present on all
-    // all architectures, and  we can call task.access() on all
-    // registers, and not convert to BigInteger.
-    private BigInteger bytesToBigInteger(byte[] bytes)
-    {
-        if (this.process.getMainTask().getISA().order() == ByteOrder.LITTLE_ENDIAN) {
-            for (int left = 0; left < bytes.length / 2; left++) {
-                int right = bytes.length - 1 - left;
-                byte temp = bytes[left];
-                bytes[left] = bytes[right];
-                bytes[right] = temp;
-            }
-        }
-        return new BigInteger(bytes);
-    }
-
 }
diff --git a/frysk-core/frysk/util/PPC64LinuxElfCorefile.java b/frysk-core/frysk/util/PPC64LinuxElfCorefile.java
index 58553c7..df6b20b 100644
--- a/frysk-core/frysk/util/PPC64LinuxElfCorefile.java
+++ b/frysk-core/frysk/util/PPC64LinuxElfCorefile.java
@@ -43,25 +43,20 @@
 
 package frysk.util;
 
-import java.math.BigInteger;
-
-import frysk.proc.Proc;
-import frysk.proc.Task;
-import inua.eio.ByteOrder;
-
+import lib.dwfl.ElfEHeader;
+import lib.dwfl.ElfEMachine;
 import lib.dwfl.ElfNhdr;
 import lib.dwfl.ElfNhdrType;
-import lib.dwfl.ElfEMachine;
-import lib.dwfl.ElfEHeader;
 import lib.dwfl.ElfPrAuxv;
+import lib.dwfl.ElfPrFPRegSet;
 import lib.dwfl.ElfPrpsinfo;
 import lib.dwfl.ElfPrstatus;
-import lib.dwfl.ElfPrFPRegSet;
-
-import frysk.sys.proc.AuxvBuilder;
-import frysk.sys.proc.CmdLineBuilder;
 import frysk.isa.PPC64Registers;
 import frysk.isa.Register;
+import frysk.proc.Proc;
+import frysk.proc.Task;
+import frysk.sys.proc.AuxvBuilder;
+import frysk.sys.proc.CmdLineBuilder;
 import frysk.sys.proc.Stat;
 import frysk.sys.proc.Status;
 
@@ -188,11 +183,6 @@ public class PPC64LinuxElfCorefile extends LinuxElfCorefile {
 
         // The number of total common registers in PPC/PPC64 including nip, msr,
         // etc. Defined in the asm-ppc64/elf.h.
-        int elfNGREG = 48;
-        int blankRegisterIndex = elfNGREG;
-
-        byte[] zeroVal = new byte[] { 0 };
-
         // 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 = {
@@ -212,23 +202,36 @@ public class PPC64LinuxElfCorefile extends LinuxElfCorefile {
 	  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));
-        }
-
-
-        blankRegisterIndex = ptracePpc64RegMap.length;
-
-        BigInteger bigInt = new BigInteger(zeroVal);
+    	// Set GP register info
+    	int index = 0;
+    	int arraySize = 0;
+    	int regSize;
+    	int wordSize = task.getISA().wordSize();
+        int elfNGREG = 48;
+	
+    	// Allocate space in array. Even though there are some registers < wordSize, they still have
+    	// to sit in a wordSize area
+    	for (int l = 0; l < ptracePpc64RegMap.length; l++)
+	  if (ptracePpc64RegMap[l].getType().getSize() < wordSize)
+	    arraySize +=wordSize;
+	  else
+	    arraySize +=ptracePpc64RegMap[l].getType().getSize();
+	
+    	int blankRegisterIndex = (elfNGREG - ptracePpc64RegMap.length) * wordSize;
+	
+    	byte[] byteOrderedRegister= new byte[arraySize+blankRegisterIndex];
+	
+    	// Populate array, using wordSize as minimum size
+    	for (int i = 0; i < ptracePpc64RegMap.length; i++) {
+	  regSize = ptracePpc64RegMap[i].getType().getSize();
+	  if (regSize < wordSize)
+	    regSize = wordSize;
+	  task.access(ptracePpc64RegMap[i], 0, regSize, byteOrderedRegister, index, false);
+	  index += regSize;
+    	}
+	
+    	prStatus.setPrGPRegisterBuffer(byteOrderedRegister);
 
-        // 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
 	nhdrEntry.setNhdrDesc(ElfNhdrType.NT_PRSTATUS, prStatus);
     }
@@ -330,20 +333,4 @@ public class PPC64LinuxElfCorefile extends LinuxElfCorefile {
 	return ElfEHeader.PHEADER_ELFCLASS64;
     }
 
-    // XXX: Function to convert bytes[] to BigInteger.
-    // Will disappear when all BankRegisters are present on all
-    // all architectures, and  we can call task.access() on all
-    // registers, and not convert to BigInteger.
-    private BigInteger bytesToBigInteger(byte[] bytes)
-    {
-        if (this.process.getMainTask().getISA().order() == ByteOrder.LITTLE_ENDIAN) {
-            for (int left = 0; left < bytes.length / 2; left++) {
-                int right = bytes.length - 1 - left;
-                byte temp = bytes[left];
-                bytes[left] = bytes[right];
-                bytes[right] = temp;
-            }
-        }
-        return new BigInteger(bytes);
-    }
 }
diff --git a/frysk-core/frysk/util/X8664LinuxElfCorefile.java b/frysk-core/frysk/util/X8664LinuxElfCorefile.java
index c2dab9d..7d4fb1c 100644
--- a/frysk-core/frysk/util/X8664LinuxElfCorefile.java
+++ b/frysk-core/frysk/util/X8664LinuxElfCorefile.java
@@ -39,23 +39,19 @@
 
 package frysk.util;
 
-import java.math.BigInteger;
-
-import frysk.isa.Register;
-import frysk.isa.X8664Registers;
-import frysk.proc.Proc;
-import frysk.proc.Task;
 import inua.eio.ByteBuffer;
-import inua.eio.ByteOrder;
-
+import lib.dwfl.ElfEHeader;
+import lib.dwfl.ElfEMachine;
 import lib.dwfl.ElfNhdr;
 import lib.dwfl.ElfNhdrType;
-import lib.dwfl.ElfEMachine;
-import lib.dwfl.ElfEHeader;
 import lib.dwfl.ElfPrAuxv;
+import lib.dwfl.ElfPrFPRegSet;
 import lib.dwfl.ElfPrpsinfo;
 import lib.dwfl.ElfPrstatus;
-import lib.dwfl.ElfPrFPRegSet;
+import frysk.isa.Register;
+import frysk.isa.X8664Registers;
+import frysk.proc.Proc;
+import frysk.proc.Task;
 import frysk.sys.proc.AuxvBuilder;
 import frysk.sys.proc.CmdLineBuilder;
 import frysk.sys.proc.Stat;
@@ -212,12 +208,31 @@ public class X8664LinuxElfCorefile extends LinuxElfCorefile {
 	  X8664Registers.GS};
 
 	// Set GP register info
+	int index = 0;
+	int arraySize = 0;
+	int regSize;
+	int wordSize = task.getISA().wordSize();
+	
+	// Allocate space in array. Even though there are some registers < wordSize, they still have
+	// to sit in a wordSize area
+	for (int l = 0; l < ptraceRegisterMap.length; l++)
+	  if (ptraceRegisterMap[l].getType().getSize() < wordSize)
+	    arraySize +=wordSize;
+	  else
+	    arraySize +=ptraceRegisterMap[l].getType().getSize();
+	
+	byte[] byteOrderedRegister= new byte[arraySize];
+	
+	// Populate array, using wordSize as minimum size
 	for (int i = 0; i < ptraceRegisterMap.length; i++) {
-	  int registerSize = ptraceRegisterMap[i].getType().getSize();
-	  byte[] byteOrderedRegister = new byte[registerSize];
-	  task.access(ptraceRegisterMap[i], 0, registerSize,	byteOrderedRegister, 0, false);
-	  prStatus.setPrGPReg(i,bytesToBigInteger(byteOrderedRegister));
+	  regSize = ptraceRegisterMap[i].getType().getSize();
+	  if (regSize < wordSize)
+	    regSize = wordSize;
+	  task.access(ptraceRegisterMap[i], 0, regSize, byteOrderedRegister, index, false);
+	  index += regSize;
 	}
+	
+	prStatus.setPrGPRegisterBuffer(byteOrderedRegister);
 
 	// Write it
 	nhdrEntry.setNhdrDesc(ElfNhdrType.NT_PRSTATUS, prStatus);
@@ -285,21 +300,4 @@ public class X8664LinuxElfCorefile extends LinuxElfCorefile {
 	return ElfEHeader.PHEADER_ELFCLASS64;
     }
     
-    // XXX: Function to convert bytes[] to BigInteger. 
-    // Will disappear when all BankRegisters are present on all
-    // all architectures, and  we can call task.access() on all 
-    // registers, and not convert to BigInteger.
-    private BigInteger bytesToBigInteger(byte[] bytes)
-    {
-    	if (this.process.getMainTask().getISA().order() == ByteOrder.LITTLE_ENDIAN) {
-	    for (int left = 0; left < bytes.length / 2; left++) {
-		int right = bytes.length - 1 - left;
-		byte temp = bytes[left];
-		bytes[left] = bytes[right];
-		bytes[right] = temp;
-	    }
-	}
-	return new BigInteger(bytes);
-    }
-
 }
diff --git a/frysk-sys/lib/dwfl/ChangeLog b/frysk-sys/lib/dwfl/ChangeLog
index 7debe8b..4e0117e 100644
--- a/frysk-sys/lib/dwfl/ChangeLog
+++ b/frysk-sys/lib/dwfl/ChangeLog
@@ -1,3 +1,12 @@
+2007-11-29  Phil Muldoon  <pmuldoon@redhat.com>
+
+	* cni/ElfPrstatus.cxx (ElfPrstatus::fillMemRegion): Copy
+	buffer to structure, do not build buffer.
+	* ElfPrstatus.java (setPrGPRegisterBuffer): New.
+	(setPrGPReg): Delete.
+	(convertToLong): Delete.
+	(getPrGPRegIterator): Delete.
+	
 2007-11-20  Stan Cox  <scox@redhat.com>
 
 	* BaseTypes.java: Remove.
diff --git a/frysk-sys/lib/dwfl/ElfPrstatus.java b/frysk-sys/lib/dwfl/ElfPrstatus.java
index 6c2e999..0539521 100644
--- a/frysk-sys/lib/dwfl/ElfPrstatus.java
+++ b/frysk-sys/lib/dwfl/ElfPrstatus.java
@@ -41,7 +41,6 @@ package lib.dwfl;
 
 import java.util.ArrayList;
 import java.util.Iterator;
-import java.math.BigInteger;
 import inua.eio.ArrayByteBuffer;
 import inua.eio.ByteBuffer;
 import inua.eio.ByteOrder;
@@ -77,10 +76,7 @@ public class ElfPrstatus extends ElfNhdr.ElfNoteSectionEntry


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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-29  9:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-29  9:40 [SCM] master: Complete move to constructing GPR notes as byte buffers, not BigIntegers pmuldoon

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).