From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13111 invoked by alias); 6 Jun 2008 20:05:47 -0000 Received: (qmail 13079 invoked by uid 367); 6 Jun 2008 20:05:41 -0000 Date: Fri, 06 Jun 2008 20:05:00 -0000 Message-ID: <20080606200541.13064.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Handle difference between JNI and CNI's LocalMemory module names. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 2dd0f7cccb6b3ab1ee506033388fa083b342d507 X-Git-Newrev: 02ae0f21ab019d5d002da565721e2e3d26a275a7 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q2/txt/msg00350.txt.bz2 The branch, master has been updated via 02ae0f21ab019d5d002da565721e2e3d26a275a7 (commit) from 2dd0f7cccb6b3ab1ee506033388fa083b342d507 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 02ae0f21ab019d5d002da565721e2e3d26a275a7 Author: Andrew Cagney Date: Fri Jun 6 16:03:46 2008 -0400 Handle difference between JNI and CNI's LocalMemory module names. frysk-sys/frysk/testbed/ChangeLog 2008-06-06 Andrew Cagney * LocalMemory.java (getModuleName()): New. * jni/LocalMemory.cxx: Implement. * cni/LocalMemory.cxx: Implement. frysk-sys/lib/dwfl/ChangeLog 2008-06-06 Andrew Cagney * TestDwarfDie.java (testGetModule()): Use LocalMemory .getModuleName. ----------------------------------------------------------------------- Summary of changes: frysk-sys/frysk/testbed/ChangeLog | 6 ++++++ frysk-sys/frysk/testbed/LocalMemory.java | 6 ++++++ frysk-sys/frysk/testbed/cni/LocalMemory.cxx | 26 ++++++++++++++++++-------- frysk-sys/frysk/testbed/jni/LocalMemory.cxx | 24 +++++++++++++++--------- frysk-sys/lib/dwfl/ChangeLog | 3 +++ frysk-sys/lib/dwfl/TestDwarfDie.java | 3 ++- 6 files changed, 50 insertions(+), 18 deletions(-) First 500 lines of diff: diff --git a/frysk-sys/frysk/testbed/ChangeLog b/frysk-sys/frysk/testbed/ChangeLog index 6d16666..60bdb8a 100644 --- a/frysk-sys/frysk/testbed/ChangeLog +++ b/frysk-sys/frysk/testbed/ChangeLog @@ -1,3 +1,9 @@ +2008-06-06 Andrew Cagney + + * LocalMemory.java (getModuleName()): New. + * jni/LocalMemory.cxx: Implement. + * cni/LocalMemory.cxx: Implement. + 2008-06-05 Andrew Cagney * LocalMemory.java (getCodeName()): New. diff --git a/frysk-sys/frysk/testbed/LocalMemory.java b/frysk-sys/frysk/testbed/LocalMemory.java index 5a171dd..c79f331 100644 --- a/frysk-sys/frysk/testbed/LocalMemory.java +++ b/frysk-sys/frysk/testbed/LocalMemory.java @@ -48,6 +48,12 @@ package frysk.testbed; public class LocalMemory { /** + * Return the basename of the shared library or executable that + * contains the LocalMemory. + */ + public static native String getModuleName(); + + /** * Returns the address of a bunch of data. */ public static native long getDataAddr(); diff --git a/frysk-sys/frysk/testbed/cni/LocalMemory.cxx b/frysk-sys/frysk/testbed/cni/LocalMemory.cxx index 5730980..f2944ea 100644 --- a/frysk-sys/frysk/testbed/cni/LocalMemory.cxx +++ b/frysk-sys/frysk/testbed/cni/LocalMemory.cxx @@ -46,6 +46,8 @@ #include "frysk/testbed/LocalMemory.h" #include "frysk/testbed/LocalMemory$StackBuilder.h" +using namespace frysk::testbed; + static jbyteArray getBytes(void *addr, size_t length) { jbyteArray bytes = JvNewByteArray(length); @@ -61,12 +63,12 @@ struct m { } memory = { 43, 45, 42, 44 }; jlong -frysk::testbed::LocalMemory::getDataAddr() { +LocalMemory::getDataAddr() { return (jlong) &memory; } jbyteArray -frysk::testbed::LocalMemory::getDataBytes() { +LocalMemory::getDataBytes() { return getBytes(&memory, sizeof(memory)); } @@ -79,17 +81,17 @@ extern "C" { } jstring -frysk::testbed::LocalMemory::getCodeName() { +LocalMemory::getCodeName() { return JvNewStringUTF("codeLine"); } jint -frysk::testbed::LocalMemory::getCodeLine() { +LocalMemory::getCodeLine() { return codeLine(); } jstring -frysk::testbed::LocalMemory::getCodeFile() { +LocalMemory::getCodeFile() { return JvNewStringUTF (__FILE__); } @@ -103,20 +105,28 @@ codeAddr() { } jlong -frysk::testbed::LocalMemory::getCodeAddr() { +LocalMemory::getCodeAddr() { return (jlong)codeAddr(); } jbyteArray -frysk::testbed::LocalMemory::getCodeBytes() { +LocalMemory::getCodeBytes() { return getBytes(codeAddr(), sizeof(memory)); } void -frysk::testbed::LocalMemory::constructStack(frysk::testbed::LocalMemory$StackBuilder* builder) { +LocalMemory::constructStack(LocalMemory$StackBuilder* builder) { // Copy known data onto the stack. uint8_t addr[sizeof(memory)]; memcpy(addr, &memory, sizeof(memory)); jbyteArray bytes = getBytes(addr, sizeof(memory)); builder->stack((jlong)addr, bytes); } + +jstring +LocalMemory::getModuleName() { + // XXX: Should account for build-tree TestRunner vs install tree + // funit, but not important as this CNI implementation will shortly + // be deleted. + return JvNewStringUTF("TestRunner"); +} diff --git a/frysk-sys/frysk/testbed/jni/LocalMemory.cxx b/frysk-sys/frysk/testbed/jni/LocalMemory.cxx index 02c7c6f..840e129 100644 --- a/frysk-sys/frysk/testbed/jni/LocalMemory.cxx +++ b/frysk-sys/frysk/testbed/jni/LocalMemory.cxx @@ -45,6 +45,7 @@ #include "jnixx/exceptions.hxx" using namespace java::lang; +using namespace frysk::testbed; static ::jnixx::jbyteArray getBytes(::jnixx::env env, void *addr, size_t length) { @@ -61,12 +62,12 @@ struct m { } memory = { 43, 45, 42, 44 }; jlong -frysk::testbed::LocalMemory::getDataAddr(::jnixx::env) { +LocalMemory::getDataAddr(::jnixx::env) { return (jlong) &memory; } ::jnixx::jbyteArray -frysk::testbed::LocalMemory::getDataBytes(::jnixx::env env) { +LocalMemory::getDataBytes(::jnixx::env env) { return getBytes(env, &memory, sizeof(memory)); } @@ -79,17 +80,17 @@ extern "C" { } String -frysk::testbed::LocalMemory::getCodeName(jnixx::env env) { +LocalMemory::getCodeName(jnixx::env env) { return String::NewStringUTF(env, "codeLine"); } jint -frysk::testbed::LocalMemory::getCodeLine(::jnixx::env) { +LocalMemory::getCodeLine(::jnixx::env) { return codeLine(); } String -frysk::testbed::LocalMemory::getCodeFile(::jnixx::env env) { +LocalMemory::getCodeFile(::jnixx::env env) { return String::NewStringUTF(env, __FILE__); } @@ -103,21 +104,26 @@ codeAddr() { } jlong -frysk::testbed::LocalMemory::getCodeAddr(::jnixx::env) { +LocalMemory::getCodeAddr(::jnixx::env) { return (jlong)codeAddr(); } ::jnixx::jbyteArray -frysk::testbed::LocalMemory::getCodeBytes(::jnixx::env env) { +LocalMemory::getCodeBytes(::jnixx::env env) { return getBytes(env, codeAddr(), sizeof(memory)); } void -frysk::testbed::LocalMemory::constructStack(::jnixx::env env, - frysk::testbed::LocalMemory$StackBuilder builder) { +LocalMemory::constructStack(::jnixx::env env, + LocalMemory$StackBuilder builder) { // Copy known data onto the stack. uint8_t addr[sizeof(memory)]; memcpy(addr, &memory, sizeof(memory)); ::jnixx::jbyteArray bytes = getBytes(env, addr, sizeof(memory)); builder.stack(env, (jlong)addr, bytes); } + +String +LocalMemory::getModuleName(::jnixx::env env) { + return String::NewStringUTF(env, "libfrysk-sys-jni.so"); +} diff --git a/frysk-sys/lib/dwfl/ChangeLog b/frysk-sys/lib/dwfl/ChangeLog index 4559519..101e9c2 100644 --- a/frysk-sys/lib/dwfl/ChangeLog +++ b/frysk-sys/lib/dwfl/ChangeLog @@ -1,5 +1,8 @@ 2008-06-06 Andrew Cagney + * TestDwarfDie.java (testGetModule()): Use LocalMemory + .getModuleName. + * DwflDie.java (getScopes()): New. (getBias()): Delete. * TestDwfl.java: Let DwflDie adjust for bias. diff --git a/frysk-sys/lib/dwfl/TestDwarfDie.java b/frysk-sys/lib/dwfl/TestDwarfDie.java index 3608272..3d18a0c 100644 --- a/frysk-sys/lib/dwfl/TestDwarfDie.java +++ b/frysk-sys/lib/dwfl/TestDwarfDie.java @@ -93,7 +93,8 @@ public class TestDwarfDie extends TestCase { DwflModule dwflModule = die.getModule(); assertNotNull(dwflModule); - assertTrue("Found correct module", dwflModule.getName().contains("TestRunner")); + assertTrue("Found correct module", + dwflModule.getName().contains(LocalMemory.getModuleName())); } public void testGetOffset(){ hooks/post-receive -- frysk system monitor/debugger