public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Handle difference between JNI and CNI's LocalMemory module names. Date: Fri, 06 Jun 2008 20:05:00 -0000 [thread overview] Message-ID: <20080606200541.13064.qmail@sourceware.org> (raw) 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 <cagney@redhat.com> 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 <cagney@redhat.com> * LocalMemory.java (getModuleName()): New. * jni/LocalMemory.cxx: Implement. * cni/LocalMemory.cxx: Implement. frysk-sys/lib/dwfl/ChangeLog 2008-06-06 Andrew Cagney <cagney@redhat.com> * 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 <cagney@redhat.com> + + * LocalMemory.java (getModuleName()): New. + * jni/LocalMemory.cxx: Implement. + * cni/LocalMemory.cxx: Implement. + 2008-06-05 Andrew Cagney <cagney@redhat.com> * 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 <cagney@redhat.com> + * 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
reply other threads:[~2008-06-06 20:05 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=20080606200541.13064.qmail@sourceware.org \ --to=cagney@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: linkBe 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).