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: link
Be 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).