This is the mail archive of the frysk-cvs@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] master: frysk-core/frysk/bindir/ChangeLog


The branch, master has been updated
       via  06cbed2bceaedb7beb6719a3395f48b21ea279ef (commit)
      from  764c4238327cee1cd0bb5f682d7cef444e14e0f9 (commit)

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

- Log -----------------------------------------------------------------
commit 06cbed2bceaedb7beb6719a3395f48b21ea279ef
Author: Andrew Cagney <cagney@redhat.com>
Date:   Tue Feb 19 11:15:44 2008 -0500

    frysk-core/frysk/bindir/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* TestFstep.java: Update to match lib.dwfl.Elf.
    
    frysk-core/frysk/debuginfo/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* DebugInfo.java: Update to match lib.dwfl.Elf.
    
    frysk-core/frysk/dom/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* DOMCommon.java: Update to match lib.dwfl.File.
    
    frysk-core/frysk/ftrace/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* TestMappingGuard.java (performTestAllLibraiesGetDetected()):
    	Make private.
    	* ObjectFile.java: Update to match lib.dwfl.Elf.
    
    frysk-core/frysk/isa/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* ElfMap.java: Update to match lib.dwfl.
    
    frysk-core/frysk/isa/corefiles/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* IA32LinuxElfCorefile.java: Update to match lib.dwfl.
    	* X8664LinuxElfCorefile.java: Ditto.
    	* PPC64LinuxElfCorefile.java: Ditto.
    	* PPC32LinuxElfCorefile.java: Ditto.
    	* LinuxElfCorefile.java: Ditto.
    	(getElfEndianType()): Delete.
    	(getElfWordSize()): Delete.
    
    frysk-core/frysk/proc/dead/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* CorefileByteBuffer.java: Update to match lib.dwfl.
    	* SOLibMapBuilder.java: Ditto.
    	* LinuxExeHost.java: Ditto.
    	* LinuxExeTask.java: Ditto.
    	* LinuxCoreTask.java: Ditto.
    	* LinuxCoreHost.java: Ditto.
    	* LinuxCoreProc.java: Ditto.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* IsaFactory.java: Update to match lib.dwfl.
    	* TestTaskObserverCode.java: Ditto.
    
    frysk-core/frysk/util/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* CommandlineParser.java: Update to match lib.dwfl.
    	* TestCoredumpAction.java: Ditto.
    
    frysk-sys/lib/dwfl/ChangeLog
    2008-02-19  Andrew Cagney  <cagney@redhat.com>
    
    	* ElfFileException.java (ElfFileException(String)): Delete.
    	(ElfFileException(String,String)): Delete.
    	(ElfFileException(File,String)): New.
    	(ElfFileException(File,Exception)): New.
    	* Elf.java (Elf(String,ElfCommand)): Delete.
    	(updateEHeader(ElfHeader)): Return void.
    	(getLastErrorMsg()): Make static.
    	(getLastErrorNo()): Make static.
    	(getDescriptor(File,ElfCommand)): New.
    	(Elf(FileDescriptor,ElfCommand)): New.
    	(update(ElfCommand)): Return void.
    	(createNewEHeader(int wordSize)): Return ElfEHeader.
    	* ElfException.java: Extend RuntimeException.
    	* cni/Elf.cxx (fillEHeader): Delete.
    	(Elf::elf_getehdr): Throw an exception if there's a problem.
    	(Elf::elf_update): Ditto.
    	(Elf::elf_updatehdr): Ditto.
    	* ElfEHeader.java (EI_CLASS): New.
    	(getWordSize(), setWordSize()): New.
    	(ElfEHeader()): Replace ElfEHeader(Elf).
    	(DATANONE, DATA2LSB, DATA2MSB, DATA): Drop PHEADER_ prefix.
    	(CLASSNONE, CLASS32, CLASS64, CLASS): Drop PHEADER_ prefix.
    	(getByteOrder(), setByteOrder(ByteOrder)): New.
    	* TestElf.java: Update.
    	(testSetWordSize()): New.
    	(testSetByteOrder()): New.
    	* ElfPrXFPRegSet.java: Update.
    	* ElfPrAuxv.java: Update.
    	* ElfPrFPRegSet.java: Update.
    	* ElfPrpsinfo.java: Update.
    	* ElfPrstatus.java: Update.

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

Summary of changes:
 frysk-core/frysk/bindir/ChangeLog                  |    4 +
 frysk-core/frysk/bindir/TestFstep.java             |   16 +-
 frysk-core/frysk/debuginfo/ChangeLog               |    4 +
 frysk-core/frysk/debuginfo/DebugInfo.java          |    3 +-
 frysk-core/frysk/dom/ChangeLog                     |    4 +
 frysk-core/frysk/dom/DOMCommon.java                |    6 +-
 frysk-core/frysk/ftrace/ChangeLog                  |    6 +
 frysk-core/frysk/ftrace/ObjectFile.java            |   83 ++++-----
 frysk-core/frysk/ftrace/TestMappingGuard.java      |    3 +-
 frysk-core/frysk/isa/ChangeLog                     |    4 +
 frysk-core/frysk/isa/ElfMap.java                   |   16 +--
 frysk-core/frysk/isa/corefiles/ChangeLog           |   12 +-
 .../frysk/isa/corefiles/IA32LinuxElfCorefile.java  |    2 +-
 .../frysk/isa/corefiles/LinuxElfCorefile.java      |   69 ++-----
 .../frysk/isa/corefiles/PPC32LinuxElfCorefile.java |    2 +-
 .../frysk/isa/corefiles/PPC64LinuxElfCorefile.java |    2 +-
 .../frysk/isa/corefiles/X8664LinuxElfCorefile.java |    2 +-
 frysk-core/frysk/proc/dead/ChangeLog               |   10 +
 frysk-core/frysk/proc/dead/CorefileByteBuffer.java |   49 +----
 frysk-core/frysk/proc/dead/LinuxCoreHost.java      |    8 +-
 frysk-core/frysk/proc/dead/LinuxCoreProc.java      |    7 +-
 frysk-core/frysk/proc/dead/LinuxExeHost.java       |    7 +-
 frysk-core/frysk/proc/dead/LinuxExeTask.java       |    3 +-
 frysk-core/frysk/proc/dead/SOLibMapBuilder.java    |   49 ++----
 frysk-core/frysk/proc/live/ChangeLog               |    5 +
 frysk-core/frysk/proc/live/IsaFactory.java         |   21 +--
 .../frysk/proc/live/TestTaskObserverCode.java      |   12 +-
 frysk-core/frysk/util/ChangeLog                    |    6 +-
 frysk-core/frysk/util/CommandlineParser.java       |    4 +-
 frysk-core/frysk/util/TestCoredumpAction.java      |   36 +---
 frysk-sys/lib/dwfl/ChangeLog                       |   34 +++
 frysk-sys/lib/dwfl/Elf.java                        |   73 ++++----
 frysk-sys/lib/dwfl/ElfEHeader.java                 |  111 ++++++++--
 frysk-sys/lib/dwfl/ElfException.java               |   21 ++-
 frysk-sys/lib/dwfl/ElfFileException.java           |   66 +++----
 frysk-sys/lib/dwfl/ElfPrAuxv.java                  |   25 +--
 frysk-sys/lib/dwfl/ElfPrFPRegSet.java              |   29 +--
 frysk-sys/lib/dwfl/ElfPrXFPRegSet.java             |   29 +--
 frysk-sys/lib/dwfl/ElfPrpsinfo.java                |   36 +---
 frysk-sys/lib/dwfl/ElfPrstatus.java                |   31 +---
 frysk-sys/lib/dwfl/TestElf.java                    |  216 ++++++++++----------
 frysk-sys/lib/dwfl/cni/Elf.cxx                     |  101 +++++-----
 42 files changed, 577 insertions(+), 650 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/bindir/ChangeLog b/frysk-core/frysk/bindir/ChangeLog
index a35ab8d..ddf28e2 100644
--- a/frysk-core/frysk/bindir/ChangeLog
+++ b/frysk-core/frysk/bindir/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-19  Andrew Cagney  <cagney@redhat.com>
+
+	* TestFstep.java: Update to match lib.dwfl.Elf.
+
 2008-02-19  Phil Muldoon  <pmuldoon@redhat.com>
 
 	* fcore.xml: Add -stack option. 
diff --git a/frysk-core/frysk/bindir/TestFstep.java b/frysk-core/frysk/bindir/TestFstep.java
index 6247067..6e6227a 100644
--- a/frysk-core/frysk/bindir/TestFstep.java
+++ b/frysk-core/frysk/bindir/TestFstep.java
@@ -41,17 +41,21 @@
 package frysk.bindir;
 
 import frysk.Config;
-import lib.dwfl.*;
+import java.io.File;
 import frysk.expunit.Regex;
 import frysk.testbed.TestLib;
 import frysk.testbed.TearDownExpect;
+import lib.dwfl.Elf;
+import lib.dwfl.ElfEHeader;
+import lib.dwfl.ElfCommand;
 
 public class TestFstep extends TestLib {
-  // Makes sure that fstep at least comes across the entry point of the
-  // stepped program.
-  public void testFirstStep() throws Exception
-  {
-    Elf e = new Elf("/bin/true", ElfCommand.ELF_C_READ);
+    /**
+     * Makes sure that fstep at least comes across the entry point of
+     * the stepped program.
+     */
+    public void testFirstStep() throws Exception {
+	Elf e = new Elf(new File("/bin/true"), ElfCommand.ELF_C_READ);
     try {
 	ElfEHeader h = e.getEHeader();
 	final String entryAddress = "0x" + Long.toHexString(h.entry);
diff --git a/frysk-core/frysk/debuginfo/ChangeLog b/frysk-core/frysk/debuginfo/ChangeLog
index f55fd9c..758d8a7 100644
--- a/frysk-core/frysk/debuginfo/ChangeLog
+++ b/frysk-core/frysk/debuginfo/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-19  Andrew Cagney  <cagney@redhat.com>
+
+	* DebugInfo.java: Update to match lib.dwfl.Elf.
+
 2008-02-12  Andrew Cagney  <cagney@redhat.com>
 
 	* TestDebugInfoStackTrace.java: Update to match frysk.sys.Pid.
diff --git a/frysk-core/frysk/debuginfo/DebugInfo.java b/frysk-core/frysk/debuginfo/DebugInfo.java
index 12e817c..3f1a92f 100644
--- a/frysk-core/frysk/debuginfo/DebugInfo.java
+++ b/frysk-core/frysk/debuginfo/DebugInfo.java
@@ -54,6 +54,7 @@ import lib.dwfl.DwAt;
 import lib.dwfl.DwflDieBias;
 import lib.dwfl.Elf;
 import lib.dwfl.ElfCommand;
+import java.io.File;
 
 public class DebugInfo {
     private Elf elf;
@@ -66,7 +67,7 @@ public class DebugInfo {
     public DebugInfo (DebugInfoFrame frame) {
 	Proc proc = frame.getTask().getProc();
 	try {
-	    elf = new Elf(proc.getExe(), ElfCommand.ELF_C_READ);
+	    elf = new Elf(new File(proc.getExe()), ElfCommand.ELF_C_READ);
 	    dwarf = new Dwarf(elf, DwarfCommand.READ, null);
 	}
 	catch (lib.dwfl.ElfException ignore) {
diff --git a/frysk-core/frysk/dom/ChangeLog b/frysk-core/frysk/dom/ChangeLog
index bebfb75..a92d1d8 100644
--- a/frysk-core/frysk/dom/ChangeLog
+++ b/frysk-core/frysk/dom/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-19  Andrew Cagney  <cagney@redhat.com>
+
+	* DOMCommon.java: Update to match lib.dwfl.File.
+
 2007-12-13  Sami Wagiaalla  <swagiaal@redhat.com>
 
 	Moved frysk.rt.Line to frysk.scopes.SourceLocation.
diff --git a/frysk-core/frysk/dom/DOMCommon.java b/frysk-core/frysk/dom/DOMCommon.java
index 0afba02..8f2f67e 100644
--- a/frysk-core/frysk/dom/DOMCommon.java
+++ b/frysk-core/frysk/dom/DOMCommon.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2007, Red Hat Inc.
+// Copyright 2007, 2008, Red Hat Inc.
 //
 // FRYSK is free software; you can redistribute it and/or modify it
 // under the terms of the GNU General Public License as published by
@@ -82,7 +82,7 @@ public class DOMCommon {
     ArrayList sourcefiles = new ArrayList();
     if (pathFound(executable)) {
       try {
-        Elf elf = new Elf(executable, ElfCommand.ELF_C_READ);
+	  Elf elf = new Elf(new File(executable), ElfCommand.ELF_C_READ);
         Dwarf dw = new Dwarf(elf, DwarfCommand.READ, null);
         String[] files = dw.getSourceFiles();
 
@@ -127,7 +127,7 @@ public class DOMCommon {
     Elf elf = null;
     ArrayList incpaths = new ArrayList();
     try {
-      elf = new Elf(executable, ElfCommand.ELF_C_READ);
+	elf = new Elf(new File(executable), ElfCommand.ELF_C_READ);
     } catch (lib.dwfl.ElfException ee) {
       throw new RuntimeException("Cannot open elf file. Name I was given "
           + "was " + executable, ee);
diff --git a/frysk-core/frysk/ftrace/ChangeLog b/frysk-core/frysk/ftrace/ChangeLog
index d2f58c2..e3c6c0d 100644
--- a/frysk-core/frysk/ftrace/ChangeLog
+++ b/frysk-core/frysk/ftrace/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-19  Andrew Cagney  <cagney@redhat.com>
+
+	* TestMappingGuard.java (performTestAllLibraiesGetDetected()):
+	Make private.
+	* ObjectFile.java: Update to match lib.dwfl.Elf.
+
 2008-02-14  Andrew Cagney  <cagney@redhat.com>
 
 	* Ftrace.java (addTracePid(ProcId)): Delete.
diff --git a/frysk-core/frysk/ftrace/ObjectFile.java b/frysk-core/frysk/ftrace/ObjectFile.java
index 3b4016b..1da5df4 100644
--- a/frysk-core/frysk/ftrace/ObjectFile.java
+++ b/frysk-core/frysk/ftrace/ObjectFile.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2007, Red Hat Inc.
+// Copyright 2007, 2008, Red Hat Inc.
 //
 // FRYSK is free software; you can redistribute it and/or modify it
 // under the terms of the GNU General Public License as published by
@@ -60,7 +60,8 @@ import lib.dwfl.ElfSymbol;
 import lib.dwfl.ElfSymbolBinding;
 import lib.dwfl.ElfSymbolType;
 import lib.dwfl.ElfSymbolVisibility;
-
+import lib.dwfl.ElfFileException;
+import lib.dwfl.ElfException;
 import lib.stdcpp.Demangler;
 
 /**
@@ -209,9 +210,7 @@ public class ObjectFile
 	    tracePoints.add(tp);
 	}
 
-	public synchronized ArrayList getTracePoints(TracePointOrigin origin)
-	    throws lib.dwfl.ElfException
-	{
+	public synchronized ArrayList getTracePoints(TracePointOrigin origin) {
 	    ArrayList tracePoints = (ArrayList)this.tracePointMap.get(origin);
 	    if (tracePoints != null) {
 		logger.log(Level.FINE, "" + tracePoints.size() + " tracepoints for origin " + origin + " retrieved from cache.");
@@ -308,9 +307,7 @@ public class ObjectFile
     }
     private ObjFBuilder builder;
 
-    protected ObjectFile(File file, final Elf elfFile, ElfEHeader eh)
-	throws lib.dwfl.ElfException
-    {
+    protected ObjectFile(File file, final Elf elfFile, ElfEHeader eh) {
 	this.filename = file;
 	this.entryPoint = eh.entry;
 	this.builder = new ObjFBuilder();
@@ -344,7 +341,7 @@ public class ObjectFile
 
 	if (!haveLoadable) {
 	    logger.log(Level.FINE, "Failed, didn't find any loadable segments.");
-	    throw new lib.dwfl.ElfFileException("Failed, didn't find any loadable segments.");
+	    throw new ElfFileException(file, "Failed, didn't find any loadable segments.");
 	}
 
 	if (eh.type == ElfEHeader.PHEADER_ET_EXEC)
@@ -353,7 +350,7 @@ public class ObjectFile
 	    logger.log(Level.FINER, "This file is DSO or PIE EXECUTABLE.");
 	else {
 	    logger.log(Level.FINE, "Failed, unsupported ELF file type.");
-	    throw new lib.dwfl.ElfFileException("Failed, unsupported ELF file type.");
+	    throw new ElfFileException(file, "Failed, unsupported ELF file type.");
 	}
 
 	boolean foundDynamic = false;
@@ -438,7 +435,7 @@ public class ObjectFile
 	    }
 	    else if (sheader.type == ElfSectionHeader.ELF_SHT_SYMTAB) {
 		if (this.staticSymtab != null)
-		    throw new lib.dwfl.ElfFileException("Strange: More than one static symbol tables.");
+		    throw new ElfFileException(file, "Strange: More than one static symbol tables.");
 		logger.log(Level.FINER, "Found static symtab section `" + sheader.name + "'.");
 		this.staticSymtab = section;
 	    }
@@ -447,23 +444,23 @@ public class ObjectFile
 	if (builder.haveDynamic) {
 	    // Elf consistency sanity checks.
 	    if (!foundDynamic)
-		throw new lib.dwfl.ElfFileException("DYNAMIC section not found in ELF file.");
+		throw new ElfFileException(file, "DYNAMIC section not found in ELF file.");
 	    if (!havePlt)
-		throw new lib.dwfl.ElfFileException("No (suitable) .plt found in ELF file.");
+		throw new ElfFileException(file, "No (suitable) .plt found in ELF file.");
 	    if (!haveRelPlt)
-		throw new lib.dwfl.ElfFileException("No (suitable) .rel.plt found in ELF file.");
+		throw new ElfFileException(file, "No (suitable) .rel.plt found in ELF file.");
 	    if (this.dynamicSymtab == null)
-		throw new lib.dwfl.ElfFileException("Couldn't get SYMTAB from DYNAMIC section.");
+		throw new ElfFileException(file, "Couldn't get SYMTAB from DYNAMIC section.");
 	    if (this.dynamicStrtab == null)
-		throw new lib.dwfl.ElfFileException("Couldn't get STRTAB from DYNAMIC section.");
+		throw new ElfFileException(file, "Couldn't get STRTAB from DYNAMIC section.");
 	    if ((this.dynamicVerneed != null || this.dynamicVerdef != null) && this.dynamicVersym == null)
-		throw new lib.dwfl.ElfFileException("Versym section missing when verdef or verneed present.");
+		throw new ElfFileException(file, "Versym section missing when verdef or verneed present.");
 	    if (this.dynamicVerneed == null && this.dynamicVerdef == null && this.dynamicVersym != null)
-		throw new lib.dwfl.ElfFileException("Versym section present when neither verdef nor verneed present.");
+		throw new ElfFileException(file, "Versym section present when neither verdef nor verneed present.");
 	    if (this.dynamicVerdefCount != 0 && this.dynamicVerdef == null)
-		throw new lib.dwfl.ElfFileException("Strange: VERDEFNUM tag present, but not VERDEF.");
+		throw new ElfFileException(file, "Strange: VERDEFNUM tag present, but not VERDEF.");
 	    if (this.dynamicVerneedCount != 0 && this.dynamicVerneed == null)
-		throw new lib.dwfl.ElfFileException("Strange: VERNEEDNUM tag present, but not VERNEED.");
+		throw new ElfFileException(file, "Strange: VERNEEDNUM tag present, but not VERNEED.");
 	}
 
 	// Read SONAME, if there was one.
@@ -483,9 +480,7 @@ public class ObjectFile
 	logger.log(Level.FINE, "Loading finished successfully.");
     }
 
-    public void eachTracePoint(TracePointIterator client, TracePointOrigin origin)
-	throws lib.dwfl.ElfException
-    {
+    public void eachTracePoint(TracePointIterator client, TracePointOrigin origin) {
 	logger.log(Level.FINE, "Loading tracepoints for origin " + origin + ".");
 	List tracePoints = builder.getTracePoints(origin);
 
@@ -500,9 +495,7 @@ public class ObjectFile
 	logger.log(Level.FINE, "Done processing tracepoints for origin " + origin + ".");
     }
 
-    public TracePoint lookupTracePoint(String name, TracePointOrigin origin)
-	throws lib.dwfl.ElfException
-    {
+    public TracePoint lookupTracePoint(String name, TracePointOrigin origin) {
 	logger.log(Level.FINE, "Looking up tracepoint for `" + name + "' in " + origin + ".");
 	List tracePoints = builder.getTracePoints(origin);
 	for (Iterator it = tracePoints.iterator(); it.hasNext();) {
@@ -513,9 +506,7 @@ public class ObjectFile
 	return null;
     }
 
-    public void eachTracePoint(TracePointIterator client)
-	throws lib.dwfl.ElfException
-    {
+    public void eachTracePoint(TracePointIterator client) {
 	logger.log(Level.FINE, "Load ALL tracepoints.");
 	eachTracePoint(client, TracePointOrigin.PLT);
 	eachTracePoint(client, TracePointOrigin.DYNAMIC);
@@ -608,28 +599,26 @@ public class ObjectFile
 	    return objFile;
 	}
 
+	Elf elfFile;
 	try {
-	    Elf elfFile = new Elf(filename, ElfCommand.ELF_C_READ);
-	    ElfEHeader eh = elfFile.getEHeader();
-	    if (eh == null) {
-		logger.log(Level.FINE, "Failed, couldn't get an ELF header.");
-		return null;
-	    }
-
-	    objFile = new ObjectFile(filename, elfFile, eh);
-	    cachedFiles.put(filename, objFile);
-	    logger.log(Level.FINE, "Done.");
-	    return objFile;
-	}
-	catch (lib.dwfl.ElfFileException efe) {
-	    efe.printStackTrace();
-	    System.err.println("load error: " + efe);
-	}
-	catch (lib.dwfl.ElfException eexp) {
+	    elfFile = new Elf(filename, ElfCommand.ELF_C_READ);
+	} catch (ElfException eexp) {
 	    eexp.printStackTrace();
 	    System.err.println("load error: " + eexp);
+	    return null;
 	}
 
-	return null;
+	ElfEHeader eh;
+	try {
+	    eh = elfFile.getEHeader();
+	} catch (ElfException e) {
+	    logger.log(Level.FINE, "Failed, couldn't get an ELF header.");
+	    return null;
+	}
+
+	objFile = new ObjectFile(filename, elfFile, eh);
+	cachedFiles.put(filename, objFile);
+	logger.log(Level.FINE, "Done.");
+	return objFile;
     }
 }
diff --git a/frysk-core/frysk/ftrace/TestMappingGuard.java b/frysk-core/frysk/ftrace/TestMappingGuard.java
index c31df51..7ee6193 100644
--- a/frysk-core/frysk/ftrace/TestMappingGuard.java
+++ b/frysk-core/frysk/ftrace/TestMappingGuard.java
@@ -76,8 +76,7 @@ public class TestMappingGuard
 	public void addFailed (Object observable, Throwable w) {}
     }
 
-    public void performTestAllLibrariesGetDetected()
-    {
+    private void performTestAllLibrariesGetDetected() {
 	class MyMappingObserver extends DummyMappingObserver {
 	    public ArrayList allLibraries = new ArrayList();
 	    public Action updateMappedFile(frysk.proc.Task task, MemoryMapping mapping) {
diff --git a/frysk-core/frysk/isa/ChangeLog b/frysk-core/frysk/isa/ChangeLog
index 289d224..c4f315a 100644
--- a/frysk-core/frysk/isa/ChangeLog
+++ b/frysk-core/frysk/isa/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-19  Andrew Cagney  <cagney@redhat.com>
+
+	* ElfMap.java: Update to match lib.dwfl.
+
 2007-12-11  Andrew Cagney  <cagney@redhat.com>
 
 	* TestRegisterMap.java: New file.
diff --git a/frysk-core/frysk/isa/ElfMap.java b/frysk-core/frysk/isa/ElfMap.java
index 3e6aedd..b42ca14 100644
--- a/frysk-core/frysk/isa/ElfMap.java
+++ b/frysk-core/frysk/isa/ElfMap.java
@@ -42,9 +42,6 @@ package frysk.isa;
 import lib.dwfl.ElfEMachine;
 import lib.dwfl.ElfEHeader;
 import java.io.File;
-import java.io.IOException;
-import lib.dwfl.ElfException;
-import lib.dwfl.ElfFileException;
 import lib.dwfl.Elf;
 import lib.dwfl.ElfCommand;
 import java.util.Map;
@@ -93,20 +90,11 @@ public final class ElfMap {
 
     public static ISA getISA(File exe) {
 	Elf elfFile;
-	try {
-	    elfFile = new Elf(exe.getCanonicalPath(), ElfCommand.ELF_C_READ);
-	} catch (IOException e) {
-	    throw new RuntimeException("opening " + exe.getPath(), e);
-	} catch (ElfFileException e) {
-	    throw new RuntimeException ("opening " + exe.getPath(), e);
-	} catch (ElfException e) {
-	    throw new RuntimeException ("opening " + exe.getPath(), e);
-	}
+	elfFile = new Elf(exe, ElfCommand.ELF_C_READ);
 	try {
 	    ElfEHeader header = elfFile.getEHeader();
 	    return getISA(header);
-	}
-	finally {
+	} finally {
 	    elfFile.close();
 	}
     }
diff --git a/frysk-core/frysk/isa/corefiles/ChangeLog b/frysk-core/frysk/isa/corefiles/ChangeLog
index f7308cd..4bef327 100644
--- a/frysk-core/frysk/isa/corefiles/ChangeLog
+++ b/frysk-core/frysk/isa/corefiles/ChangeLog
@@ -1,9 +1,19 @@
-2008-02-19  Phil Muldoon  <pmuldoon@redhat.com>
+2008-02-19  Andrew Cagney  <cagney@redhat.com>
 
 	* LinuxElfCorefile.java (buildMap): Add stackOnly
 	logic test.
 	(setStackOnly): New.
 
+2008-02-19  Phil Muldoon  <pmuldoon@redhat.com>
+
+	* IA32LinuxElfCorefile.java: Update to match lib.dwfl.
+	* X8664LinuxElfCorefile.java: Ditto.
+	* PPC64LinuxElfCorefile.java: Ditto.
+	* PPC32LinuxElfCorefile.java: Ditto.
+	* LinuxElfCorefile.java: Ditto.
+	(getElfEndianType()): Delete.
+	(getElfWordSize()): Delete.
+
 2008-02-15  Phil Muldoon  <pmuldoon@redhat.com>
 
 	* PPC64LinuxElfCorefile.java (writeNotePrpsinfo): Fix
diff --git a/frysk-core/frysk/isa/corefiles/IA32LinuxElfCorefile.java b/frysk-core/frysk/isa/corefiles/IA32LinuxElfCorefile.java
index 3c48481..56d0b77 100644
--- a/frysk-core/frysk/isa/corefiles/IA32LinuxElfCorefile.java
+++ b/frysk-core/frysk/isa/corefiles/IA32LinuxElfCorefile.java
@@ -320,7 +320,7 @@ public class IA32LinuxElfCorefile extends LinuxElfCorefile {
      * @see frysk.util.LinuxElfCorefile#getElfMachineClass()
      */
     protected byte getElfMachineClass() {
-	return ElfEHeader.PHEADER_ELFCLASS32;
+	return ElfEHeader.CLASS32;
     }
 
 }
diff --git a/frysk-core/frysk/isa/corefiles/LinuxElfCorefile.java b/frysk-core/frysk/isa/corefiles/LinuxElfCorefile.java
index 1bda4b3..c142874 100644
--- a/frysk-core/frysk/isa/corefiles/LinuxElfCorefile.java
+++ b/frysk-core/frysk/isa/corefiles/LinuxElfCorefile.java
@@ -40,7 +40,6 @@
 package frysk.isa.corefiles;
 
 import frysk.sys.ProcessIdentifierFactory;
-import inua.eio.ByteOrder;
 import frysk.isa.ISA;
 import java.util.ArrayList;
 import java.util.List;
@@ -49,8 +48,6 @@ import lib.dwfl.DwflModule;
 import lib.dwfl.Elf;
 import lib.dwfl.ElfCommand;
 import lib.dwfl.ElfEHeader;
-import lib.dwfl.ElfException;
-import lib.dwfl.ElfFileException;
 import lib.dwfl.ElfNhdr;
 import lib.dwfl.ElfPHeader;
 import frysk.dwfl.DwflCache;
@@ -59,6 +56,7 @@ import frysk.proc.Proc;
 import frysk.proc.Task;
 import frysk.sys.StatelessFile;
 import frysk.sys.proc.MapsBuilder;
+import java.io.File;
 
 public abstract class LinuxElfCorefile {
 
@@ -180,10 +178,7 @@ public abstract class LinuxElfCorefile {
 	builder.construct(ProcessIdentifierFactory.create(this.process.getMainTask().getTid()));
 
 	// Write elf file
-	final long i = linuxElfCorefileImage.update(ElfCommand.ELF_C_WRITE);
-	if (i < 0)
-	    throw new RuntimeException("LibElf elf_update failed with "
-		    + linuxElfCorefileImage.getLastErrorMsg());
+	linuxElfCorefileImage.update(ElfCommand.ELF_C_WRITE);
 	// Go home.
 	linuxElfCorefileImage.close();
 	
@@ -236,31 +231,6 @@ public abstract class LinuxElfCorefile {
 	StatelessFile rawCore = new StatelessFile(name);
 	rawCore.pwrite(offset, data, 0, data.length);
     }
-    /**
-     * Return the endian type as associated by this ISA
-     * 
-     * @return byte - endian type.
-     */
-    protected byte getElfEndianType() {
-	ISA currentArch = process.getMainTask().getISA();
-	ByteOrder order = currentArch.order();
-	if (order == ByteOrder.BIG_ENDIAN)
-	    return ElfEHeader.PHEADER_ELFDATA2MSB;
-	else
-	    return ElfEHeader.PHEADER_ELFDATA2LSB;
-    }
-
-    /**
-     * 
-     * Return the word size as represented by this ISA
-     * 
-     * @return int - size of word
-     * 
-     */
-    protected int getElfWordSize() {
-	ISA currentArch = process.getMainTask().getISA();
-	return currentArch.wordSize();
-    }
 
     /**
      * writeNotePrpsInfo
@@ -451,37 +421,33 @@ public abstract class LinuxElfCorefile {
      * @return int size of the elf header
      */
     protected int populateElfHeader(Elf elfCore) {
+	ISA isa = process.getMainTask().getISA();
 
-	elfCore.createNewEHeader(getElfWordSize());
-	ElfEHeader elf_header = elfCore.getEHeader();
-
-	elf_header.ident[4] = getElfMachineClass();
-	elf_header.ident[5] = getElfEndianType();


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]