This is the mail archive of the
frysk-cvs@sources.redhat.com
mailing list for the frysk project.
frysk-core/frysk/proc/corefile ChangeLog Coref ...
- From: pmuldoon at sourceware dot org
- To: frysk-cvs at sourceware dot org
- Date: 13 Jun 2007 22:17:24 -0000
- Subject: frysk-core/frysk/proc/corefile ChangeLog Coref ...
- Reply-to: frysk at sourceware dot org
CVSROOT: /cvs/frysk
Module name: frysk-core
Changes by: pmuldoon@sourceware.org 2007-06-13 22:17:24
Modified files:
frysk/proc/corefile: ChangeLog CorefileByteBuffer.java
LinuxHost.java LinuxProc.java
LinuxProcState.java TestLinuxCore.java
Added files:
frysk/proc/corefile: LinkmapBuilder.java MapAddressHeader.java
SOLibMapBuilder.java
Log message:
2007-06-13 Phil Muldoon <pmuldoon@redhat.com>
* MapAddressHeader.java: New.
* LinkmapBuilder.java: New.
* SOLibMapBuilder.java: New.
* CorefileByteBuffer.java (MapAddress): Delete. Use
MapAddressHeader instead.
(CorefileByteBuffer): Add a parameter to take meta data.
Do not attempt to construct own meta data.
Set Endian and Word size for data read from elf header.
(CorefileByteBuffer(File)): Build own meta data.
(peek): Rewrite. Navigate provided meta data to find the peek
offset and the file name of that offset.
(buildElfMaps): Rewrite using MapAddressHeader.
(isFileSane): Simplify. Check for null on backing
corefile.
(findMetaData): New. Consolidate all meta data look-ups
here.
(checkCorefileAddress): New. Answer whether this data is in the
core file, or whether the buffer has to revert to the solib.
(convertAddresstoOffset): Use MapAddressHeader.
(openCoreFileElf): New.
(closeCoreFileElf): New.
(setEndianWordSize): New. Set word and endian size for buffer
from the core file elf header.
* LinuxHost.java (LinuxHost): Add backing exe and core file
references.
(LinuxHost): New constructor that takes an exe path.
* LinuxProc.java (LinuxProc): Add backing exe reference.
Add metaData[] store and boolean to indicate meta data built.
Derive executable name from corefile is unspecified.
(getCommand): Deleted. Unused.
(sendrecExe): Rewrite to derive exe and full path from
sendrecCmdLine.
(getMemory): Check if meta data is built. If not, build it.
(sendrecMaps): Implement. Build meta data if needed, and
refactor data into MemoryMap format.
(constructMetaData): New.Bake either basic or rich meta
data.
(constructBasicMapMetaData): New. Bake basic meta data only from
the core file.
(constructEnhandedMapMetaData): New. Bake rich meta data from
the basic meta data and the solibs found in the backing exe's
linkmap.
(isExeProvided): New. Return whether exe backing is provided.
(getDynamicSegmentAddress): New. Return tuple of core file
dynamic segment address and size.
(getExeDynamicSegmentAddress): New. Get backing exe dynamic segment's
address.
(getLinkmapAddress): New. Get the address of the linkmap table, as
derived from the dynamic segment.
(getExeEntryPoint): New. Return the backing exe's entry point.
(getExeInterpreterAddress): New. Return the address of the backing
exe's interpreter.
(getExeInterpreterName): New. Return the name of the backing
exe's interpreter.
(getCorefileEntryPoint): New. Return the entry point of the
backing core file.
(getCorefileVDSOAddress): New. Return the address of the VDSO
segment in this corefile.
(openElf): New. Helper function to open elf files.
(DynamicSegmentTuple): New. Private class to hold dynamic segment
location information.
(Linkmap): New. Private class to hold the linkmap table
information.
* LinuxProcState.java (handleTaskDetachCompleted, handleDetach):
Handle detach requests.
* TestLinuxCore.java (testLinuxCoreFileMaps): New.
(testLinuxCoreFileStackTrace): New.
(giveMeAProc): New.
(ConstructCore): New.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/LinkmapBuilder.java.diff?cvsroot=frysk&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/MapAddressHeader.java.diff?cvsroot=frysk&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/SOLibMapBuilder.java.diff?cvsroot=frysk&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/ChangeLog.diff?cvsroot=frysk&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/CorefileByteBuffer.java.diff?cvsroot=frysk&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/LinuxHost.java.diff?cvsroot=frysk&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/LinuxProc.java.diff?cvsroot=frysk&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/LinuxProcState.java.diff?cvsroot=frysk&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/corefile/TestLinuxCore.java.diff?cvsroot=frysk&r1=1.2&r2=1.3