From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27163 invoked by alias); 18 Jun 2008 13:21:36 -0000 Received: (qmail 27133 invoked by uid 367); 18 Jun 2008 13:21:36 -0000 Date: Wed, 18 Jun 2008 13:21:00 -0000 Message-ID: <20080618132136.27118.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Load libaudit.so. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: a9edfdc3af7ed0d14c1dd2108817bb578df5a2bb X-Git-Newrev: aa7ad2daa6bd5e33ba0b5dce6dceb3df009b6f15 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/msg00379.txt.bz2 The branch, master has been updated via aa7ad2daa6bd5e33ba0b5dce6dceb3df009b6f15 (commit) via 95377e3ed2f0f8dc2ea1969e382d464485d99a26 (commit) from a9edfdc3af7ed0d14c1dd2108817bb578df5a2bb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit aa7ad2daa6bd5e33ba0b5dce6dceb3df009b6f15 Author: Andrew Cagney Date: Tue Jun 17 00:22:54 2008 -0400 Load libaudit.so. frysk-common/ChangeLog 2008-06-17 Andrew Cagney * Makefile.rules (Runner): Load libaudit.so. commit 95377e3ed2f0f8dc2ea1969e382d464485d99a26 Author: Andrew Cagney Date: Tue Jun 17 00:13:05 2008 -0400 Implement missing jni/get_cu_dies. frysk-sys/lib/dwfl/ChangeLog 2008-06-16 Andrew Cagney * DwflModule.java (get_cu_dies): Add pointer parameter. * cni/DwflModule.cxx (DwflModule::get_cu_dies): Update. * jni/DwflModule.cxx (DwflModule::get_cu_dies): Implement, missing. ----------------------------------------------------------------------- Summary of changes: frysk-common/ChangeLog | 4 +++ frysk-common/Makefile.rules | 3 +- frysk-sys/lib/dwfl/ChangeLog | 6 ++++ frysk-sys/lib/dwfl/DwflModule.java | 9 ++++-- frysk-sys/lib/dwfl/cni/DwflModule.cxx | 45 ++++++++++++-------------------- frysk-sys/lib/dwfl/jni/DwflModule.cxx | 18 +++++++++++++ 6 files changed, 53 insertions(+), 32 deletions(-) First 500 lines of diff: diff --git a/frysk-common/ChangeLog b/frysk-common/ChangeLog index 8d1b606..da3952f 100644 --- a/frysk-common/ChangeLog +++ b/frysk-common/ChangeLog @@ -1,3 +1,7 @@ +2008-06-17 Andrew Cagney + + * Makefile.rules (Runner): Load libaudit.so. + 2008-06-09 Andrew Cagney * Makefile.rules (Runner): (Really) Let JAVA be overwritten by an diff --git a/frysk-common/Makefile.rules b/frysk-common/Makefile.rules index 7f30cd3..321f510 100644 --- a/frysk-common/Makefile.rules +++ b/frysk-common/Makefile.rules @@ -407,7 +407,8 @@ Runner: echo "\$${libunwind}-ppc32/src/.libs/libunwind-ppc32.so\\ \\" >> $@.tmp echo "\$${libunwind}-ppc64/src/.libs/libunwind-ppc64.so\\ \\" >> $@.tmp echo "\$${libunwind}-x86_64/src/.libs/libunwind-x86_64.so\\ \\" >> $@.tmp - echo "libstdc++.so.6" >> $@.tmp + echo "libstdc++.so.6\\ \\" >> $@.tmp + echo "libaudit.so" >> $@.tmp echo "" >> $@.tmp echo "# hack to hopefully find the right libstdc++.so" >> $@.tmp echo "export LD_LIBRARY_PATH=$(frysk_sys)\\" >> $@.tmp diff --git a/frysk-sys/lib/dwfl/ChangeLog b/frysk-sys/lib/dwfl/ChangeLog index c44bebe..6e7a384 100644 --- a/frysk-sys/lib/dwfl/ChangeLog +++ b/frysk-sys/lib/dwfl/ChangeLog @@ -1,3 +1,9 @@ +2008-06-16 Andrew Cagney + + * DwflModule.java (get_cu_dies): Add pointer parameter. + * cni/DwflModule.cxx (DwflModule::get_cu_dies): Update. + * jni/DwflModule.cxx (DwflModule::get_cu_dies): Implement, missing. + 2008-06-15 Andrew Cagney * DwarfDie.java (get_scopevar): Return an int. diff --git a/frysk-sys/lib/dwfl/DwflModule.java b/frysk-sys/lib/dwfl/DwflModule.java index b262ec4..01b728c 100644 --- a/frysk-sys/lib/dwfl/DwflModule.java +++ b/frysk-sys/lib/dwfl/DwflModule.java @@ -40,6 +40,7 @@ package lib.dwfl; import java.util.LinkedList; +import java.util.List; /** * A wrapper object around the libdwfl Dwfl_Module structure. @@ -142,10 +143,12 @@ public class DwflModule { */ public native String getDebuginfo(); - public LinkedList getCuDies(){ - return get_cu_dies(); + public List getCuDies(){ + List list = new LinkedList(); + get_cu_dies(pointer, list); + return list; } - private native LinkedList get_cu_dies(); + private static native void get_cu_dies(long pointer, List list); public DwflDie getCompilationUnit(long addr) { // Find the die, grab the bias as it flies by. diff --git a/frysk-sys/lib/dwfl/cni/DwflModule.cxx b/frysk-sys/lib/dwfl/cni/DwflModule.cxx index ad85344..7f252bc 100644 --- a/frysk-sys/lib/dwfl/cni/DwflModule.cxx +++ b/frysk-sys/lib/dwfl/cni/DwflModule.cxx @@ -45,6 +45,9 @@ #include +#include + + #include "lib/dwfl/DwflModule.h" #include "lib/dwfl/DwarfDie.h" #include "lib/dwfl/DwflLine.h" @@ -443,35 +446,21 @@ lib::dwfl::DwflModule::offdie(jlong die, jlong offset){ return dwarfDie; } -java::util::LinkedList* -lib::dwfl::DwflModule::get_cu_dies() -{ - - java::util::LinkedList* list = new java::util::LinkedList(); - - Dwarf_Die* cu; - Dwarf_Die lastcu; - Dwarf_Addr bias; - - cu = dwfl_module_nextcu((::Dwfl_Module*)this->pointer, NULL, &bias); - - fflush(stdout); - while ( cu != NULL){ - +void +lib::dwfl::DwflModule::get_cu_dies(jlong pointer, + java::util::List *list) { + Dwarf_Die* cu; + Dwarf_Addr bias; + cu = dwfl_module_nextcu(DWFL_MODULE_POINTER, NULL, &bias); + while (cu != NULL) { Dwarf_Die *die = (Dwarf_Die*)JvMalloc(sizeof(Dwarf_Die)); - - memcpy(die, cu, sizeof(*die)); - lib::dwfl::DwarfDie* cuDie = lib::dwfl::DwarfDieFactory::getFactory()->makeDie((jlong)die, NULL); - cuDie->setManageDie(true); - - list->add(cuDie); - - memcpy(&lastcu, cu, sizeof(*cu)); - cu = dwfl_module_nextcu((::Dwfl_Module*)this->pointer, &lastcu, &bias); - - } - - return list; + memcpy(die, cu, sizeof(*die)); + lib::dwfl::DwarfDie* cuDie + = lib::dwfl::DwarfDieFactory::getFactory()->makeDie((jlong)die, NULL); + cuDie->setManageDie(true); + list->add(cuDie); + cu = dwfl_module_nextcu(DWFL_MODULE_POINTER, cu, &bias); + } } jlong diff --git a/frysk-sys/lib/dwfl/jni/DwflModule.cxx b/frysk-sys/lib/dwfl/jni/DwflModule.cxx index 09092ce..ca42e43 100644 --- a/frysk-sys/lib/dwfl/jni/DwflModule.cxx +++ b/frysk-sys/lib/dwfl/jni/DwflModule.cxx @@ -396,6 +396,24 @@ lib::dwfl::DwflModule::offdie(jnixx::env env, jlong die, jlong offset) { return dwarfDie; } +void +lib::dwfl::DwflModule::get_cu_dies(::jnixx::env env, jlong pointer, + java::util::List list) { + Dwarf_Die* cu; + Dwarf_Addr bias; + cu = dwfl_module_nextcu(DWFL_MODULE_POINTER, NULL, &bias); + + while (cu != NULL) { + Dwarf_Die *die = (Dwarf_Die*)::malloc(sizeof(Dwarf_Die)); + memcpy(die, cu, sizeof(*die)); + lib::dwfl::DwarfDie cuDie + = lib::dwfl::DwarfDieFactory::getFactory(env).makeDie(env, (jlong)die, lib::dwfl::DwflModule(env, NULL)); + cuDie.setManageDie(env, true); + list.add(env, cuDie); + cu = dwfl_module_nextcu(DWFL_MODULE_POINTER, cu, &bias); + } +} + jlong lib::dwfl::DwflModule::dwflModuleAddrdie(jnixx::env env, jlong pointer, jlong addr) { hooks/post-receive -- frysk system monitor/debugger