changeset 2653:0bd162aeebfc

PR2035: --enable-cacao builds broken, missing JVM_GetTemporaryDirectory impl. 2015-07-13 Andrew John Hughes <gnu_andrew@member.fsf.org> PR2035: --enable-cacao builds broken, missing JVM_GetTemporaryDirectory impl. * Makefile.am: (ICEDTEA_PATCHES): Add CACAO patch for PR2035. * NEWS: Updated. * patches/cacao/pr2035-tempdir.patch: Implement JVM_GetTemporaryDirectory.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Fri, 01 Apr 2016 04:24:47 +0100
parents 8b3899c5f70c
children 55e9ca853da2
files ChangeLog Makefile.am NEWS patches/cacao/pr2035-tempdir.patch
diffstat 4 files changed, 57 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Apr 01 04:05:13 2016 +0100
+++ b/ChangeLog	Fri Apr 01 04:24:47 2016 +0100
@@ -1,3 +1,13 @@
+2015-07-13  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR2035: --enable-cacao builds broken, missing
+	JVM_GetTemporaryDirectory impl.
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add CACAO patch for PR2035.
+	* NEWS: Updated.
+	* patches/cacao/pr2035-tempdir.patch:
+	Implement JVM_GetTemporaryDirectory.
+
 2016-03-31  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR2863: IcedTea doesn't pass through build
--- a/Makefile.am	Fri Apr 01 04:05:13 2016 +0100
+++ b/Makefile.am	Fri Apr 01 04:24:47 2016 +0100
@@ -347,6 +347,7 @@
 ICEDTEA_PATCHES += \
 	patches/cacao/launcher.patch \
 	patches/cacao/pr2032.patch \
+	patches/cacao/pr2035-tempdir.patch \
 	patches/cacao/pr2349.patch
 else
 if USING_CACAO
--- a/NEWS	Fri Apr 01 04:05:13 2016 +0100
+++ b/NEWS	Fri Apr 01 04:24:47 2016 +0100
@@ -196,6 +196,7 @@
 * CACAO
   - PR1277: Synchronise CACAO rules between IcedTea6/7/8 where possible
   - PR1279: Synchronise CACAO versions between IcedTea6/7/8 where possible
+  - PR2035: --enable-cacao builds broken, missing JVM_GetTemporaryDirectory impl.
   - CA172, PR2330, G453612: Add ARM hardfloat support to CACAO on Gentoo
   - PR2331: IcedTea8 fails to build with IcedTea7 CACAO due to low max heap size
   - PR2335: CACAO lacks JVM_FindClassFromCaller
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cacao/pr2035-tempdir.patch	Fri Apr 01 04:24:47 2016 +0100
@@ -0,0 +1,45 @@
+diff -r 73c53a02de5d contrib/mapfile-vers-product
+--- cacao/cacao/contrib/mapfile-vers-product	Mon Jul 13 01:38:19 2015 +0100
++++ cacao/cacao/contrib/mapfile-vers-product	Mon Jul 13 10:44:59 2015 +0100
+@@ -161,6 +161,7 @@
+                 JVM_GetStackTraceElement;
+                 JVM_GetSystemPackage;
+                 JVM_GetSystemPackages;
++		JVM_GetTemporaryDirectory;
+                 JVM_GetThreadStateNames;
+                 JVM_GetThreadStateValues;
+                 JVM_GetVersionInfo;
+diff -r 73c53a02de5d src/native/vm/openjdk/jvm.cpp
+--- cacao.orig/cacao/src/native/vm/openjdk/jvm.cpp	Mon Jul 13 01:38:19 2015 +0100
++++ cacao/cacao/src/native/vm/openjdk/jvm.cpp	Mon Jul 13 10:21:20 2015 +0100
+@@ -3821,6 +3821,30 @@
+ 	return -1;
+ }
+ 
++/*
++ * Return the temporary directory that the VM uses for the attach
++ * and perf data files.
++ *
++ * It is important that this directory is well-known and the
++ * same for all VM instances. It cannot be affected by configuration
++ * variables such as java.io.tmpdir.
++ */
++jstring JVM_GetTemporaryDirectory(JNIEnv *env)
++{
++	TRACEJVMCALLS(("JVM_GetTemporaryDirectory(env=%p)", env));
++
++#if (defined(__LINUX__) || defined (__SOLARIS__) || \
++	 defined(__FREEBSD__) || defined (__DARWIN__))
++	// This must be hard coded because it's the system's temporary
++	// directory not the java application's temp directory, ala java.io.tmpdir.
++	return JavaString::from_utf8("/tmp");
++#else
++# error Not implemented for this OS.
++#endif
++
++	return NULL;
++}
++	
+ } // extern "C"
+ 
+