From ae342347bff4fc34f062970315f9cd2c985ab05c8f0794b569f7e9782737e320 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 20 Nov 2008 15:06:19 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/oprofile?expand=0&rev=13 --- jvmpi.h | 104 +++++++++++++++++++++++++++++++++++++++++++++++ oprofile.changes | 5 +++ oprofile.spec | 18 +++++--- 3 files changed, 121 insertions(+), 6 deletions(-) create mode 100644 jvmpi.h diff --git a/jvmpi.h b/jvmpi.h new file mode 100644 index 0000000..bd68bb6 --- /dev/null +++ b/jvmpi.h @@ -0,0 +1,104 @@ +#include "jni.h" + +#define JVMPI_VERSION_1 (jint)0x10000001 +struct _jobjectID; +typedef struct _jobjectID *jobjectID; +struct _JVMPI_RawMonitor; +typedef struct _JVMPI_RawMonitor *JVMPI_RawMonitor; +typedef struct +{ + jint lineno; + jmethodID method_id; +} JVMPI_CallFrame; +typedef struct +{ + JNIEnv *env_id; + jint num_frames; + JVMPI_CallFrame *frames; +} JVMPI_CallTrace; +typedef struct +{ + char *method_name; + char *method_signature; + jint start_lineno; + jint end_lineno; + jmethodID method_id; +} JVMPI_Method; +typedef struct +{ + char *field_name; + char *field_signature; +} JVMPI_Field; +typedef struct +{ + jint offset; + jint lineno; +} JVMPI_Lineno; +typedef struct +{ + jint event_type; + JNIEnv *env_id; + union + { + struct + { + const char *class_name; + char *source_name; + jint num_interfaces; + jint num_methods; + JVMPI_Method *methods; + jint num_static_fields; + JVMPI_Field *statics; + jint num_instance_fields; + JVMPI_Field *instances; + jobjectID class_id; + } class_load; + struct + { + jmethodID method_id; + void *code_addr; + jint code_size; + jint lineno_table_size; + JVMPI_Lineno *lineno_table; + } compiled_method_load; + } u; +} JVMPI_Event; +typedef struct +{ + jint version; + void (*NotifyEvent) (JVMPI_Event *); + jint (*EnableEvent) (jint, void *); + jint (*DisableEvent) (jint, void *); + jint (*RequestEvent) (jint, void *); + void (*GetCallTrace) (JVMPI_CallTrace *, jint); + void (*ProfilerExit) (jint); + JVMPI_RawMonitor (*RawMonitorCreate) (char *); + void (*RawMonitorEnter) (JVMPI_RawMonitor); + void (*RawMonitorExit) (JVMPI_RawMonitor); + void (*RawMonitorWait) (JVMPI_RawMonitor, jlong); + void (*RawMonitorNotifyAll) (JVMPI_RawMonitor); + void (*RawMonitorDestroy) (JVMPI_RawMonitor); + jlong (*GetCurrentThreadCpuTime) (void); + void (*SuspendThread) (JNIEnv *); + void (*ResumeThread) (JNIEnv *); + jint (*GetThreadStatus) (JNIEnv *); + jboolean (*ThreadHasRun) (JNIEnv *); + jint (*CreateSystemThread) (char *, jint, void (*)(void *)); + void (*SetThreadLocalStorage) (JNIEnv *, void *); + void *(*GetThreadLocalStorage) (JNIEnv *); + void (*DisableGC) (void); + void (*EnableGC) (void); + void (*RunGC) (void); + jobjectID (*GetThreadObject) (JNIEnv *); + jobjectID (*GetMethodClass) (jmethodID); + jobject (*jobjectID2jobject) (jobjectID); + jobjectID (*jobject2jobjectID) (jobject); + void (*SuspendThreadList) (jint, JNIEnv **, jint *); + void (*ResumeThreadList) (jint, JNIEnv **, jint *); +} JVMPI_Interface; + +#define JVMPI_EVENT_COMPILED_METHOD_LOAD 7 +#define JVMPI_EVENT_COMPILED_METHOD_UNLOAD 8 +#define JVMPI_EVENT_CLASS_LOAD 42 +#define JVMPI_EVENT_CLASS_UNLOAD 43 +#define JVMPI_EVENT_JVM_SHUT_DOWN 47 diff --git a/oprofile.changes b/oprofile.changes index 0ecb6d7..87d6f46 100644 --- a/oprofile.changes +++ b/oprofile.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Nov 19 15:18:30 CET 2008 - schwab@suse.de + +- Work around broken java support. + ------------------------------------------------------------------- Wed Oct 29 10:34:33 CET 2008 - schwab@suse.de diff --git a/oprofile.spec b/oprofile.spec index da28a3e..fc90435 100644 --- a/oprofile.spec +++ b/oprofile.spec @@ -25,11 +25,12 @@ Group: Development/Tools/Other AutoReqProv: on PreReq: /usr/sbin/groupadd /usr/sbin/useradd Version: 0.9.4 -Release: 48 +Release: 49 Summary: System-Wide Profiler for Linux Systems BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: %{name}-%{version}.tar.gz Source1: %{name}.desktop +Source2: jvmpi.h Patch: %{name}-%{version}.diff %description @@ -103,13 +104,16 @@ Authors: %prep %setup -q %patch +mkdir -p java/include +ln -s %_libdir/jvm/java/include/* java/include +test -f java/include/jvmpi.h || ln -s %{S:2} java/include %build autoreconf -fi ./configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \ - --prefix=/usr --mandir=%{_mandir} --libdir=%{_libdir} \ - --with-kernel-support --with-java=%_libdir/jvm/java \ - --with-qt-libraries=%_libdir/qt3/%_lib + --prefix=/usr --mandir=%{_mandir} --libdir=%{_libdir} \ + --with-kernel-support --with-java=$PWD/java \ + --with-qt-libraries=%_libdir/qt3/%_lib make %{?jobs:-j%jobs} %install @@ -146,6 +150,8 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libopagent.so %changelog +* Wed Nov 19 2008 schwab@suse.de +- Work around broken java support. * Wed Oct 29 2008 schwab@suse.de - Fix uninitialized variable. * Thu Oct 23 2008 schwab@suse.de @@ -200,7 +206,7 @@ rm -rf $RPM_BUILD_ROOT - Update to oprofile 0.8.2. * Thu Nov 04 2004 schwab@suse.de - Update to oprofile 0.8.1. -* Sat Sep 04 2004 schwab@suse.de +* Fri Sep 03 2004 schwab@suse.de - Update to oprofile 0.8. * Mon Jun 28 2004 skh@suse.de - more fixes for #40468 @@ -253,7 +259,7 @@ rm -rf $RPM_BUILD_ROOT - Folded both automake patches into one patch * Tue Mar 11 2003 kukuk@suse.de - Don't call depmod -* Tue Mar 11 2003 ro@suse.de +* Mon Mar 10 2003 ro@suse.de - remove k_deflt from neededforbuild (cycle) * Mon Mar 10 2003 mmj@suse.de - Fix typo