public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: For JNI link in libelf and libdw. Date: Mon, 26 May 2008 19:22:00 -0000 [thread overview] Message-ID: <20080526192223.27080.qmail@sourceware.org> (raw) The branch, master has been updated via fb8fcd60afcbedee536157c09b1b77a69d7e8fa0 (commit) via 6f92530fe3aa15b5397a424d87fc413494ddc430 (commit) via 256e575785d5bfd77e76e7f8b1d006cac5036eb6 (commit) from 24f79f595d4d0b1123dc6270f76de92f3b0b9ad4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit fb8fcd60afcbedee536157c09b1b77a69d7e8fa0 Author: Andrew Cagney <cagney@redhat.com> Date: Mon May 26 15:20:58 2008 -0400 For JNI link in libelf and libdw. frysk-sys/ChangeLog 2008-05-26 Andrew Cagney <cagney@redhat.com> * Makefile.am (JniRunner): Load libdw and libelf. commit 6f92530fe3aa15b5397a424d87fc413494ddc430 Author: Andrew Cagney <cagney@redhat.com> Date: Mon May 26 14:40:31 2008 -0400 Delete unused extern internal_buffer declaration. frysk-sys/lib/dwfl/ChangeLog 2008-05-26 Andrew Cagney <cagney@redhat.com> * cni/ElfData.cxx (internal_buffer): Delete extern declaration. * jni/ElfData.cxx (internal_buffer): Update. commit 256e575785d5bfd77e76e7f8b1d006cac5036eb6 Author: Andrew Cagney <cagney@redhat.com> Date: Mon May 26 14:35:23 2008 -0400 Delete stray cni extern declaration; never referenced. frysk-sys/lib/dwfl/ChangeLog 2008-05-26 Andrew Cagney <cagney@redhat.com> * cni/ElfPrstatus.cxx (internalThreads): Delete extern declaration. * jni/ElfPrXFPRegSet.cxx (internalThreads): Ditto. * jni/ElfPrFPRegSet.cxx (internalThreads): Ditto. * jni/ElfPrstatus.cxx (internalThreads): Ditto. * cni/ElfPrFPRegSet.cxx (internalThreads): Ditto. * cni/ElfPrXFPRegSet.cxx (internalThreads): Ditto. ----------------------------------------------------------------------- Summary of changes: frysk-sys/ChangeLog | 2 ++ frysk-sys/Makefile.am | 9 +++++++-- frysk-sys/lib/dwfl/ChangeLog | 10 ++++++++++ frysk-sys/lib/dwfl/cni/ElfData.cxx | 5 +---- frysk-sys/lib/dwfl/cni/ElfPrFPRegSet.cxx | 3 +-- frysk-sys/lib/dwfl/cni/ElfPrXFPRegSet.cxx | 3 +-- frysk-sys/lib/dwfl/cni/ElfPrstatus.cxx | 3 +-- frysk-sys/lib/dwfl/jni/ElfData.cxx | 5 +---- frysk-sys/lib/dwfl/jni/ElfPrFPRegSet.cxx | 4 +--- frysk-sys/lib/dwfl/jni/ElfPrXFPRegSet.cxx | 3 +-- frysk-sys/lib/dwfl/jni/ElfPrstatus.cxx | 4 +--- 11 files changed, 27 insertions(+), 24 deletions(-) First 500 lines of diff: diff --git a/frysk-sys/ChangeLog b/frysk-sys/ChangeLog index 89258b2..16a563b 100644 --- a/frysk-sys/ChangeLog +++ b/frysk-sys/ChangeLog @@ -1,5 +1,7 @@ 2008-05-26 Andrew Cagney <cagney@redhat.com> + * Makefile.am (JniRunner): Load libdw and libelf. + * Makefile.am (JNIXX_CLASSES): Add DwAttributeNotFoundException, ElfException, and java.lang.Long. diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am index 10221c5..2e342ed 100644 --- a/frysk-sys/Makefile.am +++ b/frysk-sys/Makefile.am @@ -89,9 +89,14 @@ CLEANFILES += JniRunner JniRunner: | frysk-sys.jar libfrysk-sys-jni.so rm -f $@.tmp echo "#!/bin/sh" >> $@.tmp - echo "export LD_PRELOAD=libstdc++.so.6" >> $@.tmp + echo "export LD_PRELOAD=\"libstdc++.so.6 libdw.so libelf.so\"" >> $@.tmp echo "# hack to hopefully find the right libstdc++.so" >> $@.tmp - echo "export LD_LIBRARY_PATH=.:/usr/lib64:/usr/lib" >> $@.tmp + echo "export LD_LIBRARY_PATH=.\\" >> $@.tmp + echo ":$$(cd ../frysk-imports/elfutils/libdw && pwd)\\" >> $@.tmp + echo ":$$(cd ../frysk-imports/elfutils/libelf && pwd)\\" >> $@.tmp + echo ":$$(cd ../frysk-imports/elfutils/backends && pwd)\\" >> $@.tmp + echo ":/usr/lib64\\" >> $@.tmp + echo ":/usr/lib" >> $@.tmp echo "export CLASSPATH=\\" >> $@.tmp echo "$(CLASSPATH):frysk-sys.jar:JniRunner.jar" >> $@.tmp echo "if test \$$# -eq 0 ; then" >> $@.tmp diff --git a/frysk-sys/lib/dwfl/ChangeLog b/frysk-sys/lib/dwfl/ChangeLog index d16b387..29ea8b2 100644 --- a/frysk-sys/lib/dwfl/ChangeLog +++ b/frysk-sys/lib/dwfl/ChangeLog @@ -1,5 +1,15 @@ 2008-05-26 Andrew Cagney <cagney@redhat.com> + * cni/ElfData.cxx (internal_buffer): Delete extern declaration. + * jni/ElfData.cxx (internal_buffer): Update. + + * cni/ElfPrstatus.cxx (internalThreads): Delete extern declaration. + * jni/ElfPrXFPRegSet.cxx (internalThreads): Ditto. + * jni/ElfPrFPRegSet.cxx (internalThreads): Ditto. + * jni/ElfPrstatus.cxx (internalThreads): Ditto. + * cni/ElfPrFPRegSet.cxx (internalThreads): Ditto. + * cni/ElfPrXFPRegSet.cxx (internalThreads): Ditto. + * jni/ElfSymbol.cxx: Implement. * jni/ElfSection.cxx: Implement. * jni/ElfRel.cxx: Implement. diff --git a/frysk-sys/lib/dwfl/cni/ElfData.cxx b/frysk-sys/lib/dwfl/cni/ElfData.cxx index d0f49e5..bb1f971 100644 --- a/frysk-sys/lib/dwfl/cni/ElfData.cxx +++ b/frysk-sys/lib/dwfl/cni/ElfData.cxx @@ -92,11 +92,8 @@ lib::dwfl::ElfData::getBytes() return ret; } -extern jbyteArray internal_buffer; - void -lib::dwfl::ElfData::elf_data_set_buff (jlong size){ - +lib::dwfl::ElfData::elf_data_set_buff(jlong size) { jbyte *bytes = elements(internal_buffer); ((Elf_Data*) this->pointer)->d_buf = bytes; ((Elf_Data*) this->pointer)->d_size = size; diff --git a/frysk-sys/lib/dwfl/cni/ElfPrFPRegSet.cxx b/frysk-sys/lib/dwfl/cni/ElfPrFPRegSet.cxx index 63a7834..86f8dae 100644 --- a/frysk-sys/lib/dwfl/cni/ElfPrFPRegSet.cxx +++ b/frysk-sys/lib/dwfl/cni/ElfPrFPRegSet.cxx @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2006, 2007, Red Hat, Inc. +// Copyright 2006, 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 @@ -83,7 +83,6 @@ lib::dwfl::ElfPrFPRegSet::fillMemRegion(jbyteArray buffer, jlong startAddress) return this->raw_registers->length; } -extern ArrayList internalThreads; jlong lib::dwfl::ElfPrFPRegSet::getNoteData(ElfData *data) { void *elf_data = ((Elf_Data*)data->getPointer())->d_buf; diff --git a/frysk-sys/lib/dwfl/cni/ElfPrXFPRegSet.cxx b/frysk-sys/lib/dwfl/cni/ElfPrXFPRegSet.cxx index 5268a78..6a38485 100644 --- a/frysk-sys/lib/dwfl/cni/ElfPrXFPRegSet.cxx +++ b/frysk-sys/lib/dwfl/cni/ElfPrXFPRegSet.cxx @@ -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 @@ -87,7 +87,6 @@ lib::dwfl::ElfPrXFPRegSet::fillMemRegion(jbyteArray buffer, jlong startAddress) return this->raw_registers->length; } -extern ArrayList internalThreads; jlong lib::dwfl::ElfPrXFPRegSet::getNoteData(ElfData *data) { void *elf_data = ((Elf_Data*)data->getPointer())->d_buf; diff --git a/frysk-sys/lib/dwfl/cni/ElfPrstatus.cxx b/frysk-sys/lib/dwfl/cni/ElfPrstatus.cxx index 36f60e4..9696225 100644 --- a/frysk-sys/lib/dwfl/cni/ElfPrstatus.cxx +++ b/frysk-sys/lib/dwfl/cni/ElfPrstatus.cxx @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2006,2007 Red Hat, Inc. +// Copyright 2006, 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 @@ -263,7 +263,6 @@ lib::dwfl::ElfPrstatus::fillMemRegion(jbyteArray buffer, jlong startAddress) } -extern ArrayList internalThreads; jlong lib::dwfl::ElfPrstatus::getNoteData(ElfData *data) { diff --git a/frysk-sys/lib/dwfl/jni/ElfData.cxx b/frysk-sys/lib/dwfl/jni/ElfData.cxx index b04f357..33552c4 100644 --- a/frysk-sys/lib/dwfl/jni/ElfData.cxx +++ b/frysk-sys/lib/dwfl/jni/ElfData.cxx @@ -86,12 +86,9 @@ lib::dwfl::ElfData::getBytes(jnixx::env env) { return ret; } -extern jnixx::jbyteArray internal_buffer; - void lib::dwfl::ElfData::elf_data_set_buff (jnixx::env env, jlong size) { - fprintf(stderr, "accessing a global buffer\n"); - jbyteArrayElements bytes = jbyteArrayElements(env, internal_buffer); + jbyteArrayElements bytes = jbyteArrayElements(env, GetInternal_buffer(env)); fprintf(stderr, "saving a pointer into the JNI\n"); (ELF_DATA_POINTER)->d_buf = bytes.elements(); (ELF_DATA_POINTER)->d_size = bytes.length(); diff --git a/frysk-sys/lib/dwfl/jni/ElfPrFPRegSet.cxx b/frysk-sys/lib/dwfl/jni/ElfPrFPRegSet.cxx index 8338732..3eaf148 100644 --- a/frysk-sys/lib/dwfl/jni/ElfPrFPRegSet.cxx +++ b/frysk-sys/lib/dwfl/jni/ElfPrFPRegSet.cxx @@ -78,7 +78,6 @@ lib::dwfl::ElfPrFPRegSet::fillMemRegion(jnixx::env env, return length; } -extern ArrayList internalThreads; jlong lib::dwfl::ElfPrFPRegSet::getNoteData(jnixx::env env, ElfData data) { void *elf_data = ((Elf_Data*)data.getPointer(env))->d_buf; GElf_Nhdr *nhdr = (GElf_Nhdr *)elf_data; @@ -114,8 +113,7 @@ jlong lib::dwfl::ElfPrFPRegSet::getNoteData(jnixx::env env, ElfData data) { memcpy(buf.elements(), ((unsigned char *)elf_data)+note_data_loc, nhdr->n_descsz); - fprintf(stderr, "acessing global internalThreads\n"); - internalThreads.add(env, jbuf); + GetInternalThreads(env).add(env, jbuf); // Move pointer along, now we have processed the first thread note_loc += (sizeof (GElf_Nhdr) + ((nhdr->n_namesz + 0x03) & ~0x3)) + nhdr->n_descsz; diff --git a/frysk-sys/lib/dwfl/jni/ElfPrXFPRegSet.cxx b/frysk-sys/lib/dwfl/jni/ElfPrXFPRegSet.cxx index d4e06ef..e21a481 100644 --- a/frysk-sys/lib/dwfl/jni/ElfPrXFPRegSet.cxx +++ b/frysk-sys/lib/dwfl/jni/ElfPrXFPRegSet.cxx @@ -79,7 +79,6 @@ lib::dwfl::ElfPrXFPRegSet::fillMemRegion(jnixx::env env, return length; } -extern ArrayList internalThreads; jlong lib::dwfl::ElfPrXFPRegSet::getNoteData(jnixx::env env, ElfData data) { void *elf_data = ((Elf_Data*)data.getPointer(env))->d_buf; @@ -115,7 +114,7 @@ jlong lib::dwfl::ElfPrXFPRegSet::getNoteData(jnixx::env env, jbyteArrayElements buf = jbyteArrayElements(env, jbuf); memcpy(buf.elements(),((unsigned char *)elf_data)+note_data_loc, nhdr->n_descsz); - internalThreads.add(env, jbuf); + GetInternalThreads(env).add(env, jbuf); buf.release(); jbuf.DeleteLocalRef(env); } diff --git a/frysk-sys/lib/dwfl/jni/ElfPrstatus.cxx b/frysk-sys/lib/dwfl/jni/ElfPrstatus.cxx index 93fabbf..704a230 100644 --- a/frysk-sys/lib/dwfl/jni/ElfPrstatus.cxx +++ b/frysk-sys/lib/dwfl/jni/ElfPrstatus.cxx @@ -264,7 +264,6 @@ lib::dwfl::ElfPrstatus::fillMemRegion(jnixx::env env, } -extern ArrayList internalThreads; jlong lib::dwfl::ElfPrstatus::getNoteData(jnixx::env env, ElfData data) { void *elf_data = ((Elf_Data*)data.getPointer(env))->d_buf; @@ -299,8 +298,7 @@ lib::dwfl::ElfPrstatus::getNoteData(jnixx::env env, ElfData data) { memcpy(buf.elements(), ((unsigned char *)elf_data)+note_data_loc, nhdr->n_descsz); - fprintf(stderr, "acessing global internal threads\n"); - internalThreads.add(env, jbuf); + GetInternalThreads(env).add(env, jbuf); // Move pointer along, now we have processed the first thread note_loc += (sizeof (GElf_Nhdr) + ((nhdr->n_namesz + 0x03) & ~0x3)) + nhdr->n_descsz; hooks/post-receive -- frysk system monitor/debugger
reply other threads:[~2008-05-26 19:22 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=20080526192223.27080.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).