summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2009-05-22 06:23:16 +0000
committerGreg Lewis <glewis@FreeBSD.org>2009-05-22 06:23:16 +0000
commitebcf4a72d89c83294d0ce090cc40bedee88bffbc (patch)
tree33425d7f1c087f457921022ba678679dc31755fd /java
parent- WITH_SCTP does not buuild on 7.1 (diff)
. Add support for the serviceability agent (includes work by glewis@ and
Brian Gardner). Core support needs some more work. . Install the debug build when WITH_DEBUG is set. . Change WITH_DEBUG to only build the debug build. . Eliminate the requirements for the binary plugins. . Fix some compilation errors in the debug build on 7.x. Submitted by: Kurt Miller <kurt@intricatesoftware.com>
Notes
Notes: svn path=/head/; revision=234382
Diffstat (limited to 'java')
-rw-r--r--java/openjdk6/Makefile22
-rw-r--r--java/openjdk6/files/patch-set4282
2 files changed, 3218 insertions, 1086 deletions
diff --git a/java/openjdk6/Makefile b/java/openjdk6/Makefile
index 98e9de202763..77788e5bac7c 100644
--- a/java/openjdk6/Makefile
+++ b/java/openjdk6/Makefile
@@ -7,6 +7,7 @@
PORTNAME= openjdk6
PORTVERSION= b16
+PORTREVISION= 1
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk6/promoted/${PORTVERSION}/
DISTNAME= openjdk-6-src-${PORTVERSION}-${OPENJDK_BUILDDATE}
@@ -34,7 +35,6 @@ LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
BUILD_DEPENDS+= ant:${PORTSDIR}/devel/apache-ant
BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip
BUILD_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip
-BUILD_DEPENDS+= ${JAVAJARDIR}/jdk-7-icedtea-plugs/jre/lib/rt-closed.jar:${PORTSDIR}/java/icedtea6-stubs
.include <bsd.port.pre.mk>
@@ -45,8 +45,6 @@ CATEGORIES+= ipv6
# avoid ARCH in MAKEFLAGS, breaks build
NOPRECIOUSMAKEVARS= yes
-OPENJDK_OSARCH= bsd-${ARCH:S/i386/i586/}
-
ONLY_FOR_ARCHS= amd64 i386
BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk6 \
@@ -72,7 +70,6 @@ MAKE_ENV= LANG=C LC_ALL=C \
ALT_FREETYPE_LIB_PATH=${LOCALBASE}/lib \
ALT_X11_PATH=${LOCALBASE} \
ALT_PACKAGE_PATH=${LOCALBASE} \
- ALT_BINARY_PLUGS_PATH=${JAVAJARDIR}/jdk-7-icedtea-plugs \
ANT_HOME=${LOCALBASE} \
NO_DOCS=true
@@ -81,7 +78,10 @@ MAKE_ENV+= DONT_ENABLE_IPV6="YES"
.endif
.if defined(WITH_DEBUG)
-MAKE_ENV+= SKIP_DEBUG_BUILD="false"
+ALL_TARGET= debug_build
+OPENJDK_OSARCH= bsd-${ARCH:S/i386/i586/}-debug
+.else
+OPENJDK_OSARCH= bsd-${ARCH:S/i386/i586/}
.endif
# perhaps we could check to see how many processors are availble and set this equivelent to that
@@ -115,11 +115,20 @@ COPYDIRS= \
hotspot/src/os_cpu/linux_x86/vm \
hotspot/build/linux \
hotspot/build/linux/makefiles \
+ hotspot/agent/src/os/linux \
+ hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux \
+ hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64 \
+ hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86 \
+ hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux \
+ hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_amd64 \
+ hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_x86 \
jdk/src/linux/doc/man
COPYFILES= \
corba/make/common/Defs-linux.gmk \
corba/make/common/shared/Defs-linux.gmk \
+ hotspot/agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java \
+ jdk/make/com/sun/tools/attach/mapfile-linux \
jdk/make/common/Defs-linux.gmk \
jdk/make/common/shared/Defs-linux.gmk \
jdk/make/java/nio/mapfile-linux \
@@ -129,6 +138,7 @@ COPYFILES= \
jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux \
jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties \
jdk/src/solaris/classes/sun/tools/attach/LinuxAttachProvider.java \
+ jdk/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java \
jdk/src/solaris/hpi/include/largefile_linux.h \
jdk/src/solaris/native/java/net/linux_close.c \
jdk/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c
@@ -139,7 +149,7 @@ post-extract:
cd ${WRKDIR}/$$d; \
for f in *; do \
if [ -f $$f ]; then \
- t=`echo ${WRKDIR}/$$d/$$f | ${SED} 's/linux/bsd/g;'`; \
+ t=`echo ${WRKDIR}/$$d/$$f | ${SED} 's/linux/bsd/g; s/Linux/Bsd/g'`; \
${SED} 's/linux/bsd/g; s/Linux/Bsd/g' < $$f > $$t; \
fi; \
done; \
diff --git a/java/openjdk6/files/patch-set b/java/openjdk6/files/patch-set
index 55f834e8a4dd..976c23c9fadb 100644
--- a/java/openjdk6/files/patch-set
+++ b/java/openjdk6/files/patch-set
@@ -21,9 +21,9 @@
* have any questions.
*
*/
-diff -upr ../orig/corba/make/common/Defs-bsd.gmk ./corba/make/common/Defs-bsd.gmk
---- ../orig/corba/make/common/Defs-bsd.gmk 2009-05-04 18:32:16.000000000 -0400
-+++ ./corba/make/common/Defs-bsd.gmk 2009-05-05 14:33:21.000000000 -0400
+diff -uNpr ../orig/corba/make/common/Defs-bsd.gmk ./corba/make/common/Defs-bsd.gmk
+--- ../orig/corba/make/common/Defs-bsd.gmk 2009-05-14 23:40:16.000000000 -0400
++++ ./corba/make/common/Defs-bsd.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -40,18 +40,12 @@
# Get shared JDK settings
include $(BUILDDIR)/common/shared/Defs.gmk
@@ -145,9 +145,9 @@ diff -upr ../orig/corba/make/common/Defs-bsd.gmk ./corba/make/common/Defs-bsd.gm
override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER
override SUN_CMM_SUBDIR =
override THREADS_FLAG = native
-diff -upr ../orig/corba/make/common/Defs-linux.gmk ./corba/make/common/Defs-linux.gmk
---- ../orig/corba/make/common/Defs-linux.gmk 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/common/Defs-linux.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/Defs-linux.gmk ./corba/make/common/Defs-linux.gmk
+--- ../orig/corba/make/common/Defs-linux.gmk 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/common/Defs-linux.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -282,7 +282,7 @@ override LIBSOCKET =
override LIBTHREAD =
override MOOT_PRIORITIES = true
@@ -157,9 +157,9 @@ diff -upr ../orig/corba/make/common/Defs-linux.gmk ./corba/make/common/Defs-linu
ifeq ($(ARCH), amd64)
override OPENWIN_LIB = $(OPENWIN_HOME)/lib64
else
-diff -upr ../orig/corba/make/common/Defs.gmk ./corba/make/common/Defs.gmk
---- ../orig/corba/make/common/Defs.gmk 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/common/Defs.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/Defs.gmk ./corba/make/common/Defs.gmk
+--- ../orig/corba/make/common/Defs.gmk 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/common/Defs.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -53,6 +53,24 @@ endif
_OUTPUTDIR=$(TOPDIR)/build/$(PLATFORM)-$(ARCH)
@@ -195,9 +195,9 @@ diff -upr ../orig/corba/make/common/Defs.gmk ./corba/make/common/Defs.gmk
endif # PROGRAM
LDLIBS_COMMON += $(EXTRA_LIBS)
-diff -upr ../orig/corba/make/common/Mapfile-vers.gmk ./corba/make/common/Mapfile-vers.gmk
---- ../orig/corba/make/common/Mapfile-vers.gmk 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/common/Mapfile-vers.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/Mapfile-vers.gmk ./corba/make/common/Mapfile-vers.gmk
+--- ../orig/corba/make/common/Mapfile-vers.gmk 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/common/Mapfile-vers.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -77,7 +77,7 @@ endif
endif # PLATFORM
@@ -207,9 +207,9 @@ diff -upr ../orig/corba/make/common/Mapfile-vers.gmk ./corba/make/common/Mapfile
ifeq ($(VARIANT), OPT)
# OPT build MUST have a mapfile?
-diff -upr ../orig/corba/make/common/shared/Compiler-gcc.gmk ./corba/make/common/shared/Compiler-gcc.gmk
---- ../orig/corba/make/common/shared/Compiler-gcc.gmk 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/common/shared/Compiler-gcc.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/shared/Compiler-gcc.gmk ./corba/make/common/shared/Compiler-gcc.gmk
+--- ../orig/corba/make/common/shared/Compiler-gcc.gmk 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/common/shared/Compiler-gcc.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -99,6 +99,24 @@ ifeq ($(PLATFORM), linux)
endif
@@ -235,9 +235,9 @@ diff -upr ../orig/corba/make/common/shared/Compiler-gcc.gmk ./corba/make/common/
ifeq ($(PLATFORM), solaris)
# Settings specific to Solaris
-diff -upr ../orig/corba/make/common/shared/Compiler.gmk ./corba/make/common/shared/Compiler.gmk
---- ../orig/corba/make/common/shared/Compiler.gmk 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/common/shared/Compiler.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/shared/Compiler.gmk ./corba/make/common/shared/Compiler.gmk
+--- ../orig/corba/make/common/shared/Compiler.gmk 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/common/shared/Compiler.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -42,6 +42,11 @@ ifeq ($(PLATFORM), linux)
override CC_VERSION = gcc
endif
@@ -250,9 +250,9 @@ diff -upr ../orig/corba/make/common/shared/Compiler.gmk ./corba/make/common/shar
# Get the compiler specific settings
include $(BUILDDIR)/common/shared/Compiler-$(CC_VERSION).gmk
-diff -upr ../orig/corba/make/common/shared/Defs-bsd.gmk ./corba/make/common/shared/Defs-bsd.gmk
---- ../orig/corba/make/common/shared/Defs-bsd.gmk 2009-05-04 18:32:16.000000000 -0400
-+++ ./corba/make/common/shared/Defs-bsd.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/shared/Defs-bsd.gmk ./corba/make/common/shared/Defs-bsd.gmk
+--- ../orig/corba/make/common/shared/Defs-bsd.gmk 2009-05-14 23:40:16.000000000 -0400
++++ ./corba/make/common/shared/Defs-bsd.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -54,7 +54,7 @@ $(shell if [ "$1" != "" -a -d "$1" ]; th
endef
@@ -271,9 +271,9 @@ diff -upr ../orig/corba/make/common/shared/Defs-bsd.gmk ./corba/make/common/shar
endif
# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
-diff -upr ../orig/corba/make/common/shared/Defs-utils.gmk ./corba/make/common/shared/Defs-utils.gmk
---- ../orig/corba/make/common/shared/Defs-utils.gmk 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/common/shared/Defs-utils.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/shared/Defs-utils.gmk ./corba/make/common/shared/Defs-utils.gmk
+--- ../orig/corba/make/common/shared/Defs-utils.gmk 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/common/shared/Defs-utils.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -53,6 +53,13 @@ ifeq ($(PLATFORM),linux)
UTILS_DEVTOOL_PATH=$(USRBIN_PATH)
endif
@@ -321,9 +321,9 @@ diff -upr ../orig/corba/make/common/shared/Defs-utils.gmk ./corba/make/common/sh
+ TAR = $(UTILS_USR_BIN_PATH)tar
+ endif
+endif
-diff -upr ../orig/corba/make/common/shared/Platform.gmk ./corba/make/common/shared/Platform.gmk
---- ../orig/corba/make/common/shared/Platform.gmk 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/common/shared/Platform.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/common/shared/Platform.gmk ./corba/make/common/shared/Platform.gmk
+--- ../orig/corba/make/common/shared/Platform.gmk 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/common/shared/Platform.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -262,6 +262,76 @@ ifeq ($(SYSTEM_UNAME), Linux)
MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2)
endif
@@ -426,9 +426,9 @@ diff -upr ../orig/corba/make/common/shared/Platform.gmk ./corba/make/common/shar
fi)
MIN_VM_MEMORY := $(shell \
if [ $(MAX_VM_MEMORY) -le 128 ] ; then \
-diff -upr ../orig/corba/make/sun/corba/core/Makefile ./corba/make/sun/corba/core/Makefile
---- ../orig/corba/make/sun/corba/core/Makefile 2009-01-27 15:40:31.000000000 -0500
-+++ ./corba/make/sun/corba/core/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/corba/make/sun/corba/core/Makefile ./corba/make/sun/corba/core/Makefile
+--- ../orig/corba/make/sun/corba/core/Makefile 2009-04-24 03:30:19.000000000 -0400
++++ ./corba/make/sun/corba/core/Makefile 2009-05-14 23:41:33.000000000 -0400
@@ -53,11 +53,19 @@ include $(CORBA_JMK_DIRECTORY)sun_corba.
ifdef STANDALONE_CORBA_WS
# FIXUP: What is this all about?
@@ -449,9 +449,2016 @@ diff -upr ../orig/corba/make/sun/corba/core/Makefile ./corba/make/sun/corba/core
FILES_c = ioser.c
-diff -upr ../orig/hotspot/build/bsd/Makefile ./hotspot/build/bsd/Makefile
---- ../orig/hotspot/build/bsd/Makefile 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/build/bsd/Makefile 2009-05-04 19:16:59.000000000 -0400
+diff -uNpr ../orig/hotspot/agent/make/Makefile ./hotspot/agent/make/Makefile
+--- ../orig/hotspot/agent/make/Makefile 2009-04-24 03:30:48.000000000 -0400
++++ ./hotspot/agent/make/Makefile 2009-05-14 23:41:34.000000000 -0400
+@@ -52,6 +52,9 @@ sun.jvm.hotspot.code \
+ sun.jvm.hotspot.compiler \
+ sun.jvm.hotspot.debugger \
+ sun.jvm.hotspot.debugger.amd64 \
++sun.jvm.hotspot.debugger.bsd \
++sun.jvm.hotspot.debugger.bsd.amd64 \
++sun.jvm.hotspot.debugger.bsd.x86 \
+ sun.jvm.hotspot.debugger.cdbg \
+ sun.jvm.hotspot.debugger.cdbg.basic \
+ sun.jvm.hotspot.debugger.cdbg.basic.amd64 \
+@@ -94,6 +97,9 @@ sun.jvm.hotspot.memory \
+ sun.jvm.hotspot.oops \
+ sun.jvm.hotspot.runtime \
+ sun.jvm.hotspot.runtime.amd64 \
++sun.jvm.hotspot.runtime.bsd \
++sun.jvm.hotspot.runtime.bsd_amd64 \
++sun.jvm.hotspot.runtime.bsd_x86 \
+ sun.jvm.hotspot.runtime.ia64 \
+ sun.jvm.hotspot.runtime.linux \
+ sun.jvm.hotspot.runtime.linux_amd64 \
+@@ -143,6 +149,9 @@ sun/jvm/hotspot/code/*.java \
+ sun/jvm/hotspot/compiler/*.java \
+ sun/jvm/hotspot/debugger/*.java \
+ sun/jvm/hotspot/debugger/amd64/*.java \
++sun/jvm/hotspot/debugger/bsd/*.java \
++sun/jvm/hotspot/debugger/bsd/amd64/*.java \
++sun/jvm/hotspot/debugger/bsd/x86/*.java \
+ sun/jvm/hotspot/debugger/cdbg/*.java \
+ sun/jvm/hotspot/debugger/cdbg/basic/*.java \
+ sun/jvm/hotspot/debugger/cdbg/basic/amd64/*.java \
+@@ -178,6 +187,9 @@ sun/jvm/hotspot/memory/*.java \
+ sun/jvm/hotspot/oops/*.java \
+ sun/jvm/hotspot/runtime/*.java \
+ sun/jvm/hotspot/runtime/amd64/*.java \
++sun/jvm/hotspot/runtime/bsd/*.java \
++sun/jvm/hotspot/runtime/bsd_amd64/*.java \
++sun/jvm/hotspot/runtime/bsd_x86/*.java \
+ sun/jvm/hotspot/runtime/ia64/*.java \
+ sun/jvm/hotspot/runtime/linux/*.java \
+ sun/jvm/hotspot/runtime/linux_amd64/*.java \
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/BsdDebuggerLocal.c ./hotspot/agent/src/os/bsd/BsdDebuggerLocal.c
+--- ../orig/hotspot/agent/src/os/bsd/BsdDebuggerLocal.c 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/BsdDebuggerLocal.c 2009-05-14 23:41:34.000000000 -0400
+@@ -25,6 +25,7 @@
+ *
+ */
+
++#include <stdlib.h>
+ #include <jni.h>
+ #include "libproc.h"
+
+@@ -76,7 +77,7 @@ JNIEXPORT void JNICALL Java_sun_jvm_hots
+ (JNIEnv *env, jclass cls) {
+ jclass listClass;
+
+- if (init_libproc(getenv("LIBSAPROC_DEBUG")) != true) {
++ if (init_libproc(getenv("LIBSAPROC_DEBUG") != NULL) != true) {
+ THROW_NEW_DEBUGGER_EXCEPTION("can't initialize libproc");
+ }
+
+@@ -278,7 +279,7 @@ JNIEXPORT jbyteArray JNICALL Java_sun_jv
+ bufPtr = (*env)->GetByteArrayElements(env, array, &isCopy);
+ CHECK_EXCEPTION_(0);
+
+- err = ps_pdread(get_proc_handle(env, this_obj), (psaddr_t) (uintptr_t)addr, bufPtr, numBytes);
++ err = ps_pread(get_proc_handle(env, this_obj), (psaddr_t) (uintptr_t)addr, bufPtr, numBytes);
+ (*env)->ReleaseByteArrayElements(env, array, bufPtr, 0);
+ return (err == PS_OK)? array : 0;
+ }
+@@ -286,11 +287,10 @@ JNIEXPORT jbyteArray JNICALL Java_sun_jv
+ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_getThreadIntegerRegisterSet0
+ (JNIEnv *env, jobject this_obj, jint lwp_id) {
+
+- struct user_regs_struct gregs;
++ struct reg gregs;
+ jboolean isCopy;
+ jlongArray array;
+ jlong *regs;
+- int i;
+
+ struct ps_prochandle* ph = get_proc_handle(env, this_obj);
+ if (get_lwp_regs(ph, lwp_id, &gregs) != true) {
+@@ -320,26 +320,27 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
+ #ifdef i386
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg
+
+- regs[REG_INDEX(GS)] = (uintptr_t) gregs.xgs;
+- regs[REG_INDEX(FS)] = (uintptr_t) gregs.xfs;
+- regs[REG_INDEX(ES)] = (uintptr_t) gregs.xes;
+- regs[REG_INDEX(DS)] = (uintptr_t) gregs.xds;
+- regs[REG_INDEX(EDI)] = (uintptr_t) gregs.edi;
+- regs[REG_INDEX(ESI)] = (uintptr_t) gregs.esi;
+- regs[REG_INDEX(FP)] = (uintptr_t) gregs.ebp;
+- regs[REG_INDEX(SP)] = (uintptr_t) gregs.esp;
+- regs[REG_INDEX(EBX)] = (uintptr_t) gregs.ebx;
+- regs[REG_INDEX(EDX)] = (uintptr_t) gregs.edx;
+- regs[REG_INDEX(ECX)] = (uintptr_t) gregs.ecx;
+- regs[REG_INDEX(EAX)] = (uintptr_t) gregs.eax;
+- regs[REG_INDEX(PC)] = (uintptr_t) gregs.eip;
+- regs[REG_INDEX(CS)] = (uintptr_t) gregs.xcs;
+- regs[REG_INDEX(SS)] = (uintptr_t) gregs.xss;
++ regs[REG_INDEX(GS)] = (uintptr_t) gregs.r_gs;
++ regs[REG_INDEX(FS)] = (uintptr_t) gregs.r_fs;
++ regs[REG_INDEX(ES)] = (uintptr_t) gregs.r_es;
++ regs[REG_INDEX(DS)] = (uintptr_t) gregs.r_ds;
++ regs[REG_INDEX(EDI)] = (uintptr_t) gregs.r_edi;
++ regs[REG_INDEX(ESI)] = (uintptr_t) gregs.r_esi;
++ regs[REG_INDEX(FP)] = (uintptr_t) gregs.r_ebp;
++ regs[REG_INDEX(SP)] = (uintptr_t) gregs.r_isp;
++ regs[REG_INDEX(EBX)] = (uintptr_t) gregs.r_ebx;
++ regs[REG_INDEX(EDX)] = (uintptr_t) gregs.r_edx;
++ regs[REG_INDEX(ECX)] = (uintptr_t) gregs.r_ecx;
++ regs[REG_INDEX(EAX)] = (uintptr_t) gregs.r_eax;
++ regs[REG_INDEX(PC)] = (uintptr_t) gregs.r_eip;
++ regs[REG_INDEX(CS)] = (uintptr_t) gregs.r_cs;
++ regs[REG_INDEX(SS)] = (uintptr_t) gregs.r_ss;
+
+ #endif /* i386 */
+
+ #if ia64
+ regs = (*env)->GetLongArrayElements(env, array, &isCopy);
++ int i;
+ for (i = 0; i < NPRGREG; i++ ) {
+ regs[i] = 0xDEADDEAD;
+ }
+@@ -348,31 +349,31 @@ JNIEXPORT jlongArray JNICALL Java_sun_jv
+ #ifdef amd64
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_##reg
+
+- regs[REG_INDEX(R15)] = gregs.r15;
+- regs[REG_INDEX(R14)] = gregs.r14;
+- regs[REG_INDEX(R13)] = gregs.r13;
+- regs[REG_INDEX(R12)] = gregs.r12;
+- regs[REG_INDEX(RBP)] = gregs.rbp;
+- regs[REG_INDEX(RBX)] = gregs.rbx;
+- regs[REG_INDEX(R11)] = gregs.r11;
+- regs[REG_INDEX(R10)] = gregs.r10;
+- regs[REG_INDEX(R9)] = gregs.r9;
+- regs[REG_INDEX(R8)] = gregs.r8;
+- regs[REG_INDEX(RAX)] = gregs.rax;
+- regs[REG_INDEX(RCX)] = gregs.rcx;
+- regs[REG_INDEX(RDX)] = gregs.rdx;
+- regs[REG_INDEX(RSI)] = gregs.rsi;
+- regs[REG_INDEX(RDI)] = gregs.rdi;
+- regs[REG_INDEX(RIP)] = gregs.rip;
+- regs[REG_INDEX(CS)] = gregs.cs;
+- regs[REG_INDEX(RSP)] = gregs.rsp;
+- regs[REG_INDEX(SS)] = gregs.ss;
+- regs[REG_INDEX(FSBASE)] = gregs.fs_base;
+- regs[REG_INDEX(GSBASE)] = gregs.gs_base;
+- regs[REG_INDEX(DS)] = gregs.ds;
+- regs[REG_INDEX(ES)] = gregs.es;
+- regs[REG_INDEX(FS)] = gregs.fs;
+- regs[REG_INDEX(GS)] = gregs.gs;
++ regs[REG_INDEX(R15)] = gregs.r_r15;
++ regs[REG_INDEX(R14)] = gregs.r_r14;
++ regs[REG_INDEX(R13)] = gregs.r_r13;
++ regs[REG_INDEX(R12)] = gregs.r_r12;
++ regs[REG_INDEX(RBP)] = gregs.r_rbp;
++ regs[REG_INDEX(RBX)] = gregs.r_rbx;
++ regs[REG_INDEX(R11)] = gregs.r_r11;
++ regs[REG_INDEX(R10)] = gregs.r_r10;
++ regs[REG_INDEX(R9)] = gregs.r_r9;
++ regs[REG_INDEX(R8)] = gregs.r_r8;
++ regs[REG_INDEX(RAX)] = gregs.r_rax;
++ regs[REG_INDEX(RCX)] = gregs.r_rcx;
++ regs[REG_INDEX(RDX)] = gregs.r_rdx;
++ regs[REG_INDEX(RSI)] = gregs.r_rsi;
++ regs[REG_INDEX(RDI)] = gregs.r_rdi;
++ regs[REG_INDEX(RIP)] = gregs.r_rip;
++ regs[REG_INDEX(CS)] = gregs.r_cs;
++ regs[REG_INDEX(RSP)] = gregs.r_rsp;
++ regs[REG_INDEX(SS)] = gregs.r_ss;
++// regs[REG_INDEX(FSBASE)] = gregs.fs_base;
++// regs[REG_INDEX(GSBASE)] = gregs.gs_base;
++// regs[REG_INDEX(DS)] = gregs.ds;
++// regs[REG_INDEX(ES)] = gregs.es;
++// regs[REG_INDEX(FS)] = gregs.fs;
++// regs[REG_INDEX(GS)] = gregs.gs;
+
+ #endif /* amd64 */
+
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/Makefile ./hotspot/agent/src/os/bsd/Makefile
+--- ../orig/hotspot/agent/src/os/bsd/Makefile 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/Makefile 2009-05-14 23:41:34.000000000 -0400
+@@ -22,7 +22,7 @@
+ #
+ #
+
+-ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
++ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "amd64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
+ GCC = gcc
+
+ JAVAH = ${JAVA_HOME}/bin/javah
+@@ -32,15 +32,16 @@ SOURCES = salibelf.c \
+ libproc_impl.c \
+ ps_proc.c \
+ ps_core.c \
+- BsdDebuggerLocal.c
++ hsearch_r.c \
++ BsdDebuggerLocal.c
+
+-INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/bsd
++INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]")
+
+ OBJS = $(SOURCES:.c=.o)
+
+-LIBS = -lthread_db
++LIBS = -lutil -lthread_db
+
+-CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES)
++CFLAGS = -c -fPIC -g -Wall -D_ALLBSD_SOURCE -D_GNU_SOURCE -D$(ARCH) $(INCLUDES)
+
+ LIBSA = $(ARCH)/libsaproc.so
+
+@@ -49,8 +50,7 @@ all: $(LIBSA)
+ BsdDebuggerLocal.o: BsdDebuggerLocal.c
+ $(JAVAH) -jni -classpath ../../../build/classes \
+ sun.jvm.hotspot.debugger.x86.X86ThreadContext \
+- sun.jvm.hotspot.debugger.sparc.SPARCThreadContext \
+- sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
++ sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext
+ $(GCC) $(CFLAGS) $<
+
+ .c.obj:
+@@ -64,14 +64,15 @@ $(LIBSA): $(OBJS) mapfile
+ if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
+ $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
+
+-test.o: test.c
++test.o: $(LIBSA) test.c
+ $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c
+
+ test: test.o
+ $(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS)
+
+ clean:
+- rm -rf $(LIBSA)
+- rm -rf $(OBJS)
+- rmdir $(ARCH)
++ rm -f $(LIBSA)
++ rm -f $(OBJS)
++ rm -f test.o
++ -rmdir $(ARCH)
+
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/elfmacros.h ./hotspot/agent/src/os/bsd/elfmacros.h
+--- ../orig/hotspot/agent/src/os/bsd/elfmacros.h 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/elfmacros.h 2009-05-14 23:41:34.000000000 -0400
+@@ -28,16 +28,19 @@
+ #ifndef _ELFMACROS_H_
+ #define _ELFMACROS_H_
+
++#define ELF_NHDR Elf_Note
++
+ #if defined(_LP64)
+ #define ELF_EHDR Elf64_Ehdr
+ #define ELF_SHDR Elf64_Shdr
+ #define ELF_PHDR Elf64_Phdr
+ #define ELF_SYM Elf64_Sym
+-#define ELF_NHDR Elf64_Nhdr
+ #define ELF_DYN Elf64_Dyn
+ #define ELF_ADDR Elf64_Addr
+
++#ifndef ELF_ST_TYPE
+ #define ELF_ST_TYPE ELF64_ST_TYPE
++#endif
+
+ #else
+
+@@ -45,11 +48,12 @@
+ #define ELF_SHDR Elf32_Shdr
+ #define ELF_PHDR Elf32_Phdr
+ #define ELF_SYM Elf32_Sym
+-#define ELF_NHDR Elf32_Nhdr
+ #define ELF_DYN Elf32_Dyn
+ #define ELF_ADDR Elf32_Addr
+
++#ifndef ELF_ST_TYPE
+ #define ELF_ST_TYPE ELF32_ST_TYPE
++#endif
+
+ #endif
+
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/hsearch_r.c ./hotspot/agent/src/os/bsd/hsearch_r.c
+--- ../orig/hotspot/agent/src/os/bsd/hsearch_r.c 1969-12-31 19:00:00.000000000 -0500
++++ ./hotspot/agent/src/os/bsd/hsearch_r.c 2009-05-14 23:41:34.000000000 -0400
+@@ -0,0 +1,217 @@
++/* Copyright (C) 1993,1995-1997,2002,2005,2007,2008
++ Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1993.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <stdlib.h>
++#include <string.h>
++
++#include <search.h>
++
++#include "hsearch_r.h"
++
++#define __set_errno(ERRNO) errno = ERRNO
++
++/* [Aho,Sethi,Ullman] Compilers: Principles, Techniques and Tools, 1986
++ [Knuth] The Art of Computer Programming, part 3 (6.4) */
++
++
++/* The reentrant version has no static variables to maintain the state.
++ Instead the interface of all functions is extended to take an argument
++ which describes the current status. */
++typedef struct _ENTRY
++{
++ unsigned int used;
++ ENTRY entry;
++}
++_ENTRY;
++
++
++/* For the used double hash method the table size has to be a prime. To
++ correct the user given table size we need a prime test. This trivial
++ algorithm is adequate because
++ a) the code is (most probably) called a few times per program run and
++ b) the number is small because the table must fit in the core */
++static int
++isprime (unsigned int number)
++{
++ /* no even number will be passed */
++ unsigned int div = 3;
++
++ while (div * div < number && number % div != 0)
++ div += 2;
++
++ return number % div != 0;
++}
++
++
++/* Before using the hash table we must allocate memory for it.
++ Test for an existing table are done. We allocate one element
++ more as the found prime number says. This is done for more effective
++ indexing as explained in the comment for the hsearch function.
++ The contents of the table is zeroed, especially the field used
++ becomes zero. */
++int
++hcreate_r (size_t nel, struct hsearch_data *htab)
++{
++ /* Test for correct arguments. */
++ if (htab == NULL)
++ {
++ __set_errno (EINVAL);
++ return 0;
++ }
++
++ /* There is still another table active. Return with error. */
++ if (htab->table != NULL)
++ return 0;
++
++ /* Change nel to the first prime number not smaller as nel. */
++ nel |= 1; /* make odd */
++ while (!isprime (nel))
++ nel += 2;
++
++ htab->size = nel;
++ htab->filled = 0;
++
++ /* allocate memory and zero out */
++ htab->table = (_ENTRY *) calloc (htab->size + 1, sizeof (_ENTRY));
++ if (htab->table == NULL)
++ return 0;
++
++ /* everything went alright */
++ return 1;
++}
++
++
++/* After using the hash table it has to be destroyed. The used memory can
++ be freed and the local static variable can be marked as not used. */
++void
++hdestroy_r (struct hsearch_data *htab)
++{
++ /* Test for correct arguments. */
++ if (htab == NULL)
++ {
++ __set_errno (EINVAL);
++ return;
++ }
++
++ /* Free used memory. */
++ free (htab->table);
++
++ /* the sign for an existing table is an value != NULL in htable */
++ htab->table = NULL;
++}
++
++
++/* This is the search function. It uses double hashing with open addressing.
++ The argument item.key has to be a pointer to an zero terminated, most
++ probably strings of chars. The function for generating a number of the
++ strings is simple but fast. It can be replaced by a more complex function
++ like ajw (see [Aho,Sethi,Ullman]) if the needs are shown.
++
++ We use an trick to speed up the lookup. The table is created by hcreate
++ with one more element available. This enables us to use the index zero
++ special. This index will never be used because we store the first hash
++ index in the field used where zero means not used. Every other value
++ means used. The used field can be used as a first fast comparison for
++ equality of the stored and the parameter value. This helps to prevent
++ unnecessary expensive calls of strcmp. */
++int
++hsearch_r (ENTRY item, ACTION action, ENTRY **retval, struct hsearch_data *htab)
++{
++ unsigned int hval;
++ unsigned int count;
++ unsigned int len = strlen (item.key);
++ unsigned int idx;
++
++ /* Compute an value for the given string. Perhaps use a better method. */
++ hval = len;
++ count = len;
++ while (count-- > 0)
++ {
++ hval <<= 4;
++ hval += item.key[count];
++ }
++
++ /* First hash function: simply take the modul but prevent zero. */
++ idx = hval % htab->size + 1;
++
++ if (htab->table[idx].used)
++ {
++ /* Further action might be required according to the action value. */
++ if (htab->table[idx].used == hval
++ && strcmp (item.key, htab->table[idx].entry.key) == 0)
++ {
++ *retval = &htab->table[idx].entry;
++ return 1;
++ }
++
++ /* Second hash function, as suggested in [Knuth] */
++ unsigned int hval2 = 1 + hval % (htab->size - 2);
++ unsigned int first_idx = idx;
++
++ do
++ {
++ /* Because SIZE is prime this guarantees to step through all
++ available indeces. */
++ if (idx <= hval2)
++ idx = htab->size + idx - hval2;
++ else
++ idx -= hval2;
++
++ /* If we visited all entries leave the loop unsuccessfully. */
++ if (idx == first_idx)
++ break;
++
++ /* If entry is found use it. */
++ if (htab->table[idx].used == hval
++ && strcmp (item.key, htab->table[idx].entry.key) == 0)
++ {
++ *retval = &htab->table[idx].entry;
++ return 1;
++ }
++ }
++ while (htab->table[idx].used);
++ }
++
++ /* An empty bucket has been found. */
++ if (action == ENTER)
++ {
++ /* If table is full and another entry should be entered return
++ with error. */
++ if (htab->filled == htab->size)
++ {
++ __set_errno (ENOMEM);
++ *retval = NULL;
++ return 0;
++ }
++
++ htab->table[idx].used = hval;
++ htab->table[idx].entry = item;
++
++ ++htab->filled;
++
++ *retval = &htab->table[idx].entry;
++ return 1;
++ }
++
++ __set_errno (ESRCH);
++ *retval = NULL;
++ return 0;
++}
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/hsearch_r.h ./hotspot/agent/src/os/bsd/hsearch_r.h
+--- ../orig/hotspot/agent/src/os/bsd/hsearch_r.h 1969-12-31 19:00:00.000000000 -0500
++++ ./hotspot/agent/src/os/bsd/hsearch_r.h 2009-05-14 23:41:34.000000000 -0400
+@@ -0,0 +1,42 @@
++/* Declarations for System V style searching functions.
++ Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _HSEARCH_R_H_
++#define _HSEARCH_R_H_
++
++#include <search.h>
++
++struct _ENTRY;
++
++/* Data type for reentrant functions. */
++struct hsearch_data
++ {
++ struct _ENTRY *table;
++ unsigned int size;
++ unsigned int filled;
++ };
++
++/* Reentrant versions which can handle multiple hashing tables at the
++ same time. */
++extern int hsearch_r (ENTRY __item, ACTION __action, ENTRY **__retval,
++ struct hsearch_data *__htab);
++extern int hcreate_r (size_t __nel, struct hsearch_data *__htab);
++extern void hdestroy_r (struct hsearch_data *__htab);
++
++#endif /* _HSEARCH_R_H_ */
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/libproc.h ./hotspot/agent/src/os/bsd/libproc.h
+--- ../orig/hotspot/agent/src/os/bsd/libproc.h 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/libproc.h 2009-05-14 23:41:34.000000000 -0400
+@@ -30,7 +30,8 @@
+
+ #include <unistd.h>
+ #include <stdint.h>
+-#include "proc_service.h"
++#include <machine/reg.h>
++#include <proc_service.h>
+
+ #if defined(sparc) || defined(sparcv9)
+ /*
+@@ -53,14 +54,11 @@ Please note that the bulk of the functio
+ adds Pgrab__ and some missing stuff. We hide the difference b/w live process and core
+ file by this interface.
+
+-1. pthread_id unique in both NPTL & BsdThreads. We store this in
+-OSThread::_pthread_id in JVM code.
++1. pthread_id is unique. We store this in OSThread::_pthread_id in JVM code.
+
+-2. All threads see the same pid when they call getpid() under NPTL.
+-Threads receive different pid under BsdThreads. We used to save the result of
+-::getpid() call in OSThread::_thread_id. This way uniqueness of OSThread::_thread_id
+-was lost under NPTL. Now, we store the result of ::gettid() call in
+-OSThread::_thread_id. Because gettid returns actual pid of thread (lwp id), this is
++2. All threads see the same pid when they call getpid().
++We used to save the result of ::getpid() call in OSThread::_thread_id.
++Because gettid returns actual pid of thread (lwp id), this is
+ unique again. We therefore use OSThread::_thread_id as unique identifier.
+
+ 3. There is a unique LWP id under both thread libraries. libthread_db maps pthread_id
+@@ -77,19 +75,6 @@ combination of ptrace and /proc calls.
+
+ *************************************************************************************/
+
+-#ifdef ia64
+-struct user_regs_struct {
+-/* copied from user.h which doesn't define this in a struct */
+-
+-#define IA64_REG_COUNT (EF_SIZE/8+32) /* integer and fp regs */
+-unsigned long regs[IA64_REG_COUNT]; /* integer and fp regs */
+-};
+-#endif
+-
+-#if defined(sparc) || defined(sparcv9)
+-#define user_regs_struct pt_regs
+-#endif
+-
+ // This C bool type must be int for compatibility with Bsd calls and
+ // it would be a mistake to equivalence it to C++ bool on many platforms
+
+@@ -121,7 +106,7 @@ int get_num_threads(struct ps_prochandle
+ lwpid_t get_lwp_id(struct ps_prochandle* ph, int index);
+
+ // get regs for a given lwp
+-bool get_lwp_regs(struct ps_prochandle* ph, lwpid_t lid, struct user_regs_struct* regs);
++bool get_lwp_regs(struct ps_prochandle* ph, lwpid_t lid, struct reg* regs);
+
+ // get number of shared objects
+ int get_num_libs(struct ps_prochandle* ph);
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/libproc_impl.c ./hotspot/agent/src/os/bsd/libproc_impl.c
+--- ../orig/hotspot/agent/src/os/bsd/libproc_impl.c 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/libproc_impl.c 2009-05-14 23:41:34.000000000 -0400
+@@ -181,6 +181,9 @@ lib_info* add_lib_info_fd(struct ps_proc
+ if (newlib->symtab == NULL) {
+ print_debug("symbol table build failed for %s\n", newlib->name);
+ }
++ else {
++ print_debug("built symbol table for %s\n", newlib->name);
++ }
+
+ // even if symbol table building fails, we add the lib_info.
+ // This is because we may need to read from the ELF file for core file
+@@ -275,7 +278,7 @@ static int thread_db_callback(const td_t
+
+ print_debug("thread_db : pthread %d (lwp %d)\n", ti.ti_tid, ti.ti_lid);
+
+- if (ptr->callback(ptr->ph, ti.ti_tid, ti.ti_lid) != true)
++ if (ptr->callback(ptr->ph, (pthread_t)ti.ti_tid, ti.ti_lid) != true)
+ return TD_ERR;
+
+ return TD_OK;
+@@ -327,7 +330,7 @@ lwpid_t get_lwp_id(struct ps_prochandle*
+ }
+
+ // get regs for a given lwp
+-bool get_lwp_regs(struct ps_prochandle* ph, lwpid_t lwp_id, struct user_regs_struct* regs) {
++bool get_lwp_regs(struct ps_prochandle* ph, lwpid_t lwp_id, struct reg* regs) {
+ return ph->ops->get_lwp_regs(ph, lwp_id, regs);
+ }
+
+@@ -378,11 +381,6 @@ bool find_lib(struct ps_prochandle* ph,
+ //--------------------------------------------------------------------------
+ // proc service functions
+
+-// get process id
+-pid_t ps_getpid(struct ps_prochandle *ph) {
+- return ph->pid;
+-}
+-
+ // ps_pglobal_lookup() looks up the symbol sym_name in the symbol table
+ // of the load object object_name in the target process identified by ph.
+ // It returns the symbol's value as an address in the target process in
+@@ -395,17 +393,33 @@ ps_err_e ps_pglobal_lookup(struct ps_pro
+ }
+
+ // read "size" bytes info "buf" from address "addr"
+-ps_err_e ps_pdread(struct ps_prochandle *ph, psaddr_t addr,
++ps_err_e ps_pread(struct ps_prochandle *ph, psaddr_t addr,
+ void *buf, size_t size) {
+ return ph->ops->p_pread(ph, (uintptr_t) addr, buf, size)? PS_OK: PS_ERR;
+ }
+
+ // write "size" bytes of data to debuggee at address "addr"
+-ps_err_e ps_pdwrite(struct ps_prochandle *ph, psaddr_t addr,
++ps_err_e ps_pwrite(struct ps_prochandle *ph, psaddr_t addr,
+ const void *buf, size_t size) {
+ return ph->ops->p_pwrite(ph, (uintptr_t)addr, buf, size)? PS_OK: PS_ERR;
+ }
+
++// fill in ptrace_lwpinfo for lid
++ps_err_e ps_linfo(struct ps_prochandle *ph, lwpid_t lwp_id, void *linfo) {
++ return ph->ops->get_lwp_info(ph, lwp_id, linfo)? PS_OK: PS_ERR;
++}
++
++// needed for when libthread_db is compiled with TD_DEBUG defined
++void
++ps_plog (const char *format, ...)
++{
++ va_list alist;
++
++ va_start(alist, format);
++ vfprintf(stderr, format, alist);
++ va_end(alist);
++}
++
+ // ------------------------------------------------------------------------
+ // Functions below this point are not yet implemented. They are here only
+ // to make the linker happy.
+@@ -430,9 +444,12 @@ ps_err_e ps_lgetregs(struct ps_prochandl
+ return PS_OK;
+ }
+
+-// new libthread_db of NPTL seem to require this symbol
+-ps_err_e ps_get_thread_area() {
+- print_debug("ps_get_thread_area not implemented\n");
++ps_err_e ps_lstop(struct ps_prochandle *ph, lwpid_t lid) {
++ print_debug("ps_lstop not implemented\n");
+ return PS_OK;
+ }
+
++ps_err_e ps_pcontinue(struct ps_prochandle *ph) {
++ print_debug("ps_pcontinue not implemented\n");
++ return PS_OK;
++}
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/libproc_impl.h ./hotspot/agent/src/os/bsd/libproc_impl.h
+--- ../orig/hotspot/agent/src/os/bsd/libproc_impl.h 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/libproc_impl.h 2009-05-14 23:41:34.000000000 -0400
+@@ -50,7 +50,7 @@ typedef struct lib_info {
+ typedef struct thread_info {
+ lwpid_t lwp_id;
+ pthread_t pthread_id; // not used cores, always -1
+- struct user_regs_struct regs; // not for process, core uses for caching regset
++ struct reg regs; // not for process, core uses for caching regset
+ struct thread_info* next;
+ } thread_info;
+
+@@ -74,7 +74,9 @@ typedef struct ps_prochandle_ops {
+ bool (*p_pwrite)(struct ps_prochandle *ph,
+ uintptr_t addr, const char *buf , size_t size);
+ // get integer regset of a thread
+- bool (*get_lwp_regs)(struct ps_prochandle* ph, lwpid_t lwp_id, struct user_regs_struct* regs);
++ bool (*get_lwp_regs)(struct ps_prochandle* ph, lwpid_t lwp_id, struct reg* regs);
++ // get info on thread
++ bool (*get_lwp_info)(struct ps_prochandle *ph, lwpid_t lwp_id, void *linfo);
+ } ps_prochandle_ops;
+
+ // the ps_prochandle
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/mapfile ./hotspot/agent/src/os/bsd/mapfile
+--- ../orig/hotspot/agent/src/os/bsd/mapfile 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/mapfile 2009-05-14 23:41:34.000000000 -0400
+@@ -43,15 +43,21 @@ SUNWprivate_1.1 {
+ Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_getThreadIntegerRegisterSet0;
+
+ # proc_service.h functions - to be used by libthread_db
+- ps_getpid;
+ ps_pglobal_lookup;
+- ps_pdread;
+- ps_pdwrite;
++ ps_pread;
++ ps_pwrite;
++ ps_linfo;
++ ps_plog;
++
++ # dummy implementations of proc_service.h functions
++ # presumably unused but needed to avoid undefined symbols
++ # export LIBSAPROC_DEBUG=1 to see if actually used
+ ps_lsetfpregs;
+ ps_lsetregs;
+ ps_lgetfpregs;
+ ps_lgetregs;
+- ps_get_thread_area;
++ ps_lstop;
++ ps_lcontinue;
+
+ # used by attach test program
+ init_libproc;
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/proc_service.h ./hotspot/agent/src/os/bsd/proc_service.h
+--- ../orig/hotspot/agent/src/os/bsd/proc_service.h 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/proc_service.h 2009-05-14 23:41:34.000000000 -0400
+@@ -25,6 +25,8 @@
+ *
+ */
+
++#error Should be using system proc_service.h
++
+ #ifndef _PROC_SERVICE_H_
+ #define _PROC_SERVICE_H_
+
+@@ -58,11 +60,11 @@ ps_err_e ps_pglobal_lookup(struct ps_pro
+ const char *sym_name, psaddr_t *sym_addr);
+
+ // read "size" bytes of data from debuggee at address "addr"
+-ps_err_e ps_pdread(struct ps_prochandle *ph, psaddr_t addr,
++ps_err_e ps_pread(struct ps_prochandle *ph, psaddr_t addr,
+ void *buf, size_t size);
+
+ // write "size" bytes of data to debuggee at address "addr"
+-ps_err_e ps_pdwrite(struct ps_prochandle *ph, psaddr_t addr,
++ps_err_e ps_pwrite(struct ps_prochandle *ph, psaddr_t addr,
+ const void *buf, size_t size);
+
+ ps_err_e ps_lsetfpregs(struct ps_prochandle *ph, lwpid_t lid, const prfpregset_t *fpregs);
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/ps_core.c ./hotspot/agent/src/os/bsd/ps_core.c
+--- ../orig/hotspot/agent/src/os/bsd/ps_core.c 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/ps_core.c 2009-05-14 23:41:34.000000000 -0400
+@@ -145,6 +145,7 @@ static map_info* add_class_share_map_inf
+
+ map->next = ph->core->class_share_maps;
+ ph->core->class_share_maps = map;
++ return map;
+ }
+
+ // Return the map_info for the given virtual address. We keep a sorted
+@@ -243,7 +244,7 @@ struct FileMapHeader {
+
+ static bool read_int(struct ps_prochandle* ph, uintptr_t addr, int* pvalue) {
+ int i;
+- if (ps_pdread(ph, (psaddr_t) addr, &i, sizeof(i)) == PS_OK) {
++ if (ps_pread(ph, (psaddr_t) addr, &i, sizeof(i)) == PS_OK) {
+ *pvalue = i;
+ return true;
+ } else {
+@@ -253,7 +254,7 @@ static bool read_int(struct ps_prochandl
+
+ static bool read_pointer(struct ps_prochandle* ph, uintptr_t addr, uintptr_t* pvalue) {
+ uintptr_t uip;
+- if (ps_pdread(ph, (psaddr_t) addr, &uip, sizeof(uip)) == PS_OK) {
++ if (ps_pread(ph, (psaddr_t) addr, &uip, sizeof(uip)) == PS_OK) {
+ *pvalue = uip;
+ return true;
+ } else {
+@@ -267,7 +268,7 @@ static bool read_string(struct ps_procha
+ char c = ' ';
+
+ while (c != '\0') {
+- if (ps_pdread(ph, (psaddr_t) addr, &c, sizeof(char)) != PS_OK)
++ if (ps_pread(ph, (psaddr_t) addr, &c, sizeof(char)) != PS_OK)
+ return false;
+ if (i < size - 1)
+ buf[i] = c;
+@@ -507,24 +508,30 @@ static bool core_write_data(struct ps_pr
+ }
+
+ static bool core_get_lwp_regs(struct ps_prochandle* ph, lwpid_t lwp_id,
+- struct user_regs_struct* regs) {
++ struct reg* regs) {
+ // for core we have cached the lwp regs from NOTE section
+ thread_info* thr = ph->threads;
+ while (thr) {
+ if (thr->lwp_id == lwp_id) {
+- memcpy(regs, &thr->regs, sizeof(struct user_regs_struct));
++ memcpy(regs, &thr->regs, sizeof(struct reg));
+ return true;
+ }
+ thr = thr->next;
+ }
+ return false;
+ }
++
++static bool core_get_lwp_info(struct ps_prochandle *ph, lwpid_t lwp_id, void *linfo) {
++ print_debug("core_get_lwp_info not implemented\n");
++ return false;
++}
+
+ static ps_prochandle_ops core_ops = {
+- release: core_release,
+- p_pread: core_read_data,
+- p_pwrite: core_write_data,
+- get_lwp_regs: core_get_lwp_regs
++ .release= core_release,
++ .p_pread= core_read_data,
++ .p_pwrite= core_write_data,
++ .get_lwp_regs= core_get_lwp_regs,
++ .get_lwp_info= core_get_lwp_info
+ };
+
+ // read regs and create thread from NT_PRSTATUS entries from core file
+@@ -539,52 +546,52 @@ static bool core_handle_prstatus(struct
+ return false;
+
+ // copy regs
+- memcpy(&newthr->regs, prstat->pr_reg, sizeof(struct user_regs_struct));
++ memcpy(&newthr->regs, &prstat->pr_reg, sizeof(struct reg));
+
+ if (is_debug()) {
+ print_debug("integer regset\n");
+ #ifdef i386
+ // print the regset
+- print_debug("\teax = 0x%x\n", newthr->regs.eax);
+- print_debug("\tebx = 0x%x\n", newthr->regs.ebx);
+- print_debug("\tecx = 0x%x\n", newthr->regs.ecx);
+- print_debug("\tedx = 0x%x\n", newthr->regs.edx);
+- print_debug("\tesp = 0x%x\n", newthr->regs.esp);
+- print_debug("\tebp = 0x%x\n", newthr->regs.ebp);
+- print_debug("\tesi = 0x%x\n", newthr->regs.esi);
+- print_debug("\tedi = 0x%x\n", newthr->regs.edi);
+- print_debug("\teip = 0x%x\n", newthr->regs.eip);
++ print_debug("\teax = 0x%x\n", newthr->regs.r_eax);
++ print_debug("\tebx = 0x%x\n", newthr->regs.r_ebx);
++ print_debug("\tecx = 0x%x\n", newthr->regs.r_ecx);
++ print_debug("\tedx = 0x%x\n", newthr->regs.r_edx);
++ print_debug("\tesp = 0x%x\n", newthr->regs.r_esp);
++ print_debug("\tebp = 0x%x\n", newthr->regs.r_ebp);
++ print_debug("\tesi = 0x%x\n", newthr->regs.r_esi);
++ print_debug("\tedi = 0x%x\n", newthr->regs.r_edi);
++ print_debug("\teip = 0x%x\n", newthr->regs.r_eip);
+ #endif
+
+ #if defined(amd64) || defined(x86_64)
+ // print the regset
+- print_debug("\tr15 = 0x%lx\n", newthr->regs.r15);
+- print_debug("\tr14 = 0x%lx\n", newthr->regs.r14);
+- print_debug("\tr13 = 0x%lx\n", newthr->regs.r13);
+- print_debug("\tr12 = 0x%lx\n", newthr->regs.r12);
+- print_debug("\trbp = 0x%lx\n", newthr->regs.rbp);
+- print_debug("\trbx = 0x%lx\n", newthr->regs.rbx);
+- print_debug("\tr11 = 0x%lx\n", newthr->regs.r11);
+- print_debug("\tr10 = 0x%lx\n", newthr->regs.r10);
+- print_debug("\tr9 = 0x%lx\n", newthr->regs.r9);
+- print_debug("\tr8 = 0x%lx\n", newthr->regs.r8);
+- print_debug("\trax = 0x%lx\n", newthr->regs.rax);
+- print_debug("\trcx = 0x%lx\n", newthr->regs.rcx);
+- print_debug("\trdx = 0x%lx\n", newthr->regs.rdx);
+- print_debug("\trsi = 0x%lx\n", newthr->regs.rsi);
+- print_debug("\trdi = 0x%lx\n", newthr->regs.rdi);
+- print_debug("\torig_rax = 0x%lx\n", newthr->regs.orig_rax);
+- print_debug("\trip = 0x%lx\n", newthr->regs.rip);
+- print_debug("\tcs = 0x%lx\n", newthr->regs.cs);
+- print_debug("\teflags = 0x%lx\n", newthr->regs.eflags);
+- print_debug("\trsp = 0x%lx\n", newthr->regs.rsp);
+- print_debug("\tss = 0x%lx\n", newthr->regs.ss);
+- print_debug("\tfs_base = 0x%lx\n", newthr->regs.fs_base);
+- print_debug("\tgs_base = 0x%lx\n", newthr->regs.gs_base);
+- print_debug("\tds = 0x%lx\n", newthr->regs.ds);
+- print_debug("\tes = 0x%lx\n", newthr->regs.es);
+- print_debug("\tfs = 0x%lx\n", newthr->regs.fs);
+- print_debug("\tgs = 0x%lx\n", newthr->regs.gs);
++ print_debug("\tr15 = 0x%lx\n", newthr->regs.r_r15);
++ print_debug("\tr14 = 0x%lx\n", newthr->regs.r_r14);
++ print_debug("\tr13 = 0x%lx\n", newthr->regs.r_r13);
++ print_debug("\tr12 = 0x%lx\n", newthr->regs.r_r12);
++ print_debug("\trbp = 0x%lx\n", newthr->regs.r_rbp);
++ print_debug("\trbx = 0x%lx\n", newthr->regs.r_rbx);
++ print_debug("\tr11 = 0x%lx\n", newthr->regs.r_r11);
++ print_debug("\tr10 = 0x%lx\n", newthr->regs.r_r10);
++ print_debug("\tr9 = 0x%lx\n", newthr->regs.r_r9);
++ print_debug("\tr8 = 0x%lx\n", newthr->regs.r_r8);
++ print_debug("\trax = 0x%lx\n", newthr->regs.r_rax);
++ print_debug("\trcx = 0x%lx\n", newthr->regs.r_rcx);
++ print_debug("\trdx = 0x%lx\n", newthr->regs.r_rdx);
++ print_debug("\trsi = 0x%lx\n", newthr->regs.r_rsi);
++ print_debug("\trdi = 0x%lx\n", newthr->regs.r_rdi);
++ //print_debug("\torig_rax = 0x%lx\n", newthr->regs.orig_rax);
++ print_debug("\trip = 0x%lx\n", newthr->regs.r_rip);
++ print_debug("\tcs = 0x%lx\n", newthr->regs.r_cs);
++ //print_debug("\teflags = 0x%lx\n", newthr->regs.eflags);
++ print_debug("\trsp = 0x%lx\n", newthr->regs.r_rsp);
++ print_debug("\tss = 0x%lx\n", newthr->regs.r_ss);
++ //print_debug("\tfs_base = 0x%lx\n", newthr->regs.fs_base);
++ //print_debug("\tgs_base = 0x%lx\n", newthr->regs.gs_base);
++ //print_debug("\tds = 0x%lx\n", newthr->regs.ds);
++ //print_debug("\tes = 0x%lx\n", newthr->regs.es);
++ //print_debug("\tfs = 0x%lx\n", newthr->regs.fs);
++ //print_debug("\tgs = 0x%lx\n", newthr->regs.gs);
+ #endif
+ }
+
+@@ -826,7 +833,7 @@ static bool read_shared_lib_info(struct
+
+ dyn.d_tag = DT_NULL;
+ while (dyn.d_tag != DT_DEBUG) {
+- if (ps_pdread(ph, (psaddr_t) addr, &dyn, sizeof(ELF_DYN)) != PS_OK) {
++ if (ps_pread(ph, (psaddr_t) addr, &dyn, sizeof(ELF_DYN)) != PS_OK) {
+ print_debug("can't read debug info from _DYNAMIC\n");
+ return false;
+ }
+@@ -836,19 +843,23 @@ static bool read_shared_lib_info(struct
+ // we have got Dyn entry with DT_DEBUG
+ debug_base = dyn.d_un.d_ptr;
+ // at debug_base we have struct r_debug. This has first link map in r_map field
+- if (ps_pdread(ph, (psaddr_t) debug_base + FIRST_LINK_MAP_OFFSET,
++ if (ps_pread(ph, (psaddr_t) debug_base + FIRST_LINK_MAP_OFFSET,
+ &first_link_map_addr, sizeof(uintptr_t)) != PS_OK) {
+ print_debug("can't read first link map address\n");
+ return false;
+ }
+
+ // read ld_base address from struct r_debug
+- if (ps_pdread(ph, (psaddr_t) debug_base + LD_BASE_OFFSET, &ld_base_addr,
++ // XXX: There is no r_ldbase member on BSD
++/*
++ if (ps_pread(ph, (psaddr_t) debug_base + LD_BASE_OFFSET, &ld_base_addr,
+ sizeof(uintptr_t)) != PS_OK) {
+ print_debug("can't read ld base address\n");
+ return false;
+ }
+ ph->core->ld_base_addr = ld_base_addr;
++*/
++ ph->core->ld_base_addr = 0;
+
+ print_debug("interpreter base address is 0x%lx\n", ld_base_addr);
+
+@@ -870,14 +881,14 @@ static bool read_shared_lib_info(struct
+ // address mentioned in shared object and the actual virtual base where runtime
+ // linker loaded it. We use "base diff" in read_lib_segments call below.
+
+- if (ps_pdread(ph, (psaddr_t) link_map_addr + LINK_MAP_ADDR_OFFSET,
++ if (ps_pread(ph, (psaddr_t) link_map_addr + LINK_MAP_ADDR_OFFSET,
+ &lib_base_diff, sizeof(uintptr_t)) != PS_OK) {
+ print_debug("can't read shared object base address diff\n");
+ return false;
+ }
+
+ // read address of the name
+- if (ps_pdread(ph, (psaddr_t) link_map_addr + LINK_MAP_NAME_OFFSET,
++ if (ps_pread(ph, (psaddr_t) link_map_addr + LINK_MAP_NAME_OFFSET,
+ &lib_name_addr, sizeof(uintptr_t)) != PS_OK) {
+ print_debug("can't read address of shared object name\n");
+ return false;
+@@ -921,7 +932,7 @@ static bool read_shared_lib_info(struct
+ }
+
+ // read next link_map address
+- if (ps_pdread(ph, (psaddr_t) link_map_addr + LINK_MAP_NEXT_OFFSET,
++ if (ps_pread(ph, (psaddr_t) link_map_addr + LINK_MAP_NEXT_OFFSET,
+ &link_map_addr, sizeof(uintptr_t)) != PS_OK) {
+ print_debug("can't read next link in link_map\n");
+ return false;
+@@ -935,7 +946,6 @@ static bool read_shared_lib_info(struct
+ struct ps_prochandle* Pgrab_core(const char* exec_file, const char* core_file) {
+ ELF_EHDR core_ehdr;
+ ELF_EHDR exec_ehdr;
+- ELF_EHDR lib_ehdr;
+
+ struct ps_prochandle* ph = (struct ps_prochandle*) calloc(1, sizeof(struct ps_prochandle));
+ if (ph == NULL) {
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/ps_proc.c ./hotspot/agent/src/os/bsd/ps_proc.c
+--- ../orig/hotspot/agent/src/os/bsd/ps_proc.c 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/ps_proc.c 2009-05-15 09:49:29.000000000 -0400
+@@ -25,20 +25,22 @@
+ *
+ */
+
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <errno.h>
++#include <sys/types.h>
++#include <sys/wait.h>
+ #include <sys/ptrace.h>
++#include <sys/param.h>
++#include <sys/user.h>
++#include <elf.h>
++#include <sys/elf_common.h>
++#include <sys/link_elf.h>
++#include <libutil.h>
+ #include "libproc_impl.h"
+-
+-#if defined(x86_64) && !defined(amd64)
+-#define amd64 1
+-#endif
+-
+-#ifndef __WALL
+-#define __WALL 0x40000000 // Copied from /usr/include/bsd/wait.h
+-#endif
++#include "elfmacros.h"
+
+ // This file has the libproc implementation specific to live process
+ // For core files, refer to ps_core.c
+@@ -57,46 +59,46 @@ static inline uintptr_t align(uintptr_t
+ // before calling process_read_data.
+
+ static bool process_read_data(struct ps_prochandle* ph, uintptr_t addr, char *buf, size_t size) {
+- long rslt;
++ int rslt;
+ size_t i, words;
+ uintptr_t end_addr = addr + size;
+- uintptr_t aligned_addr = align(addr, sizeof(long));
++ uintptr_t aligned_addr = align(addr, sizeof(int));
+
+ if (aligned_addr != addr) {
+ char *ptr = (char *)&rslt;
+ errno = 0;
+- rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0);
++ rslt = ptrace(PT_READ_D, ph->pid, (caddr_t) aligned_addr, 0);
+ if (errno) {
+- print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr);
++ print_debug("ptrace(PT_READ_D, ..) failed for %d bytes @ %lx\n", size, addr);
+ return false;
+ }
+ for (; aligned_addr != addr; aligned_addr++, ptr++);
+- for (; ((intptr_t)aligned_addr % sizeof(long)) && aligned_addr < end_addr;
++ for (; ((intptr_t)aligned_addr % sizeof(int)) && aligned_addr < end_addr;
+ aligned_addr++)
+ *(buf++) = *(ptr++);
+ }
+
+- words = (end_addr - aligned_addr) / sizeof(long);
++ words = (end_addr - aligned_addr) / sizeof(int);
+
+- // assert((intptr_t)aligned_addr % sizeof(long) == 0);
++ // assert((intptr_t)aligned_addr % sizeof(int) == 0);
+ for (i = 0; i < words; i++) {
+ errno = 0;
+- rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0);
+- if (errno) {
+- print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr);
++ rslt = ptrace(PT_READ_D, ph->pid, (caddr_t) aligned_addr, 0);
++ if (errno) {
++ print_debug("ptrace(PT_READ_D, ..) failed for %d bytes @ %lx\n", size, addr);
+ return false;
+ }
+- *(long *)buf = rslt;
+- buf += sizeof(long);
+- aligned_addr += sizeof(long);
++ *(int *)buf = rslt;
++ buf += sizeof(int);
++ aligned_addr += sizeof(int);
+ }
+
+ if (aligned_addr != end_addr) {
+ char *ptr = (char *)&rslt;
+ errno = 0;
+- rslt = ptrace(PTRACE_PEEKDATA, ph->pid, aligned_addr, 0);
++ rslt = ptrace(PT_READ_D, ph->pid, (caddr_t) aligned_addr, 0);
+ if (errno) {
+- print_debug("ptrace(PTRACE_PEEKDATA, ..) failed for %d bytes @ %lx\n", size, addr);
++ print_debug("ptrace(PT_READ_D, ..) failed for %d bytes @ %lx\n", size, addr);
+ return false;
+ }
+ for (; aligned_addr != end_addr; aligned_addr++)
+@@ -111,45 +113,28 @@ static bool process_write_data(struct ps
+ return false;
+ }
+
+-// "user" should be a pointer to a user_regs_struct
+-static bool process_get_lwp_regs(struct ps_prochandle* ph, pid_t pid, struct user_regs_struct *user) {
++// "user" should be a pointer to a reg
++static bool process_get_lwp_regs(struct ps_prochandle* ph, pid_t pid, struct reg *user) {
+ // we have already attached to all thread 'pid's, just use ptrace call
+ // to get regset now. Note that we don't cache regset upfront for processes.
+-// Bsd on x86 and sparc are different. On x86 ptrace(PTRACE_GETREGS, ...)
+-// uses pointer from 4th argument and ignores 3rd argument. On sparc it uses
+-// pointer from 3rd argument and ignores 4th argument
+-#if defined(sparc) || defined(sparcv9)
+-#define ptrace_getregs(request, pid, addr, data) ptrace(request, pid, addr, data)
+-#else
+-#define ptrace_getregs(request, pid, addr, data) ptrace(request, pid, data, addr)
+-#endif
+-
+-#ifdef _LP64
+-#ifdef PTRACE_GETREGS64
+-#define PTRACE_GETREGS_REQ PTRACE_GETREGS64
+-#endif
+-#else
+-#if defined(PTRACE_GETREGS) || defined(PT_GETREGS)
+-#define PTRACE_GETREGS_REQ PTRACE_GETREGS
+-#endif
+-#endif /* _LP64 */
+-
+-#ifdef PTRACE_GETREGS_REQ
+- if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, user, NULL) < 0) {
++ if (ptrace(PT_GETREGS, pid, (caddr_t) user, 0) < 0) {
+ print_debug("ptrace(PTRACE_GETREGS, ...) failed for lwp %d\n", pid);
+ return false;
+ }
+ return true;
+-#else
+- print_debug("ptrace(PTRACE_GETREGS, ...) not supported\n");
+- return false;
+-#endif
++}
++
++// fill in ptrace_lwpinfo for lid
++static bool process_get_lwp_info(struct ps_prochandle *ph, lwpid_t lwp_id, void *linfo) {
++ errno = 0;
++ ptrace(PT_LWPINFO, lwp_id, linfo, sizeof(struct ptrace_lwpinfo));
+
++ return (errno == 0)? true: false;
+ }
+
+ // attach to a process/thread specified by "pid"
+ static bool ptrace_attach(pid_t pid) {
+- if (ptrace(PTRACE_ATTACH, pid, NULL, NULL) < 0) {
++ if (ptrace(PT_ATTACH, pid, NULL, 0) < 0) {
+ print_debug("ptrace(PTRACE_ATTACH, ..) failed for %d\n", pid);
+ return false;
+ } else {
+@@ -158,10 +143,6 @@ static bool ptrace_attach(pid_t pid) {
+ do {
+ // Wait for debuggee to stop.
+ ret = waitpid(pid, &status, 0);
+- if (ret == -1 && errno == ECHILD) {
+- // try cloned process.
+- ret = waitpid(pid, &status, __WALL);
+- }
+ if (ret >= 0) {
+ if (WIFSTOPPED(status)) {
+ // Debuggee stopped.
+@@ -194,85 +175,222 @@ static bool ptrace_attach(pid_t pid) {
+ // functions for obtaining library information
+ // -------------------------------------------------------
+
+-/*
+- * splits a string _str_ into substrings with delimiter _delim_ by replacing old * delimiters with _new_delim_ (ideally, '\0'). the address of each substring
+- * is stored in array _ptrs_ as the return value. the maximum capacity of _ptrs_ * array is specified by parameter _n_.
+- * RETURN VALUE: total number of substrings (always <= _n_)
+- * NOTE: string _str_ is modified if _delim_!=_new_delim_
+- */
+-static int split_n_str(char * str, int n, char ** ptrs, char delim, char new_delim)
+-{
+- int i;
+- for(i = 0; i < n; i++) ptrs[i] = NULL;
+- if (str == NULL || n < 1 ) return 0;
+-
+- i = 0;
+-
+- // skipping leading blanks
+- while(*str&&*str==delim) str++;
+-
+- while(*str&&i<n){
+- ptrs[i++] = str;
+- while(*str&&*str!=delim) str++;
+- while(*str&&*str==delim) *(str++) = new_delim;
+- }
+-
+- return i;
++// callback for read_thread_info
++static bool add_new_thread(struct ps_prochandle* ph, pthread_t pthread_id, lwpid_t lwp_id) {
++ return add_thread_info(ph, pthread_id, lwp_id) != NULL;
+ }
+
++#if defined(__FreeBSD__) && __FreeBSD_version < 701000
+ /*
+- * fgets without storing '\n' at the end of the string
++ * TEXT_START_ADDR from binutils/ld/emulparams/<arch_spec>.sh
++ * Not the most robust but good enough.
+ */
+-static char * fgets_no_cr(char * buf, int n, FILE *fp)
+-{
+- char * rslt = fgets(buf, n, fp);
+- if (rslt && buf && *buf){
+- char *p = strchr(buf, '\0');
+- if (*--p=='\n') *p='\0';
+- }
+- return rslt;
+-}
+
+-// callback for read_thread_info
+-static bool add_new_thread(struct ps_prochandle* ph, pthread_t pthread_id, lwpid_t lwp_id) {
+- return add_thread_info(ph, pthread_id, lwp_id) != NULL;
++#if defined(amd64) || defined(x86_64)
++#define TEXT_START_ADDR 0x400000
++#elif defined(i386)
++#define TEXT_START_ADDR 0x8048000
++#else
++#error TEXT_START_ADDR not defined
++#endif
++
++#define BUF_SIZE (PATH_MAX + NAME_MAX + 1)
++
++uintptr_t linkmap_addr(struct ps_prochandle *ph) {
++ uintptr_t ehdr_addr, phdr_addr, dyn_addr, dmap_addr, lmap_addr;
++ ELF_EHDR ehdr;
++ ELF_PHDR *phdrs, *phdr;
++ ELF_DYN *dyns, *dyn;
++ struct r_debug dmap;
++ unsigned long hdrs_size;
++ unsigned int i;
++
++ /* read ELF_EHDR at TEXT_START_ADDR and validate */
++
++ ehdr_addr = (uintptr_t)TEXT_START_ADDR;
++
++ if (process_read_data(ph, ehdr_addr, (char *)&ehdr, sizeof(ehdr)) != true) {
++ print_debug("process_read_data failed for ehdr_addr %p\n", ehdr_addr);
++ return (0);
++ }
++
++ if (!IS_ELF(ehdr) ||
++ ehdr.e_ident[EI_CLASS] != ELF_TARG_CLASS ||
++ ehdr.e_ident[EI_DATA] != ELF_TARG_DATA ||
++ ehdr.e_ident[EI_VERSION] != EV_CURRENT ||
++ ehdr.e_phentsize != sizeof(ELF_PHDR) ||
++ ehdr.e_version != ELF_TARG_VER ||
++ ehdr.e_machine != ELF_TARG_MACH) {
++ print_debug("not an ELF_EHDR at %p\n", ehdr_addr);
++ return (0);
++ }
++
++ /* allocate space for all ELF_PHDR's and read */
++
++ phdr_addr = ehdr_addr + ehdr.e_phoff;
++ hdrs_size = ehdr.e_phnum * sizeof(ELF_PHDR);
++
++ if ((phdrs = malloc(hdrs_size)) == NULL)
++ return (0);
++
++ if (process_read_data(ph, phdr_addr, (char *)phdrs, hdrs_size) != true) {
++ print_debug("process_read_data failed for phdr_addr %p\n", phdr_addr);
++ return (0);
++ }
++
++ /* find PT_DYNAMIC section */
++
++ for (i = 0, phdr = phdrs; i < ehdr.e_phnum; i++, phdr++) {
++ if (phdr->p_type == PT_DYNAMIC)
++ break;
++ }
++
++ if (i >= ehdr.e_phnum) {
++ print_debug("PT_DYNAMIC section not found!\n");
++ free(phdrs);
++ return (0);
++ }
++
++ /* allocate space and read in ELF_DYN headers */
++
++ dyn_addr = phdr->p_vaddr;
++ hdrs_size = phdr->p_memsz;
++ free(phdrs);
++
++ if ((dyns = malloc(hdrs_size)) == NULL)
++ return (0);
++
++ if (process_read_data(ph, dyn_addr, (char *)dyns, hdrs_size) != true) {
++ print_debug("process_read_data failed for dyn_addr %p\n", dyn_addr);
++ free(dyns);
++ return (0);
++ }
++
++ /* find DT_DEBUG */
++
++ dyn = dyns;
++ while (dyn->d_tag != DT_DEBUG && dyn->d_tag != DT_NULL) {
++ dyn++;
++ }
++
++ if (dyn->d_tag != DT_DEBUG) {
++ print_debug("failed to find DT_DEBUG\n");
++ free(dyns);
++ return (0);
++ }
++
++ /* read struct r_debug into dmap */
++
++ dmap_addr = (uintptr_t)dyn->d_un.d_ptr;
++ free(dyns);
++
++ if (process_read_data(ph, dmap_addr, (char *)&dmap, sizeof(dmap)) != true) {
++ print_debug("process_read_data failed for dmap_addr %p\n", dmap_addr);
++ return (0);
++ }
++
++ lmap_addr = (uintptr_t)dmap.r_map;
++
++ return (lmap_addr);
+ }
++#endif // __FreeBSD__ && __FreeBSD_version < 701000
+
+ static bool read_lib_info(struct ps_prochandle* ph) {
+- char fname[32];
+- char buf[256];
+- FILE *fp = NULL;
+-
+- sprintf(fname, "/proc/%d/maps", ph->pid);
+- fp = fopen(fname, "r");
+- if (fp == NULL) {
+- print_debug("can't open /proc/%d/maps file\n", ph->pid);
+- return false;
++#if defined(__FreeBSD__) && __FreeBSD_version >= 701000
++ struct kinfo_vmentry *freep, *kve;
++ int i, cnt;
++
++ freep = kinfo_getvmmap(ph->pid, &cnt);
++ if (freep == NULL) {
++ print_debug("can't get vm map for pid\n", ph->pid);
++ return false;
+ }
+
+- while(fgets_no_cr(buf, 256, fp)){
+- char * word[6];
+- int nwords = split_n_str(buf, 6, word, ' ', '\0');
+- if (nwords > 5 && find_lib(ph, word[5]) == false) {
+- intptr_t base;
+- lib_info* lib;
+- sscanf(word[0], "%lx", &base);
+- if ((lib = add_lib_info(ph, word[5], (uintptr_t)base)) == NULL)
++ for (i = 0; i < cnt; i++) {
++ kve = &freep[i];
++ if ((kve->kve_flags & KVME_FLAG_COW) &&
++ kve->kve_path != NULL &&
++ strlen(kve->kve_path) > 0) {
++
++ if (find_lib(ph, kve->kve_path) == false) {
++ lib_info* lib;
++ if ((lib = add_lib_info(ph, kve->kve_path,
++ (uintptr_t) kve->kve_start)) == NULL)
+ continue; // ignore, add_lib_info prints error
+
+- // we don't need to keep the library open, symtab is already
+- // built. Only for core dump we need to keep the fd open.
+- close(lib->fd);
+- lib->fd = -1;
++ // we don't need to keep the library open, symtab is already
++ // built. Only for core dump we need to keep the fd open.
++ close(lib->fd);
++ lib->fd = -1;
++ }
+ }
+ }
+- fclose(fp);
++
++ free(freep);
++
++ return true;
++#else
++ char *l_name;
++ struct link_map *lmap;
++ uintptr_t lmap_addr;
++
++ if ((l_name = malloc(BUF_SIZE)) == NULL)
++ return false;
++
++ if ((lmap = malloc(sizeof(*lmap))) == NULL) {
++ free(l_name);
++ return false;
++ }
++
++ lmap_addr = linkmap_addr(ph);
++
++ if (lmap_addr == 0) {
++ free(l_name);
++ free(lmap);
++ return false;
++ }
++
++ do {
++ if (process_read_data(ph, lmap_addr, (char *)lmap, sizeof(*lmap)) != true) {
++ print_debug("process_read_data failed for lmap_addr %p\n", lmap_addr);
++ free (l_name);
++ free (lmap);
++ return false;
++ }
++
++ if (process_read_data(ph, (uintptr_t)lmap->l_name, l_name,
++ BUF_SIZE) != true) {
++ print_debug("process_read_data failed for lmap->l_name %p\n",
++ lmap->l_name);
++ free (l_name);
++ free (lmap);
++ return false;
++ }
++
++ if (find_lib(ph, l_name) == false) {
++ lib_info* lib;
++ if ((lib = add_lib_info(ph, l_name,
++ (uintptr_t) lmap->l_addr)) == NULL)
++ continue; // ignore, add_lib_info prints error
++
++ // we don't need to keep the library open, symtab is already
++ // built. Only for core dump we need to keep the fd open.
++ close(lib->fd);
++ lib->fd = -1;
++ }
++ lmap_addr = (uintptr_t)lmap->l_next;
++ } while (lmap->l_next != NULL);
++
++ free (l_name);
++ free (lmap);
++
+ return true;
++#endif
+ }
+
+ // detach a given pid
+ static bool ptrace_detach(pid_t pid) {
+- if (pid && ptrace(PTRACE_DETACH, pid, NULL, NULL) < 0) {
++ if (pid && ptrace(PT_DETACH, pid, (caddr_t)1, 0) < 0) {
+ print_debug("ptrace(PTRACE_DETACH, ..) failed for %d\n", pid);
+ return false;
+ } else {
+@@ -280,24 +398,16 @@ static bool ptrace_detach(pid_t pid) {
+ }
+ }
+
+-// detach all pids of a ps_prochandle
+-static void detach_all_pids(struct ps_prochandle* ph) {
+- thread_info* thr = ph->threads;
+- while (thr) {
+- ptrace_detach(thr->lwp_id);
+- thr = thr->next;
+- }
+-}
+-
+ static void process_cleanup(struct ps_prochandle* ph) {
+- detach_all_pids(ph);
++ ptrace_detach(ph->pid);
+ }
+
+ static ps_prochandle_ops process_ops = {
+- release: process_cleanup,
+- p_pread: process_read_data,
+- p_pwrite: process_write_data,
+- get_lwp_regs: process_get_lwp_regs
++ .release= process_cleanup,
++ .p_pread= process_read_data,
++ .p_pwrite= process_write_data,
++ .get_lwp_regs= process_get_lwp_regs,
++ .get_lwp_info= process_get_lwp_info
+ };
+
+ // attach to the process. One and only one exposed stuff
+@@ -324,21 +434,14 @@ struct ps_prochandle* Pgrab(pid_t pid) {
+ // read library info and symbol tables, must do this before attaching threads,
+ // as the symbols in the pthread library will be used to figure out
+ // the list of threads within the same process.
+- read_lib_info(ph);
++ if (read_lib_info(ph) != true) {
++ ptrace_detach(pid);
++ free(ph);
++ return NULL;
++ }
+
+ // read thread info
+ read_thread_info(ph, add_new_thread);
+
+- // attach to the threads
+- thr = ph->threads;
+- while (thr) {
+- // don't attach to the main thread again
+- if (ph->pid != thr->lwp_id && ptrace_attach(thr->lwp_id) != true) {
+- // even if one attach fails, we get return NULL
+- Prelease(ph);
+- return NULL;
+- }
+- thr = thr->next;
+- }
+ return ph;
+ }
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/salibelf.c ./hotspot/agent/src/os/bsd/salibelf.c
+--- ../orig/hotspot/agent/src/os/bsd/salibelf.c 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/salibelf.c 2009-05-14 23:41:34.000000000 -0400
+@@ -28,6 +28,7 @@
+ #include "salibelf.h"
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <string.h>
+
+ extern void print_debug(const char*,...);
+
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/symtab.c ./hotspot/agent/src/os/bsd/symtab.c
+--- ../orig/hotspot/agent/src/os/bsd/symtab.c 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/symtab.c 2009-05-14 23:41:34.000000000 -0400
+@@ -26,13 +26,14 @@
+ */
+
+ #include <unistd.h>
+-#include <sys/procfs.h>
+ #include <search.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include "hsearch_r.h"
+ #include "symtab.h"
+ #include "salibelf.h"
+
++extern void print_debug(const char*,...);
+
+ // ----------------------------------------------------
+ // functions for symbol lookups
+@@ -59,7 +60,6 @@ typedef struct symtab {
+ // read symbol table from given fd.
+ struct symtab* build_symtab(int fd) {
+ ELF_EHDR ehdr;
+- char *names = NULL;
+ struct symtab* symtab = NULL;
+
+ // Reading of elf header
+@@ -68,18 +68,22 @@ struct symtab* build_symtab(int fd) {
+ ELF_SHDR* shbuf = NULL;
+ ELF_SHDR* cursct = NULL;
+ ELF_PHDR* phbuf = NULL;
+- ELF_PHDR* phdr = NULL;
++ int symtab_found = 0;
++ int dynsym_found = 0;
++ uint32_t symsection = SHT_SYMTAB;
+
+ uintptr_t baseaddr = (uintptr_t)-1;
+
+ lseek(fd, (off_t)0L, SEEK_SET);
+ if (! read_elf_header(fd, &ehdr)) {
++ print_debug("not an ELF header\n");
+ // not an elf
+ return NULL;
+ }
+
+ // read ELF header
+ if ((shbuf = read_section_header_table(fd, &ehdr)) == NULL) {
++ print_debug("can't read section header\n");
+ goto quit;
+ }
+
+@@ -88,23 +92,35 @@ struct symtab* build_symtab(int fd) {
+ scn_cache = (struct elf_section *)
+ calloc(ehdr.e_shnum * sizeof(struct elf_section), 1);
+ if (scn_cache == NULL) {
++ print_debug("can't read scn_cache\n");
+ goto quit;
+ }
+
+ for (cursct = shbuf, cnt = 0; cnt < ehdr.e_shnum; cnt++) {
+ scn_cache[cnt].c_shdr = cursct;
+- if (cursct->sh_type == SHT_SYMTAB || cursct->sh_type == SHT_STRTAB) {
++ if (cursct->sh_type == SHT_SYMTAB ||
++ cursct->sh_type == SHT_STRTAB ||
++ cursct->sh_type == SHT_DYNSYM) {
+ if ( (scn_cache[cnt].c_data = read_section_data(fd, &ehdr, cursct)) == NULL) {
++ print_debug("can't read section_data\n");
+ goto quit;
+ }
+ }
++ if (cursct->sh_type == SHT_SYMTAB)
++ symtab_found++;
++
++ if (cursct->sh_type == SHT_DYNSYM)
++ dynsym_found++;
+ cursct++;
+ }
+
++ if (!symtab_found && dynsym_found)
++ symsection = SHT_DYNSYM;
++
+ for (cnt = 1; cnt < ehdr.e_shnum; cnt++) {
+ ELF_SHDR *shdr = scn_cache[cnt].c_shdr;
+
+- if (shdr->sh_type == SHT_SYMTAB) {
++ if (shdr->sh_type == symsection) {
+ ELF_SYM *syms;
+ int j, n, rslt;
+ size_t size;
+@@ -116,6 +132,7 @@ struct symtab* build_symtab(int fd) {
+ // guarantee(symtab == NULL, "multiple symtab");
+ symtab = (struct symtab*)calloc(1, sizeof(struct symtab));
+ if (symtab == NULL) {
++ print_debug("can't allocate symtab\n");
+ goto quit;
+ }
+ // the symbol table
+diff -uNpr ../orig/hotspot/agent/src/os/bsd/test.c ./hotspot/agent/src/os/bsd/test.c
+--- ../orig/hotspot/agent/src/os/bsd/test.c 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/os/bsd/test.c 2009-05-14 23:41:34.000000000 -0400
+@@ -47,7 +47,7 @@ int main(int argc, char** argv) {
+ }
+
+ default: {
+- printf("usage %s <pid> or %s <exec file> <core file>\n");
++ fprintf(stderr, "usage %s <pid> or %s <exec file> <core file>\n");
+ return 1;
+ }
+ }
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java 2009-04-24 03:30:48.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java 2009-05-14 23:41:34.000000000 -0400
+@@ -28,6 +28,7 @@ import java.io.PrintStream;
+ import java.net.*;
+ import java.rmi.*;
+ import sun.jvm.hotspot.debugger.*;
++import sun.jvm.hotspot.debugger.bsd.*;
+ import sun.jvm.hotspot.debugger.dbx.*;
+ import sun.jvm.hotspot.debugger.proc.*;
+ import sun.jvm.hotspot.debugger.remote.*;
+@@ -337,6 +338,8 @@ public class HotSpotAgent {
+ setupDebuggerWin32();
+ } else if (os.equals("linux")) {
+ setupDebuggerLinux();
++ } else if (os.equals("bsd")) {
++ setupDebuggerBsd();
+ } else {
+ // Add support for more operating systems here
+ throw new DebuggerException("Operating system " + os + " not yet supported");
+@@ -392,6 +395,10 @@ public class HotSpotAgent {
+ db = new HotSpotTypeDataBase(machDesc,
+ new LinuxVtblAccess(debugger, jvmLibNames),
+ debugger, jvmLibNames);
++ } else if (os.equals("bsd")) {
++ db = new HotSpotTypeDataBase(machDesc,
++ new BsdVtblAccess(debugger, jvmLibNames),
++ debugger, jvmLibNames);
+ } else {
+ throw new DebuggerException("OS \"" + os + "\" not yet supported (no VtblAccess yet)");
+ }
+@@ -557,6 +564,8 @@ public class HotSpotAgent {
+ setupJVMLibNamesWin32();
+ } else if (os.equals("linux")) {
+ setupJVMLibNamesLinux();
++ } else if (os.equals("bsd")) {
++ setupJVMLibNamesBsd();
+ } else {
+ throw new RuntimeException("Unknown OS type");
+ }
+@@ -638,6 +647,31 @@ public class HotSpotAgent {
+ jvmLibNames = new String[] { "libjvm.so", "libjvm_g.so" };
+ }
+
++ //
++ // BSD
++ //
++
++ private void setupDebuggerBsd() {
++ setupJVMLibNamesBsd();
++
++ if (cpu.equals("x86")) {
++ machDesc = new MachineDescriptionIntelX86();
++ } else if (cpu.equals("amd64")) {
++ machDesc = new MachineDescriptionAMD64();
++ } else {
++ throw new DebuggerException("BSD only supported on x86/amd64");
++ }
++
++ BsdDebuggerLocal dbg = new BsdDebuggerLocal(machDesc, !isServer);
++ debugger = dbg;
++
++ attachDebugger();
++ }
++
++ private void setupJVMLibNamesBsd() {
++ jvmLibNames = new String[] { "libjvm.so", "libjvm_g.so" };
++ }
++
+ /** Convenience routine which should be called by per-platform
+ debugger setup. Should not be called when startupMode is
+ REMOTE_MODE. */
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java 2009-04-24 03:30:49.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java 2009-05-14 23:41:34.000000000 -0400
+@@ -29,6 +29,7 @@ import java.net.*;
+ import java.rmi.*;
+ import sun.jvm.hotspot.*;
+ import sun.jvm.hotspot.debugger.*;
++import sun.jvm.hotspot.debugger.bsd.*;
+ import sun.jvm.hotspot.debugger.dbx.*;
+ import sun.jvm.hotspot.debugger.proc.*;
+ import sun.jvm.hotspot.debugger.cdbg.*;
+@@ -516,6 +517,8 @@ public class BugSpotAgent {
+ setupDebuggerWin32();
+ } else if (os.equals("linux")) {
+ setupDebuggerLinux();
++ } else if (os.equals("bsd")) {
++ setupDebuggerBsd();
+ } else {
+ // Add support for more operating systems here
+ throw new DebuggerException("Operating system " + os + " not yet supported");
+@@ -567,6 +570,9 @@ public class BugSpotAgent {
+ } else if (os.equals("linux")) {
+ db = new HotSpotTypeDataBase(machDesc, new LinuxVtblAccess(debugger, jvmLibNames),
+ debugger, jvmLibNames);
++ } else if (os.equals("bsd")) {
++ db = new HotSpotTypeDataBase(machDesc, new BsdVtblAccess(debugger, jvmLibNames),
++ debugger, jvmLibNames);
+ } else {
+ throw new DebuggerException("OS \"" + os + "\" not yet supported (no VtblAccess implemented yet)");
+ }
+@@ -739,6 +745,8 @@ public class BugSpotAgent {
+ setupJVMLibNamesWin32();
+ } else if (os.equals("linux")) {
+ setupJVMLibNamesLinux();
++ } else if (os.equals("bsd")) {
++ setupJVMLibNamesBsd();
+ } else {
+ throw new RuntimeException("Unknown OS type");
+ }
+@@ -822,6 +830,34 @@ public class BugSpotAgent {
+ setupJVMLibNamesSolaris();
+ }
+
++ //
++ // BSD
++ //
++
++ private void setupDebuggerBsd() {
++ setupJVMLibNamesBsd();
++
++ if (cpu.equals("x86")) {
++ machDesc = new MachineDescriptionIntelX86();
++ } else if (cpu.equals("amd64")) {
++ machDesc = new MachineDescriptionAMD64();
++ } else {
++ throw new DebuggerException("Bsd only supported on x86/amd64");
++ }
++
++ // Note we do not use a cache for the local debugger in server
++ // mode; it will be taken care of on the client side (once remote
++ // debugging is implemented).
++
++ debugger = new BsdDebuggerLocal(machDesc, !isServer);
++ attachDebugger();
++ }
++
++ private void setupJVMLibNamesBsd() {
++ // same as solaris
++ setupJVMLibNamesSolaris();
++ }
++
+ /** Convenience routine which should be called by per-platform
+ debugger setup. Should not be called when startupMode is
+ REMOTE_MODE. */
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java 2009-05-14 23:41:34.000000000 -0400
+@@ -30,10 +30,8 @@ import sun.jvm.hotspot.debugger.*;
+ import sun.jvm.hotspot.debugger.cdbg.*;
+ import sun.jvm.hotspot.debugger.x86.*;
+ import sun.jvm.hotspot.debugger.amd64.*;
+-import sun.jvm.hotspot.debugger.sparc.*;
+ import sun.jvm.hotspot.debugger.bsd.x86.*;
+ import sun.jvm.hotspot.debugger.bsd.amd64.*;
+-import sun.jvm.hotspot.debugger.bsd.sparc.*;
+ import sun.jvm.hotspot.utilities.*;
+
+ class BsdCDebugger implements CDebugger {
+@@ -99,13 +97,6 @@ class BsdCDebugger implements CDebugger
+ Address pc = context.getRegisterAsAddress(AMD64ThreadContext.RIP);
+ if (pc == null) return null;
+ return new BsdAMD64CFrame(dbg, rbp, pc);
+- } else if (cpu.equals("sparc")) {
+- SPARCThreadContext context = (SPARCThreadContext) thread.getContext();
+- Address sp = context.getRegisterAsAddress(SPARCThreadContext.R_SP);
+- if (sp == null) return null;
+- Address pc = context.getRegisterAsAddress(SPARCThreadContext.R_O7);
+- if (pc == null) return null;
+- return new BsdSPARCCFrame(dbg, sp, pc, BsdDebuggerLocal.getAddressSize());
+ } else {
+ throw new DebuggerException(cpu + " is not yet supported");
+ }
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java 2009-05-14 23:41:34.000000000 -0400
+@@ -26,9 +26,7 @@ package sun.jvm.hotspot.debugger.bsd;
+
+ import sun.jvm.hotspot.debugger.*;
+ import sun.jvm.hotspot.debugger.bsd.amd64.*;
+-import sun.jvm.hotspot.debugger.bsd.ia64.*;
+ import sun.jvm.hotspot.debugger.bsd.x86.*;
+-import sun.jvm.hotspot.debugger.bsd.sparc.*;
+
+ class BsdThreadContextFactory {
+ static ThreadContext createThreadContext(BsdDebugger dbg) {
+@@ -37,10 +35,6 @@ class BsdThreadContextFactory {
+ return new BsdX86ThreadContext(dbg);
+ } else if (cpu.equals("amd64")) {
+ return new BsdAMD64ThreadContext(dbg);
+- } else if (cpu.equals("ia64")) {
+- return new BsdIA64ThreadContext(dbg);
+- } else if (cpu.equals("sparc")) {
+- return new BsdSPARCThreadContext(dbg);
+ } else {
+ throw new RuntimeException("cpu " + cpu + " is not yet supported");
+ }
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java 2009-04-24 03:30:51.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java 2009-05-14 23:41:34.000000000 -0400
+@@ -37,6 +37,8 @@ import sun.jvm.hotspot.runtime.linux_x86
+ import sun.jvm.hotspot.runtime.linux_ia64.LinuxIA64JavaThreadPDAccess;
+ import sun.jvm.hotspot.runtime.linux_amd64.LinuxAMD64JavaThreadPDAccess;
+ import sun.jvm.hotspot.runtime.linux_sparc.LinuxSPARCJavaThreadPDAccess;
++import sun.jvm.hotspot.runtime.bsd_x86.BsdX86JavaThreadPDAccess;
++import sun.jvm.hotspot.runtime.bsd_amd64.BsdAMD64JavaThreadPDAccess;
+ import sun.jvm.hotspot.utilities.*;
+
+ public class Threads {
+@@ -90,7 +92,12 @@ public class Threads {
+ } else if (cpu.equals("sparc")) {
+ access = new LinuxSPARCJavaThreadPDAccess();
+ }
+-
++ } else if (os.equals("bsd")) {
++ if (cpu.equals("x86")) {
++ access = new BsdX86JavaThreadPDAccess();
++ } else if (cpu.equals("amd64")) {
++ access = new BsdAMD64JavaThreadPDAccess();
++ }
+ }
+
+ if (access == null) {
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd/BsdSignals.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd/BsdSignals.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd/BsdSignals.java 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd/BsdSignals.java 2009-05-15 09:51:39.000000000 -0400
+@@ -28,37 +28,36 @@ public class BsdSignals {
+ private static String[] signalNames = {
+ "", /* No signal 0 */
+ "SIGHUP", /* hangup */
+- "SIGINT", /* interrupt (rubout) */
+- "SIGQUIT", /* quit (ASCII FS) */
+- "SIGILL", /* illegal instruction (not reset when caught) */
++ "SIGINT", /* interrupt */
++ "SIGQUIT", /* quit */
++ "SIGILL", /* illegal instr. (not reset when caught) */
+ "SIGTRAP", /* trace trap (not reset when caught) */
+- "SIGABRT", /* used by abort, replace SIGIOT in the future */
+- "SIGIOT",
+- "SIGBUS",
++ "SIGABRT", /* abort() */
++ "SIGEMT", /* EMT instruction */
+ "SIGFPE", /* floating point exception */
+ "SIGKILL", /* kill (cannot be caught or ignored) */
+- "SIGUSR1", /* user defined signal 1 */
++ "SIGBUS", /* bus error */
+ "SIGSEGV", /* segmentation violation */
+- "SIGUSR2", /* user defined signal 2 */
++ "SIGSYS", /* non-existent system call invoked */
+ "SIGPIPE", /* write on a pipe with no one to read it */
+ "SIGALRM", /* alarm clock */
+ "SIGTERM", /* software termination signal from kill */
+- "SIGSTKFLT",
+- "SIGCHLD", /* child status change alias */
+- "SIGCONT", /* stopped process has been continued */
+- "SIGSTOP", /* stop (cannot be caught or ignored) */
+- "SIGTSTP", /* user stop requested from tty */
+- "SIGTTIN", /* background tty read attempted */
+- "SIGTTOU", /* background tty write attempted */
+- "SIGURG", /* urgent socket condition */
+- "SIGXCPU", /* exceeded cpu limit */
++ "SIGURG", /* urgent condition on IO channel */
++ "SIGSTOP", /* sendable stop signal not from tty */
++ "SIGTSTP", /* stop signal from tty */
++ "SIGCONT", /* continue a stopped process */
++ "SIGCHLD", /* to parent on child stop or exit */
++ "SIGTTIN", /* to readers pgrp upon background tty read */
++ "SIGTTOU", /* like TTIN if (tp->t_local&LTOSTOP) */
++ "SIGIO", /* input/output possible signal */
++ "SIGXCPU", /* exceeded CPU time limit */
+ "SIGXFSZ", /* exceeded file size limit */
+- "SIGVTALRM", /* virtual timer expired */
+- "SIGPROF", /* profiling timer expired */
+- "SIGWINCH", /* window size change */
+- "SIGPOLL", /* pollable event occured */
+- "SIGPWR", /* power-fail restart */
+- "SIGSYS"
++ "SIGVTALRM", /* virtual time alarm */
++ "SIGPROF", /* profiling time alarm */
++ "SIGWINCH", /* window size changes */
++ "SIGINFO", /* information request */
++ "SIGUSR1", /* user defined signal 1 */
++ "SIGUSR2" /* user defined signal 2 */
+ };
+
+ public static String getSignalName(int sigNum) {
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdSignals.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdSignals.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdSignals.java 2009-05-14 23:40:16.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdSignals.java 2009-05-14 23:41:34.000000000 -0400
+@@ -32,33 +32,32 @@ public class BsdSignals {
+ "SIGQUIT", /* quit (ASCII FS) */
+ "SIGILL", /* illegal instruction (not reset when caught) */
+ "SIGTRAP", /* trace trap (not reset when caught) */
+- "SIGABRT", /* used by abort, replace SIGIOT in the future */
+- "SIGIOT",
+- "SIGBUS",
++ "SIGABRT", /* abort() */
++ "SIGEMT", /* EMT instruction */
+ "SIGFPE", /* floating point exception */
+ "SIGKILL", /* kill (cannot be caught or ignored) */
+- "SIGUSR1", /* user defined signal 1 */
++ "SIGBUS", /* bus error */
+ "SIGSEGV", /* segmentation violation */
+- "SIGUSR2", /* user defined signal 2 */
++ "SIGSYS", /* non-existent system call invoked */
+ "SIGPIPE", /* write on a pipe with no one to read it */
+ "SIGALRM", /* alarm clock */
+ "SIGTERM", /* software termination signal from kill */
+- "SIGSTKFLT",
+- "SIGCHLD", /* child status change alias */
+- "SIGCONT", /* stopped process has been continued */
+- "SIGSTOP", /* stop (cannot be caught or ignored) */
+- "SIGTSTP", /* user stop requested from tty */
+- "SIGTTIN", /* background tty read attempted */
+- "SIGTTOU", /* background tty write attempted */
+- "SIGURG", /* urgent socket condition */
+- "SIGXCPU", /* exceeded cpu limit */
++ "SIGURG", /* urgent condition on IO channel */
++ "SIGSTOP", /* sendable stop signal not from tty */
++ "SIGTSTP", /* stop signal from tty */
++ "SIGCONT", /* continue a stopped process */
++ "SIGCHLD", /* to parent on child stop or exit */
++ "SIGTTIN", /* to readers pgrp upon background tty read */
++ "SIGTTOU", /* like TTIN if (tp->t_local&LTOSTOP) */
++ "SIGIO", /* input/output possible signal */
++ "SIGXCPU", /* exceeded CPU time limit */
+ "SIGXFSZ", /* exceeded file size limit */
+- "SIGVTALRM", /* virtual timer expired */
+- "SIGPROF", /* profiling timer expired */
+- "SIGWINCH", /* window size change */
+- "SIGPOLL", /* pollable event occured */
+- "SIGPWR", /* power-fail restart */
+- "SIGSYS"
++ "SIGVTALRM", /* virtual time alarm */
++ "SIGPROF", /* profiling time alarm */
++ "SIGWINCH", /* window size changes */
++ "SIGINFO", /* information request */
++ "SIGUSR1", /* user defined signal 1 */
++ "SIGUSR2" /* user defined signal 2 */
+ };
+
+ public static String getSignalName(int sigNum) {
+diff -uNpr ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java ./hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java
+--- ../orig/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java 2009-04-24 03:30:51.000000000 -0400
++++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java 2009-05-14 23:41:34.000000000 -0400
+@@ -37,6 +37,14 @@ public class PlatformInfo {
+ return "solaris";
+ } else if (os.equals("Linux")) {
+ return "linux";
++ } else if (os.equals("FreeBSD")) {
++ return "bsd";
++ } else if (os.equals("NetBSD")) {
++ return "bsd";
++ } else if (os.equals("OpenBSD")) {
++ return "bsd";
++ } else if (os.equals("Darwin")) {
++ return "bsd";
+ } else if (os.startsWith("Windows")) {
+ return "win32";
+ } else {
+diff -uNpr ../orig/hotspot/build/bsd/Makefile ./hotspot/build/bsd/Makefile
+--- ../orig/hotspot/build/bsd/Makefile 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/Makefile 2009-05-14 23:41:33.000000000 -0400
@@ -198,7 +198,8 @@ checks: check_os_version check_j2se_vers
# Solaris 2.5.1, 2.6).
# Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
@@ -462,9 +2469,9 @@ diff -upr ../orig/hotspot/build/bsd/Makefile ./hotspot/build/bsd/Makefile
OS_VERSION := $(shell uname -r)
EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
-diff -upr ../orig/hotspot/build/bsd/makefiles/buildtree.make ./hotspot/build/bsd/makefiles/buildtree.make
---- ../orig/hotspot/build/bsd/makefiles/buildtree.make 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/buildtree.make 2009-05-05 15:01:26.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/buildtree.make ./hotspot/build/bsd/makefiles/buildtree.make
+--- ../orig/hotspot/build/bsd/makefiles/buildtree.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/buildtree.make 2009-05-14 23:41:33.000000000 -0400
@@ -273,10 +273,11 @@ env.sh: $(BUILDTREE_MAKE)
[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
{ \
@@ -478,9 +2485,9 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/buildtree.make ./hotspot/build/bsd
) > $@
env.csh: env.sh
-diff -upr ../orig/hotspot/build/bsd/makefiles/cscope.make ./hotspot/build/bsd/makefiles/cscope.make
---- ../orig/hotspot/build/bsd/makefiles/cscope.make 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/cscope.make 2009-05-05 15:08:05.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/cscope.make ./hotspot/build/bsd/makefiles/cscope.make
+--- ../orig/hotspot/build/bsd/makefiles/cscope.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/cscope.make 2009-05-14 23:41:33.000000000 -0400
@@ -72,7 +72,7 @@ endif
# OS-specific files for other systems are excluded by default. Use CS_OS=yes
# to include platform-specific files for other platforms.
@@ -490,9 +2497,9 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/cscope.make ./hotspot/build/bsd/ma
CS_PRUNE_OS = $(patsubst %,-o -name '*%*',$(filter-out ${OS},${CS_OS}))
endif
-diff -upr ../orig/hotspot/build/bsd/makefiles/defs.make ./hotspot/build/bsd/makefiles/defs.make
---- ../orig/hotspot/build/bsd/makefiles/defs.make 2009-05-04 18:32:16.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/defs.make 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/defs.make ./hotspot/build/bsd/makefiles/defs.make
+--- ../orig/hotspot/build/bsd/makefiles/defs.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/defs.make 2009-05-14 23:41:34.000000000 -0400
@@ -28,6 +28,14 @@
SLASH_JAVA ?= /java
@@ -540,7 +2547,7 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/defs.make ./hotspot/build/bsd/make
# i686
ifeq ($(ARCH), i686)
ARCH_DATA_MODEL = 32
-@@ -95,19 +128,11 @@ VM_DEBUG=jvmg
+@@ -95,19 +128,13 @@ VM_DEBUG=jvmg
EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
@@ -564,9 +2571,11 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/defs.make ./hotspot/build/bsd/make
+ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjsig.$(LIBRARY_SUFFIX)
+ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
endif
-diff -upr ../orig/hotspot/build/bsd/makefiles/gcc.make ./hotspot/build/bsd/makefiles/gcc.make
---- ../orig/hotspot/build/bsd/makefiles/gcc.make 2009-05-04 18:32:16.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/gcc.make 2009-05-04 17:37:15.000000000 -0400
++EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so
++EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/gcc.make ./hotspot/build/bsd/makefiles/gcc.make
+--- ../orig/hotspot/build/bsd/makefiles/gcc.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/gcc.make 2009-05-14 23:41:33.000000000 -0400
@@ -22,12 +22,15 @@
#
#
@@ -673,9 +2682,9 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/gcc.make ./hotspot/build/bsd/makef
#------------------------------------------------------------------------
# Debug flags
-diff -upr ../orig/hotspot/build/bsd/makefiles/jsig.make ./hotspot/build/bsd/makefiles/jsig.make
---- ../orig/hotspot/build/bsd/makefiles/jsig.make 2009-05-04 18:32:16.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/jsig.make 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/jsig.make ./hotspot/build/bsd/makefiles/jsig.make
+--- ../orig/hotspot/build/bsd/makefiles/jsig.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/jsig.make 2009-05-14 23:41:33.000000000 -0400
@@ -26,7 +26,12 @@
# libjsig[_g].so: signal interposition library
@@ -705,9 +2714,9 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/jsig.make ./hotspot/build/bsd/make
install_jsig: $(LIBJSIG)
@echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
-diff -upr ../orig/hotspot/build/bsd/makefiles/launcher.make ./hotspot/build/bsd/makefiles/launcher.make
---- ../orig/hotspot/build/bsd/makefiles/launcher.make 2009-05-04 18:32:16.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/launcher.make 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/launcher.make ./hotspot/build/bsd/makefiles/launcher.make
+--- ../orig/hotspot/build/bsd/makefiles/launcher.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/launcher.make 2009-05-14 23:41:33.000000000 -0400
@@ -44,7 +44,7 @@ ifeq ($(LINK_INTO),AOUT)
LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
else
@@ -717,9 +2726,9 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/launcher.make ./hotspot/build/bsd/
LIBS_LAUNCHER += -l$(JVM) $(LIBS)
endif
-diff -upr ../orig/hotspot/build/bsd/makefiles/sa.make ./hotspot/build/bsd/makefiles/sa.make
---- ../orig/hotspot/build/bsd/makefiles/sa.make 2009-05-04 18:32:16.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/sa.make 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/sa.make ./hotspot/build/bsd/makefiles/sa.make
+--- ../orig/hotspot/build/bsd/makefiles/sa.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/sa.make 2009-05-14 23:41:33.000000000 -0400
@@ -42,7 +42,7 @@ SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/too
# gnumake 3.78.1 does not accept the *s that
@@ -729,9 +2738,9 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/sa.make ./hotspot/build/bsd/makefi
SA_CLASSDIR = $(GENERATED)/saclasses
-diff -upr ../orig/hotspot/build/bsd/makefiles/saproc.make ./hotspot/build/bsd/makefiles/saproc.make
---- ../orig/hotspot/build/bsd/makefiles/saproc.make 2009-05-04 18:32:16.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/saproc.make 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/saproc.make ./hotspot/build/bsd/makefiles/saproc.make
+--- ../orig/hotspot/build/bsd/makefiles/saproc.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/saproc.make 2009-05-15 09:53:42.000000000 -0400
@@ -26,7 +26,12 @@
# libsaproc[_g].so: serviceability agent
@@ -746,23 +2755,60 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/saproc.make ./hotspot/build/bsd/ma
AGENT_DIR = $(GAMMADIR)/agent
-@@ -43,11 +48,11 @@ SAMAPFILE = $(SASRCDIR)/mapfile
-
- DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC)
+@@ -37,6 +42,7 @@ SASRCFILES = $(SASRCDIR)/salibelf.c
+ $(SASRCDIR)/libproc_impl.c \
+ $(SASRCDIR)/ps_proc.c \
+ $(SASRCDIR)/ps_core.c \
++ $(SASRCDIR)/hsearch_r.c \
+ $(SASRCDIR)/BsdDebuggerLocal.c
--# if $(AGENT_DIR) does not exist, we don't build SA
-+# if $(SASRCDIR) does not exist, we don't build SA
- # also, we don't build SA on Itanium.
+ SAMAPFILE = $(SASRCDIR)/mapfile
+@@ -53,6 +59,25 @@ checkAndBuildSA:
- checkAndBuildSA:
-- $(QUIETLY) if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \
-+ $(QUIETLY) if [ -d $(SASRCDIR) -a "$(SRCARCH)" != "ia64" ] ; then \
- $(MAKE) -f vm.make $(LIBSAPROC); \
- fi
+ SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE))
-diff -upr ../orig/hotspot/build/bsd/makefiles/vm.make ./hotspot/build/bsd/makefiles/vm.make
---- ../orig/hotspot/build/bsd/makefiles/vm.make 2009-05-04 18:32:16.000000000 -0400
-+++ ./hotspot/build/bsd/makefiles/vm.make 2009-05-04 17:37:17.000000000 -0400
++# This is needed to avoid picking up the proc_service.h
++# header in SASRCDIR. We want to use the system provided one.
++ifeq ($(CC_VER_MAJOR), 3)
++INCSASRCDIR=-I$(SASRCDIR) -I-
++else
++INCSASRCDIR=-iquote $(SASRCDIR)
++endif
++
++LIBUTIL=
++ifeq ($(OS_VENDOR), FreeBSD)
++# 7.0 and 6.x use ptrace
++# 7.1 and up use libutil for kinfo_getvmmap
++PTRACE_OS_VERSIONS = 5.% 6.% 7.0%
++EMPTY_IF_KINFO_GETVMMAP = $(filter $(PTRACE_OS_VERSIONS),$(shell uname -r))
++ifeq ($(EMPTY_IF_KINFO_GETVMMAP),)
++LIBUTIL=-lutil
++endif
++endif
++
+ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
+ $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
+ echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
+@@ -61,13 +86,14 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
+ @echo Making SA debugger back-end...
+ $(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE \
+ $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
+- -I$(SASRCDIR) \
++ $(INCSASRCDIR) \
+ -I$(GENERATED) \
+ -I$(BOOT_JAVA_HOME)/include \
+- -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \
++ -I$(BOOT_JAVA_HOME)/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") \
+ $(SASRCFILES) \
+ $(SA_LFLAGS) \
+ -o $@ \
++ $(LIBUTIL) \
+ -lthread_db
+
+ install_saproc: checkAndBuildSA
+diff -uNpr ../orig/hotspot/build/bsd/makefiles/vm.make ./hotspot/build/bsd/makefiles/vm.make
+--- ../orig/hotspot/build/bsd/makefiles/vm.make 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/makefiles/vm.make 2009-05-14 23:41:33.000000000 -0400
@@ -93,7 +93,7 @@ CFLAGS += $(CFLAGS/NOEX)
# Extra flags from gnumake's invocation or environment
CFLAGS += $(EXTRA_CFLAGS)
@@ -839,9 +2885,9 @@ diff -upr ../orig/hotspot/build/bsd/makefiles/vm.make ./hotspot/build/bsd/makefi
}
DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM)
-diff -upr ../orig/hotspot/build/bsd/platform_amd64 ./hotspot/build/bsd/platform_amd64
---- ../orig/hotspot/build/bsd/platform_amd64 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/build/bsd/platform_amd64 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/platform_amd64 ./hotspot/build/bsd/platform_amd64
+--- ../orig/hotspot/build/bsd/platform_amd64 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/platform_amd64 2009-05-14 23:41:33.000000000 -0400
@@ -12,6 +12,4 @@ lib_arch = amd64
compiler = gcc
@@ -850,9 +2896,9 @@ diff -upr ../orig/hotspot/build/bsd/platform_amd64 ./hotspot/build/bsd/platform_
-
-sysdefs = -DLINUX -D_GNU_SOURCE -DAMD64
+sysdefs = -D_ALLBSD_SOURCE -D_GNU_SOURCE -DAMD64
-diff -upr ../orig/hotspot/build/bsd/platform_i486 ./hotspot/build/bsd/platform_i486
---- ../orig/hotspot/build/bsd/platform_i486 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/build/bsd/platform_i486 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/platform_i486 ./hotspot/build/bsd/platform_i486
+--- ../orig/hotspot/build/bsd/platform_i486 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/platform_i486 2009-05-14 23:41:33.000000000 -0400
@@ -12,6 +12,4 @@ lib_arch = i386
compiler = gcc
@@ -861,9 +2907,9 @@ diff -upr ../orig/hotspot/build/bsd/platform_i486 ./hotspot/build/bsd/platform_i
-
-sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+sysdefs = -D_ALLBSD_SOURCE -D_GNU_SOURCE -DIA32
-diff -upr ../orig/hotspot/build/bsd/platform_sparc ./hotspot/build/bsd/platform_sparc
---- ../orig/hotspot/build/bsd/platform_sparc 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/build/bsd/platform_sparc 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/build/bsd/platform_sparc ./hotspot/build/bsd/platform_sparc
+--- ../orig/hotspot/build/bsd/platform_sparc 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/build/bsd/platform_sparc 2009-05-14 23:41:33.000000000 -0400
@@ -12,6 +12,6 @@ lib_arch = sparc
compiler = gcc
@@ -872,9 +2918,40 @@ diff -upr ../orig/hotspot/build/bsd/platform_sparc ./hotspot/build/bsd/platform_
+sysdefs = -D_ALLBSD_SOURCE -D_GNU_SOURCE -DSPARC
sysdefs = -DLINUX -D_GNU_SOURCE -DSPARC
-diff -upr ../orig/hotspot/make/Makefile ./hotspot/make/Makefile
---- ../orig/hotspot/make/Makefile 2009-01-27 15:40:59.000000000 -0500
-+++ ./hotspot/make/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/build/sa.files ./hotspot/build/sa.files
+--- ../orig/hotspot/build/sa.files 2009-04-24 03:30:52.000000000 -0400
++++ ./hotspot/build/sa.files 2009-05-14 23:41:34.000000000 -0400
+@@ -40,6 +40,7 @@ $(AGENT_SRC_DIR)/sun/jvm/hotspot/HotSpot
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/HotSpotTypeDataBase.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/LinuxVtblAccess.java \
++$(AGENT_SRC_DIR)/sun/jvm/hotspot/BsdVtblAccess.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/ObjectHistogram.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/RMIHelper.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/StackTrace.java \
+@@ -76,6 +77,9 @@ $(AGENT_SRC_DIR)/sun/jvm/hotspot/debugge
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/dbx/x86/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/dummy/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/amd64/*.java \
++$(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/bsd/*.java \
++$(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/bsd/amd64/*.java \
++$(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/bsd/x86/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/ia64/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/linux/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/debugger/linux/amd64/*.java \
+@@ -110,6 +114,9 @@ $(AGENT_SRC_DIR)/sun/jvm/hotspot/memory/
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/oops/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/amd64/*.java \
++$(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/bsd/*.java \
++$(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/bsd_amd64/*.java \
++$(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/bsd_x86/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/ia64/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/linux/*.java \
+ $(AGENT_SRC_DIR)/sun/jvm/hotspot/runtime/linux_amd64/*.java \
+diff -uNpr ../orig/hotspot/make/Makefile ./hotspot/make/Makefile
+--- ../orig/hotspot/make/Makefile 2009-04-24 03:30:52.000000000 -0400
++++ ./hotspot/make/Makefile 2009-05-14 23:41:33.000000000 -0400
@@ -262,6 +262,19 @@ endif
# Shared Library
@@ -903,9 +2980,9 @@ diff -upr ../orig/hotspot/make/Makefile ./hotspot/make/Makefile
# Jar file (sa-jdi.jar)
$(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
-diff -upr ../orig/hotspot/make/defs.make ./hotspot/make/defs.make
---- ../orig/hotspot/make/defs.make 2009-01-27 15:40:59.000000000 -0500
-+++ ./hotspot/make/defs.make 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/make/defs.make ./hotspot/make/defs.make
+--- ../orig/hotspot/make/defs.make 2009-04-24 03:30:52.000000000 -0400
++++ ./hotspot/make/defs.make 2009-05-14 23:41:33.000000000 -0400
@@ -118,13 +118,23 @@ endif
# Windows should have OS predefined
ifeq ($(OS),)
@@ -932,9 +3009,9 @@ diff -upr ../orig/hotspot/make/defs.make ./hotspot/make/defs.make
else
OSNAME=solaris
endif
-diff -upr ../orig/hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp ./hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp
---- ../orig/hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp 2009-01-27 15:41:00.000000000 -0500
-+++ ./hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp ./hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp
+--- ../orig/hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp 2009-04-24 03:30:53.000000000 -0400
++++ ./hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -57,7 +57,7 @@ void InterpreterRuntime::SignatureHandle
__ cmpl(Address(from(), Interpreter::local_offset_in_bytes(from_offset)), 0); // do not use temp() to avoid AGI
Label L;
@@ -953,9 +3030,9 @@ diff -upr ../orig/hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp ./hotspot/src/
debug_only(verify_tag(frame::TagReference));
_from -= Interpreter::stackElementSize();
}
-diff -upr ../orig/hotspot/src/cpu/x86/vm/jni_x86.h ./hotspot/src/cpu/x86/vm/jni_x86.h
---- ../orig/hotspot/src/cpu/x86/vm/jni_x86.h 2009-01-27 15:41:00.000000000 -0500
-+++ ./hotspot/src/cpu/x86/vm/jni_x86.h 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/cpu/x86/vm/jni_x86.h ./hotspot/src/cpu/x86/vm/jni_x86.h
+--- ../orig/hotspot/src/cpu/x86/vm/jni_x86.h 2009-04-24 03:30:53.000000000 -0400
++++ ./hotspot/src/cpu/x86/vm/jni_x86.h 2009-05-14 23:41:33.000000000 -0400
@@ -29,7 +29,7 @@
#ifndef _JAVASOFT_JNI_MD_H_
#define _JAVASOFT_JNI_MD_H_
@@ -965,9 +3042,9 @@ diff -upr ../orig/hotspot/src/cpu/x86/vm/jni_x86.h ./hotspot/src/cpu/x86/vm/jni_
#define JNIEXPORT
#define JNIIMPORT
#define JNICALL
-diff -upr ../orig/hotspot/src/cpu/x86/vm/runtime_x86_32.cpp ./hotspot/src/cpu/x86/vm/runtime_x86_32.cpp
---- ../orig/hotspot/src/cpu/x86/vm/runtime_x86_32.cpp 2009-01-27 15:41:00.000000000 -0500
-+++ ./hotspot/src/cpu/x86/vm/runtime_x86_32.cpp 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/cpu/x86/vm/runtime_x86_32.cpp ./hotspot/src/cpu/x86/vm/runtime_x86_32.cpp
+--- ../orig/hotspot/src/cpu/x86/vm/runtime_x86_32.cpp 2009-04-24 03:30:53.000000000 -0400
++++ ./hotspot/src/cpu/x86/vm/runtime_x86_32.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -132,11 +132,11 @@ void OptoRuntime::generate_exception_blo
// Get the exception pc in case we are deoptimized
__ movl(rdx, Address(rcx, JavaThread::exception_pc_offset()));
@@ -983,9 +3060,9 @@ diff -upr ../orig/hotspot/src/cpu/x86/vm/runtime_x86_32.cpp ./hotspot/src/cpu/x8
__ popl(rcx);
-diff -upr ../orig/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp ./hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
---- ../orig/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp 2009-01-27 15:41:00.000000000 -0500
-+++ ./hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp 2009-05-05 16:01:30.000000000 -0400
+diff -uNpr ../orig/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp ./hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
+--- ../orig/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp 2009-04-24 03:30:53.000000000 -0400
++++ ./hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -472,7 +472,7 @@ class StubGenerator: public StubCodeGene
// setup rax & rdx, remove return address & clear pending exception
__ popq(rdx);
@@ -1031,9 +3108,9 @@ diff -upr ../orig/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp ./hotspot/src/
__ cmpq(rax, c_rarg3);
__ jcc(Assembler::notZero, error);
-diff -upr ../orig/hotspot/src/cpu/x86/vm/x86_32.ad ./hotspot/src/cpu/x86/vm/x86_32.ad
---- ../orig/hotspot/src/cpu/x86/vm/x86_32.ad 2009-01-27 15:41:00.000000000 -0500
-+++ ./hotspot/src/cpu/x86/vm/x86_32.ad 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/cpu/x86/vm/x86_32.ad ./hotspot/src/cpu/x86/vm/x86_32.ad
+--- ../orig/hotspot/src/cpu/x86/vm/x86_32.ad 2009-04-24 03:30:53.000000000 -0400
++++ ./hotspot/src/cpu/x86/vm/x86_32.ad 2009-05-14 23:41:33.000000000 -0400
@@ -3364,7 +3364,7 @@ encode %{
masm.movl (Address(boxReg, 0), 3) ; // results in ST-before-CAS penalty
masm.get_thread (scrReg) ;
@@ -1079,9 +3156,9 @@ diff -upr ../orig/hotspot/src/cpu/x86/vm/x86_32.ad ./hotspot/src/cpu/x86/vm/x86_
if (os::is_MP()) {
if (VM_Version::supports_sse2() && 1 == FenceInstruction) {
masm.emit_raw (0x0F) ; // MFENCE ...
-diff -upr ../orig/hotspot/src/os/bsd/launcher/java_md.c ./hotspot/src/os/bsd/launcher/java_md.c
---- ../orig/hotspot/src/os/bsd/launcher/java_md.c 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/launcher/java_md.c 2009-05-05 17:57:18.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/launcher/java_md.c ./hotspot/src/os/bsd/launcher/java_md.c
+--- ../orig/hotspot/src/os/bsd/launcher/java_md.c 2009-05-14 23:40:13.000000000 -0400
++++ ./hotspot/src/os/bsd/launcher/java_md.c 2009-05-14 23:41:33.000000000 -0400
@@ -45,8 +45,15 @@
#include "version_comp.h"
#endif
@@ -1192,10 +3269,51 @@ diff -upr ../orig/hotspot/src/os/bsd/launcher/java_md.c ./hotspot/src/os/bsd/lau
result = bsd_i586_ServerClassMachine();
#else
if (_launcher_debug) {
-diff -upr ../orig/hotspot/src/os/bsd/vm/attachListener_bsd.cpp ./hotspot/src/os/bsd/vm/attachListener_bsd.cpp
---- ../orig/hotspot/src/os/bsd/vm/attachListener_bsd.cpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/attachListener_bsd.cpp 2009-05-05 17:58:29.000000000 -0400
-@@ -333,6 +333,15 @@ BsdAttachOperation* BsdAttachListener::d
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/attachListener_bsd.cpp ./hotspot/src/os/bsd/vm/attachListener_bsd.cpp
+--- ../orig/hotspot/src/os/bsd/vm/attachListener_bsd.cpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/attachListener_bsd.cpp 2009-05-14 23:41:34.000000000 -0400
+@@ -182,32 +182,20 @@ int BsdAttachListener::init() {
+ struct sockaddr_un addr;
+ addr.sun_family = AF_UNIX;
+
+- // FIXME: Prior to b39 the tool-side API expected to find the well
+- // known file in the working directory. To allow this libjvm.so work with
+- // a pre-b39 SDK we create it in the working directory if
+- // +StartAttachListener is used is used. All unit tests for this feature
+- // currently used this flag. Once b39 SDK has been promoted we can remove
+- // this code.
+- if (StartAttachListener) {
+- sprintf(path, ".java_pid%d", os::current_process_id());
+- strcpy(addr.sun_path, path);
+- ::unlink(path);
+- res = ::bind(listener, (struct sockaddr*)&addr, sizeof(addr));
+- }
+- if (res == -1) {
+- sprintf(path, "%s/.java_pid%d", os::get_temp_directory(), os::current_process_id());
+- strcpy(addr.sun_path, path);
+- ::unlink(path);
+- res = ::bind(listener, (struct sockaddr*)&addr, sizeof(addr));
+- }
++
++ sprintf(path, "%s/.java_pid%d", os::get_temp_directory(), os::current_process_id());
++ strcpy(addr.sun_path, path);
++ ::unlink(path);
++ res = ::bind(listener, (struct sockaddr*)&addr, sizeof(addr));
+ if (res == -1) {
+ RESTARTABLE(::close(listener), res);
+ return -1;
+ }
+ set_path(path);
+
+- // put in listen mode and set permission
+- if ((::listen(listener, 5) == -1) || (::chmod(path, S_IREAD|S_IWRITE) == -1)) {
++ // put in listen mode and set permission and ownership
++ if ((::listen(listener, 5) == -1) || (::chmod(path, S_IREAD|S_IWRITE) == -1) ||
++ (::chown(path, geteuid(), getegid()) == -1)) {
+ RESTARTABLE(::close(listener), res);
+ ::unlink(path);
+ set_path(NULL);
+@@ -333,6 +321,15 @@ BsdAttachOperation* BsdAttachListener::d
// get the credentials of the peer and check the effective uid/guid
// - check with jeff on this.
@@ -1211,7 +3329,7 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/attachListener_bsd.cpp ./hotspot/src/os/
struct ucred cred_info;
socklen_t optlen = sizeof(cred_info);
if (::getsockopt(s, SOL_SOCKET, SO_PEERCRED, (void*)&cred_info, &optlen) == -1) {
-@@ -340,10 +349,13 @@ BsdAttachOperation* BsdAttachListener::d
+@@ -340,10 +337,13 @@ BsdAttachOperation* BsdAttachListener::d
RESTARTABLE(::close(s), res);
continue;
}
@@ -1226,25 +3344,30 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/attachListener_bsd.cpp ./hotspot/src/os/
int res;
RESTARTABLE(::close(s), res);
continue;
-@@ -466,11 +478,11 @@ bool AttachListener::is_init_trigger() {
- char fn[32];
- sprintf(fn, ".attach_pid%d", os::current_process_id());
+@@ -463,15 +463,12 @@ bool AttachListener::is_init_trigger() {
+ if (init_at_startup() || is_initialized()) {
+ return false; // initialized at startup or already initialized
+ }
+- char fn[32];
+- sprintf(fn, ".attach_pid%d", os::current_process_id());
++ char path[PATH_MAX + 1];
int ret;
- struct stat64 st;
- RESTARTABLE(::stat64(fn, &st), ret);
-+ struct stat st;
-+ RESTARTABLE(::stat(fn, &st), ret);
- if (ret == -1) {
- sprintf(fn, "/tmp/.attach_pid%d", os::current_process_id());
+- if (ret == -1) {
+- sprintf(fn, "/tmp/.attach_pid%d", os::current_process_id());
- RESTARTABLE(::stat64(fn, &st), ret);
-+ RESTARTABLE(::stat(fn, &st), ret);
- }
+- }
++ struct stat st;
++
++ sprintf(path, "%s/.attach_pid%d", os::get_temp_directory(), os::current_process_id());
++ RESTARTABLE(::stat(path, &st), ret);
if (ret == 0) {
// simple check to avoid starting the attach mechanism when
-Only in ./hotspot/src/os/bsd/vm: dtraceJSDT_bsd.cpp
-diff -upr ../orig/hotspot/src/os/bsd/vm/hpi_bsd.cpp ./hotspot/src/os/bsd/vm/hpi_bsd.cpp
---- ../orig/hotspot/src/os/bsd/vm/hpi_bsd.cpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/hpi_bsd.cpp 2009-05-05 18:00:58.000000000 -0400
+ // a bogus user creates the file
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/hpi_bsd.cpp ./hotspot/src/os/bsd/vm/hpi_bsd.cpp
+--- ../orig/hotspot/src/os/bsd/vm/hpi_bsd.cpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/hpi_bsd.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -31,6 +31,14 @@
# include <sys/param.h>
# include <dlfcn.h>
@@ -1274,9 +3397,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/hpi_bsd.cpp ./hotspot/src/os/bsd/vm/hpi_
#endif
*(strrchr(buf, '/')) = '\0'; /* get rid of /libjvm.so */
-diff -upr ../orig/hotspot/src/os/bsd/vm/hpi_bsd.hpp ./hotspot/src/os/bsd/vm/hpi_bsd.hpp
---- ../orig/hotspot/src/os/bsd/vm/hpi_bsd.hpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/hpi_bsd.hpp 2009-05-05 18:12:24.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/hpi_bsd.hpp ./hotspot/src/os/bsd/vm/hpi_bsd.hpp
+--- ../orig/hotspot/src/os/bsd/vm/hpi_bsd.hpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/hpi_bsd.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -39,26 +39,22 @@
// HPI_FileInterface
@@ -1413,9 +3536,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/hpi_bsd.hpp ./hotspot/src/os/bsd/vm/hpi_
}
/*
-diff -upr ../orig/hotspot/src/os/bsd/vm/jsig.c ./hotspot/src/os/bsd/vm/jsig.c
---- ../orig/hotspot/src/os/bsd/vm/jsig.c 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/jsig.c 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/jsig.c ./hotspot/src/os/bsd/vm/jsig.c
+--- ../orig/hotspot/src/os/bsd/vm/jsig.c 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/jsig.c 2009-05-14 23:41:33.000000000 -0400
@@ -146,7 +146,8 @@ sa_handler_t signal(int sig, sa_handler_
}
@@ -1426,9 +3549,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/jsig.c ./hotspot/src/os/bsd/vm/jsig.c
}
static int call_os_sigaction(int sig, const struct sigaction *act,
-diff -upr ../orig/hotspot/src/os/bsd/vm/jvm_bsd.cpp ./hotspot/src/os/bsd/vm/jvm_bsd.cpp
---- ../orig/hotspot/src/os/bsd/vm/jvm_bsd.cpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp 2009-05-05 18:16:36.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/jvm_bsd.cpp ./hotspot/src/os/bsd/vm/jvm_bsd.cpp
+--- ../orig/hotspot/src/os/bsd/vm/jvm_bsd.cpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -141,44 +141,37 @@ struct siglabel {
struct siglabel siglabels[] = {
@@ -1485,9 +3608,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/jvm_bsd.cpp ./hotspot/src/os/bsd/vm/jvm_
};
JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name))
-diff -upr ../orig/hotspot/src/os/bsd/vm/jvm_bsd.h ./hotspot/src/os/bsd/vm/jvm_bsd.h
---- ../orig/hotspot/src/os/bsd/vm/jvm_bsd.h 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/jvm_bsd.h 2009-05-05 18:16:44.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/jvm_bsd.h ./hotspot/src/os/bsd/vm/jvm_bsd.h
+--- ../orig/hotspot/src/os/bsd/vm/jvm_bsd.h 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/jvm_bsd.h 2009-05-14 23:41:33.000000000 -0400
@@ -54,7 +54,11 @@
#define AGENT_ONATTACH_SYMBOLS {"Agent_OnAttach"}
@@ -1521,9 +3644,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/jvm_bsd.h ./hotspot/src/os/bsd/vm/jvm_bs
#endif /* JVM_MD_H */
// Reconciliation History
-diff -upr ../orig/hotspot/src/os/bsd/vm/osThread_bsd.cpp ./hotspot/src/os/bsd/vm/osThread_bsd.cpp
---- ../orig/hotspot/src/os/bsd/vm/osThread_bsd.cpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp 2009-05-05 18:19:09.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/osThread_bsd.cpp ./hotspot/src/os/bsd/vm/osThread_bsd.cpp
+--- ../orig/hotspot/src/os/bsd/vm/osThread_bsd.cpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -31,8 +31,8 @@
void OSThread::pd_initialize() {
@@ -1535,9 +3658,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/osThread_bsd.cpp ./hotspot/src/os/bsd/vm
_siginfo = NULL;
_ucontext = NULL;
_expanding_stack = 0;
-diff -upr ../orig/hotspot/src/os/bsd/vm/osThread_bsd.hpp ./hotspot/src/os/bsd/vm/osThread_bsd.hpp
---- ../orig/hotspot/src/os/bsd/vm/osThread_bsd.hpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/osThread_bsd.hpp 2009-05-05 20:37:04.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/osThread_bsd.hpp ./hotspot/src/os/bsd/vm/osThread_bsd.hpp
+--- ../orig/hotspot/src/os/bsd/vm/osThread_bsd.hpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/osThread_bsd.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -39,6 +39,12 @@
private:
@@ -1617,9 +3740,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/osThread_bsd.hpp ./hotspot/src/os/bsd/vm
// ***************************************************************
// Platform dependent initialization and cleanup
// ***************************************************************
-diff -upr ../orig/hotspot/src/os/bsd/vm/os_bsd.cpp ./hotspot/src/os/bsd/vm/os_bsd.cpp
---- ../orig/hotspot/src/os/bsd/vm/os_bsd.cpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/os_bsd.cpp 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/os_bsd.cpp ./hotspot/src/os/bsd/vm/os_bsd.cpp
+--- ../orig/hotspot/src/os/bsd/vm/os_bsd.cpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/os_bsd.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -50,12 +50,33 @@
# include <semaphore.h>
# include <fcntl.h>
@@ -2862,9 +4985,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/os_bsd.cpp ./hotspot/src/os/bsd/vm/os_bs
// execve failed
_exit(-1);
-diff -upr ../orig/hotspot/src/os/bsd/vm/os_bsd.hpp ./hotspot/src/os/bsd/vm/os_bsd.hpp
---- ../orig/hotspot/src/os/bsd/vm/os_bsd.hpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/os_bsd.hpp 2009-05-06 10:55:43.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/os_bsd.hpp ./hotspot/src/os/bsd/vm/os_bsd.hpp
+--- ../orig/hotspot/src/os/bsd/vm/os_bsd.hpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/os_bsd.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -30,6 +30,12 @@
/* pthread_getattr_np comes with BsdThreads-0.9-7 on RedHat 7.1 */
typedef int (*pthread_getattr_func_type) (pthread_t, pthread_attr_t *);
@@ -3020,9 +5143,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/os_bsd.hpp ./hotspot/src/os/bsd/vm/os_bs
// Stack repair handling
-diff -upr ../orig/hotspot/src/os/bsd/vm/os_bsd.inline.hpp ./hotspot/src/os/bsd/vm/os_bsd.inline.hpp
---- ../orig/hotspot/src/os/bsd/vm/os_bsd.inline.hpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os/bsd/vm/os_bsd.inline.hpp 2009-05-06 10:57:31.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os/bsd/vm/os_bsd.inline.hpp ./hotspot/src/os/bsd/vm/os_bsd.inline.hpp
+--- ../orig/hotspot/src/os/bsd/vm/os_bsd.inline.hpp 2009-05-14 23:40:14.000000000 -0400
++++ ./hotspot/src/os/bsd/vm/os_bsd.inline.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -64,7 +64,15 @@ inline bool os::uses_stack_guard_pages()
inline bool os::allocate_stack_guard_pages() {
@@ -3147,10 +5270,9 @@ diff -upr ../orig/hotspot/src/os/bsd/vm/os_bsd.inline.hpp ./hotspot/src/os/bsd/v
// macros for restartable system calls
#define RESTARTABLE(_cmd, _result) do { \
-Only in ./hotspot/src/os_cpu/bsd_x86/vm: assembler_bsd_x86.cpp
-diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp ./hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp
---- ../orig/hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp 2009-05-06 11:53:03.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp ./hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp
+--- ../orig/hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -69,8 +69,9 @@ void MacroAssembler::get_thread(Register
}
}
@@ -3164,9 +5286,9 @@ diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/assembler_bsd_x86_64.cpp ./hotsp
+ bool offset_in_first_page = 0 <= offset && offset < os::vm_page_size();
+ return !offset_in_first_page;
}
-diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s
---- ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s
+--- ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s 2009-05-14 23:41:33.000000000 -0400
@@ -21,49 +21,82 @@
# have any questions.
#
@@ -3371,9 +5493,9 @@ diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_32.s ./hotspot/src/os_cp
# 8(%esp) : return PC
pushl %ebx # 4(%esp) : old %ebx
pushl %edi # 0(%esp) : old %edi
-diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s
---- ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s 2009-05-06 11:56:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s
+--- ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s 2009-05-14 23:41:33.000000000 -0400
@@ -23,48 +23,70 @@
.ident "@(#)bsd_x86_64.s 1.7 07/05/05 17:04:47 JVM"
@@ -3522,9 +5644,9 @@ diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bsd_x86_64.s ./hotspot/src/os_cp
cmpq %rdi,%rsi
leaq -8(%rdi,%rdx,8),%rax # from + count*8 - 8
jbe acl_CopyRight
-diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp ./hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp
---- ../orig/hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp 2009-05-06 12:15:02.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp ./hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp
+--- ../orig/hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -25,7 +25,29 @@
*
*/
@@ -3555,9 +5677,9 @@ diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp ./hotsp
// Efficient swapping of data bytes from Java byte
// ordering to native byte ordering and vice versa.
-diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ./hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
---- ../orig/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ./hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
+--- ../orig/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -47,23 +47,158 @@
# include <sys/wait.h>
# include <pwd.h>
@@ -4051,9 +6173,9 @@ diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ./hotspot/src/os_
#endif // AMD64
st->cr();
st->cr();
-diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp ./hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp
---- ../orig/hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp 2009-05-06 12:03:40.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp ./hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp
+--- ../orig/hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -30,8 +30,10 @@
#ifndef AMD64
// map stack pointer to thread pointer - see notes in threadLS_bsd_x86.cpp
@@ -4065,9 +6187,9 @@ diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp ./hotspot/s
static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)];
#endif // !AMD64
-diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ./hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp
---- ../orig/hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp 2009-05-04 18:32:15.000000000 -0400
-+++ ./hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp 2009-05-06 12:04:27.000000000 -0400
+diff -uNpr ../orig/hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ./hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp
+--- ../orig/hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp 2009-05-14 23:40:15.000000000 -0400
++++ ./hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -34,7 +34,7 @@
/******************************/ \
/* Threads (NOTE: incomplete) */ \
@@ -4077,9 +6199,9 @@ diff -upr ../orig/hotspot/src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ./hotspot/
nonstatic_field(OSThread, _pthread_id, pthread_t) \
/* This must be the last entry, and must be present */ \
last_entry()
-diff -upr ../orig/hotspot/src/share/vm/adlc/adlc.hpp ./hotspot/src/share/vm/adlc/adlc.hpp
---- ../orig/hotspot/src/share/vm/adlc/adlc.hpp 2009-01-27 15:41:01.000000000 -0500
-+++ ./hotspot/src/share/vm/adlc/adlc.hpp 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/adlc/adlc.hpp ./hotspot/src/share/vm/adlc/adlc.hpp
+--- ../orig/hotspot/src/share/vm/adlc/adlc.hpp 2009-04-24 03:30:54.000000000 -0400
++++ ./hotspot/src/share/vm/adlc/adlc.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -76,9 +76,9 @@ typedef unsigned int uintptr_t;
#endif
#endif // _WIN32
@@ -4092,9 +6214,21 @@ diff -upr ../orig/hotspot/src/share/vm/adlc/adlc.hpp ./hotspot/src/share/vm/adlc
// Macros
#define uint32 unsigned int
-diff -upr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ./hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep
---- ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-01-27 15:41:01.000000000 -0500
-+++ ./hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/ci/ciMethodBlocks.cpp ./hotspot/src/share/vm/ci/ciMethodBlocks.cpp
+--- ../orig/hotspot/src/share/vm/ci/ciMethodBlocks.cpp 2009-04-24 03:30:54.000000000 -0400
++++ ./hotspot/src/share/vm/ci/ciMethodBlocks.cpp 2009-05-14 23:41:34.000000000 -0400
+@@ -321,7 +321,7 @@ void ciBlock::set_exception_range(int st
+ }
+
+ #ifndef PRODUCT
+-static char *flagnames[] = {
++static const char *flagnames[] = {
+ "Processed",
+ "Handler",
+ "MayThrow",
+diff -uNpr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ./hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep
+--- ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-04-24 03:30:55.000000000 -0400
++++ ./hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-05-14 23:41:33.000000000 -0400
@@ -28,6 +28,7 @@ binaryTreeDictionary.cpp
binaryTreeDictionary.cpp binaryTreeDictionary.hpp
binaryTreeDictionary.cpp globals.hpp
@@ -4103,9 +6237,9 @@ diff -upr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrent
binaryTreeDictionary.hpp freeBlockDictionary.hpp
binaryTreeDictionary.hpp freeList.hpp
-diff -upr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew
---- ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-01-27 15:41:01.000000000 -0500
-+++ ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew
+--- ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-04-24 03:30:55.000000000 -0400
++++ ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-05-14 23:41:33.000000000 -0400
@@ -30,6 +30,8 @@ asParNewGeneration.cpp cmsAdaptiveSize
asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp
asParNewGeneration.cpp defNewGeneration.inline.hpp
@@ -4124,9 +6258,9 @@ diff -upr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew ./h
parCardTableModRefBS.cpp universe.hpp
parCardTableModRefBS.cpp virtualspace.hpp
-diff -upr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge
---- ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-01-27 15:41:01.000000000 -0500
-+++ ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge
+--- ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-04-24 03:30:55.000000000 -0400
++++ ./hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-05-14 23:41:33.000000000 -0400
@@ -302,6 +302,8 @@ psPermGen.cpp
psPermGen.cpp psMarkSweepDecorator.hpp
psPermGen.cpp psParallelCompact.hpp
@@ -4136,9 +6270,9 @@ diff -upr ../orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelSc
psPermGen.hpp psOldGen.hpp
-diff -upr ../orig/hotspot/src/share/vm/includeDB_compiler2 ./hotspot/src/share/vm/includeDB_compiler2
---- ../orig/hotspot/src/share/vm/includeDB_compiler2 2009-01-27 15:41:02.000000000 -0500
-+++ ./hotspot/src/share/vm/includeDB_compiler2 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/includeDB_compiler2 ./hotspot/src/share/vm/includeDB_compiler2
+--- ../orig/hotspot/src/share/vm/includeDB_compiler2 2009-04-24 03:30:55.000000000 -0400
++++ ./hotspot/src/share/vm/includeDB_compiler2 2009-05-14 23:41:33.000000000 -0400
@@ -140,6 +140,7 @@ c2_globals_<os_family>.hpp
c2_globals_<os_family>.hpp macros.hpp
@@ -4155,9 +6289,9 @@ diff -upr ../orig/hotspot/src/share/vm/includeDB_compiler2 ./hotspot/src/share/v
phase.cpp phase.hpp
phase.hpp port.hpp
-diff -upr ../orig/hotspot/src/share/vm/includeDB_core ./hotspot/src/share/vm/includeDB_core
---- ../orig/hotspot/src/share/vm/includeDB_core 2009-01-27 15:41:02.000000000 -0500
-+++ ./hotspot/src/share/vm/includeDB_core 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/includeDB_core ./hotspot/src/share/vm/includeDB_core
+--- ../orig/hotspot/src/share/vm/includeDB_core 2009-04-24 03:30:55.000000000 -0400
++++ ./hotspot/src/share/vm/includeDB_core 2009-05-14 23:41:33.000000000 -0400
@@ -476,7 +476,7 @@ cardTableModRefBS.cpp
cardTableModRefBS.cpp java.hpp
cardTableModRefBS.cpp mutexLocker.hpp
@@ -4176,9 +6310,9 @@ diff -upr ../orig/hotspot/src/share/vm/includeDB_core ./hotspot/src/share/vm/inc
instanceKlass.hpp constMethodOop.hpp
instanceKlass.hpp constantPoolOop.hpp
instanceKlass.hpp handles.hpp
-diff -upr ../orig/hotspot/src/share/vm/includeDB_features ./hotspot/src/share/vm/includeDB_features
---- ../orig/hotspot/src/share/vm/includeDB_features 2009-01-27 15:41:02.000000000 -0500
-+++ ./hotspot/src/share/vm/includeDB_features 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/includeDB_features ./hotspot/src/share/vm/includeDB_features
+--- ../orig/hotspot/src/share/vm/includeDB_features 2009-04-24 03:30:55.000000000 -0400
++++ ./hotspot/src/share/vm/includeDB_features 2009-05-14 23:41:33.000000000 -0400
@@ -58,6 +58,8 @@ dump.cpp
dump_<arch_model>.cpp assembler_<arch_model>.inline.hpp
@@ -4188,9 +6322,9 @@ diff -upr ../orig/hotspot/src/share/vm/includeDB_features ./hotspot/src/share/vm
forte.cpp collectedHeap.inline.hpp
forte.cpp debugInfoRec.hpp
-diff -upr ../orig/hotspot/src/share/vm/interpreter/bytecodeTracer.cpp ./hotspot/src/share/vm/interpreter/bytecodeTracer.cpp
---- ../orig/hotspot/src/share/vm/interpreter/bytecodeTracer.cpp 2009-01-27 15:41:02.000000000 -0500
-+++ ./hotspot/src/share/vm/interpreter/bytecodeTracer.cpp 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/interpreter/bytecodeTracer.cpp ./hotspot/src/share/vm/interpreter/bytecodeTracer.cpp
+--- ../orig/hotspot/src/share/vm/interpreter/bytecodeTracer.cpp 2009-04-24 03:30:55.000000000 -0400
++++ ./hotspot/src/share/vm/interpreter/bytecodeTracer.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -77,7 +77,7 @@ class BytecodePrinter: public BytecodeCl
// the incoming method. We could lose a line of trace output.
// This is acceptable in a debug-only feature.
@@ -4209,9 +6343,37 @@ diff -upr ../orig/hotspot/src/share/vm/interpreter/bytecodeTracer.cpp ./hotspot/
if (Verbose) {
st->print("%8d %4d " INTPTR_FORMAT " " INTPTR_FORMAT " %s",
BytecodeCounter::counter_value(), bci, tos, tos2, Bytecodes::name(code));
-diff -upr ../orig/hotspot/src/share/vm/prims/forte.cpp ./hotspot/src/share/vm/prims/forte.cpp
---- ../orig/hotspot/src/share/vm/prims/forte.cpp 2009-01-27 15:41:03.000000000 -0500
-+++ ./hotspot/src/share/vm/prims/forte.cpp 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/opto/escape.cpp ./hotspot/src/share/vm/opto/escape.cpp
+--- ../orig/hotspot/src/share/vm/opto/escape.cpp 2009-04-24 03:30:56.000000000 -0400
++++ ./hotspot/src/share/vm/opto/escape.cpp 2009-05-14 23:41:34.000000000 -0400
+@@ -54,21 +54,21 @@ void PointsToNode::remove_edge(uint targ
+ }
+
+ #ifndef PRODUCT
+-static char *node_type_names[] = {
++static const char *node_type_names[] = {
+ "UnknownType",
+ "JavaObject",
+ "LocalVar",
+ "Field"
+ };
+
+-static char *esc_names[] = {
++static const char *esc_names[] = {
+ "UnknownEscape",
+ "NoEscape ",
+ "ArgEscape ",
+ "GlobalEscape "
+ };
+
+-static char *edge_type_suffix[] = {
++static const char *edge_type_suffix[] = {
+ "?", // UnknownEdge
+ "P", // PointsToEdge
+ "D", // DeferredEdge
+diff -uNpr ../orig/hotspot/src/share/vm/prims/forte.cpp ./hotspot/src/share/vm/prims/forte.cpp
+--- ../orig/hotspot/src/share/vm/prims/forte.cpp 2009-04-24 03:30:56.000000000 -0400
++++ ./hotspot/src/share/vm/prims/forte.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -872,6 +872,11 @@ void AsyncGetCallTrace(ASGCT_CallTrace *
// Method to let libcollector know about a dynamically loaded function.
// Because it is weakly bound, the calls become NOP's when the library
@@ -4232,9 +6394,9 @@ diff -upr ../orig/hotspot/src/share/vm/prims/forte.cpp ./hotspot/src/share/vm/pr
#endif // !_WINDOWS
} // end extern "C"
-diff -upr ../orig/hotspot/src/share/vm/runtime/globals.hpp ./hotspot/src/share/vm/runtime/globals.hpp
---- ../orig/hotspot/src/share/vm/runtime/globals.hpp 2009-01-27 15:41:03.000000000 -0500
-+++ ./hotspot/src/share/vm/runtime/globals.hpp 2009-05-06 12:07:35.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/runtime/globals.hpp ./hotspot/src/share/vm/runtime/globals.hpp
+--- ../orig/hotspot/src/share/vm/runtime/globals.hpp 2009-04-24 03:30:56.000000000 -0400
++++ ./hotspot/src/share/vm/runtime/globals.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -294,7 +294,7 @@ class CommandLineFlags {
/* UseMembar is theoretically a temp flag used for memory barrier \
* removal testing. It was supposed to be removed before FCS but has \
@@ -4244,9 +6406,9 @@ diff -upr ../orig/hotspot/src/share/vm/runtime/globals.hpp ./hotspot/src/share/v
"(Unstable) Issues membars on thread state transitions") \
\
product(bool, PrintCommandLineFlags, false, \
-diff -upr ../orig/hotspot/src/share/vm/runtime/os.cpp ./hotspot/src/share/vm/runtime/os.cpp
---- ../orig/hotspot/src/share/vm/runtime/os.cpp 2009-01-27 15:41:03.000000000 -0500
-+++ ./hotspot/src/share/vm/runtime/os.cpp 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/runtime/os.cpp ./hotspot/src/share/vm/runtime/os.cpp
+--- ../orig/hotspot/src/share/vm/runtime/os.cpp 2009-04-24 03:30:57.000000000 -0400
++++ ./hotspot/src/share/vm/runtime/os.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -155,7 +155,11 @@ char* os::iso8601_time(char* buffer, siz
}
// Save the results of localtime
@@ -4259,9 +6421,9 @@ diff -upr ../orig/hotspot/src/share/vm/runtime/os.cpp ./hotspot/src/share/vm/run
// If daylight savings time is in effect,
// we are 1 hour East of our time zone
-diff -upr ../orig/hotspot/src/share/vm/runtime/vm_version.cpp ./hotspot/src/share/vm/runtime/vm_version.cpp
---- ../orig/hotspot/src/share/vm/runtime/vm_version.cpp 2009-01-27 15:41:03.000000000 -0500
-+++ ./hotspot/src/share/vm/runtime/vm_version.cpp 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/runtime/vm_version.cpp ./hotspot/src/share/vm/runtime/vm_version.cpp
+--- ../orig/hotspot/src/share/vm/runtime/vm_version.cpp 2009-04-24 03:30:57.000000000 -0400
++++ ./hotspot/src/share/vm/runtime/vm_version.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -141,7 +141,8 @@ const char* Abstract_VM_Version::vm_rele
#define OS LINUX_ONLY("linux") \
@@ -4272,9 +6434,9 @@ diff -upr ../orig/hotspot/src/share/vm/runtime/vm_version.cpp ./hotspot/src/shar
#define CPU IA32_ONLY("x86") \
IA64_ONLY("ia64") \
-diff -upr ../orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
---- ../orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2009-01-27 15:41:03.000000000 -0500
-+++ ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+--- ../orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2009-04-24 03:30:57.000000000 -0400
++++ ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -74,12 +74,25 @@
# include <sys/procfs.h>
# endif
@@ -4347,9 +6509,9 @@ diff -upr ../orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ./hot
inline int g_isnan(float f) { return isnanf(f); }
inline int g_isnan(double f) { return isnan(f); }
#else
-diff -upr ../orig/hotspot/src/share/vm/utilities/macros.hpp ./hotspot/src/share/vm/utilities/macros.hpp
---- ../orig/hotspot/src/share/vm/utilities/macros.hpp 2009-01-27 15:41:03.000000000 -0500
-+++ ./hotspot/src/share/vm/utilities/macros.hpp 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/utilities/macros.hpp ./hotspot/src/share/vm/utilities/macros.hpp
+--- ../orig/hotspot/src/share/vm/utilities/macros.hpp 2009-04-24 03:30:57.000000000 -0400
++++ ./hotspot/src/share/vm/utilities/macros.hpp 2009-05-14 23:41:33.000000000 -0400
@@ -147,6 +147,16 @@
#define NOT_WINDOWS(code) code
#endif
@@ -4367,9 +6529,9 @@ diff -upr ../orig/hotspot/src/share/vm/utilities/macros.hpp ./hotspot/src/share/
#ifdef IA32
#define IA32_ONLY(code) code
#define NOT_IA32(code)
-diff -upr ../orig/hotspot/src/share/vm/utilities/ostream.cpp ./hotspot/src/share/vm/utilities/ostream.cpp
---- ../orig/hotspot/src/share/vm/utilities/ostream.cpp 2009-01-27 15:41:03.000000000 -0500
-+++ ./hotspot/src/share/vm/utilities/ostream.cpp 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/hotspot/src/share/vm/utilities/ostream.cpp ./hotspot/src/share/vm/utilities/ostream.cpp
+--- ../orig/hotspot/src/share/vm/utilities/ostream.cpp 2009-04-24 03:30:57.000000000 -0400
++++ ./hotspot/src/share/vm/utilities/ostream.cpp 2009-05-14 23:41:34.000000000 -0400
@@ -780,7 +780,7 @@ bufferedStream::~bufferedStream() {
#ifndef PRODUCT
@@ -4379,9 +6541,18 @@ diff -upr ../orig/hotspot/src/share/vm/utilities/ostream.cpp ./hotspot/src/share
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
-diff -upr ../orig/hotspot/src/share/vm/utilities/vmError.cpp ./hotspot/src/share/vm/utilities/vmError.cpp
---- ../orig/hotspot/src/share/vm/utilities/vmError.cpp 2009-01-27 15:41:04.000000000 -0500
-+++ ./hotspot/src/share/vm/utilities/vmError.cpp 2009-05-04 17:37:17.000000000 -0400
+@@ -832,7 +832,7 @@ bool networkStream::connect(const char *
+ server.sin_port = htons(port);
+
+ server.sin_addr.s_addr = inet_addr(ip);
+- if (server.sin_addr.s_addr == (unsigned long)-1) {
++ if (server.sin_addr.s_addr == (uint32_t)-1) {
+ #ifdef _WINDOWS
+ struct hostent* host = hpi::get_host_by_name((char*)ip);
+ #else
+diff -uNpr ../orig/hotspot/src/share/vm/utilities/vmError.cpp ./hotspot/src/share/vm/utilities/vmError.cpp
+--- ../orig/hotspot/src/share/vm/utilities/vmError.cpp 2009-04-24 03:30:57.000000000 -0400
++++ ./hotspot/src/share/vm/utilities/vmError.cpp 2009-05-14 23:41:33.000000000 -0400
@@ -34,13 +34,18 @@ const char *env_list[] = {
"JAVA_HOME", "JRE_HOME", "JAVA_TOOL_OPTIONS", "_JAVA_OPTIONS", "CLASSPATH",
"JAVA_COMPILER", "PATH", "USERNAME",
@@ -4423,9 +6594,9 @@ diff -upr ../orig/hotspot/src/share/vm/utilities/vmError.cpp ./hotspot/src/share
out.print_raw ("/bin/sh -c ");
#elif defined(SOLARIS)
out.print_raw ("/usr/bin/sh -c ");
-diff -upr ../orig/jdk/make/com/sun/java/pack/Makefile ./jdk/make/com/sun/java/pack/Makefile
---- ../orig/jdk/make/com/sun/java/pack/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/com/sun/java/pack/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/com/sun/java/pack/Makefile ./jdk/make/com/sun/java/pack/Makefile
+--- ../orig/jdk/make/com/sun/java/pack/Makefile 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/com/sun/java/pack/Makefile 2009-05-14 23:41:33.000000000 -0400
@@ -61,6 +61,7 @@ vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR
@@ -4457,9 +6628,9 @@ diff -upr ../orig/jdk/make/com/sun/java/pack/Makefile ./jdk/make/com/sun/java/pa
OTHER_LDLIBS += $(LIBCXX)
# setup the list of libraries to link in...
ifeq ($(PLATFORM), linux)
-diff -upr ../orig/jdk/make/com/sun/security/auth/module/Makefile ./jdk/make/com/sun/security/auth/module/Makefile
---- ../orig/jdk/make/com/sun/security/auth/module/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/com/sun/security/auth/module/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/com/sun/security/auth/module/Makefile ./jdk/make/com/sun/security/auth/module/Makefile
+--- ../orig/jdk/make/com/sun/security/auth/module/Makefile 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/com/sun/security/auth/module/Makefile 2009-05-14 23:41:33.000000000 -0400
@@ -70,7 +70,7 @@ ifeq ($(PLATFORM), solaris)
include FILES_c_solaris.gmk
endif # solaris
@@ -4469,9 +6640,22 @@ diff -upr ../orig/jdk/make/com/sun/security/auth/module/Makefile ./jdk/make/com/
LIBRARY = jaas_unix
include FILES_export_unix.gmk
include FILES_c_unix.gmk
-diff -upr ../orig/jdk/make/com/sun/tools/attach/FILES_c.gmk ./jdk/make/com/sun/tools/attach/FILES_c.gmk
---- ../orig/jdk/make/com/sun/tools/attach/FILES_c.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/com/sun/tools/attach/FILES_c.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/com/sun/tools/attach/Exportedfiles.gmk ./jdk/make/com/sun/tools/attach/Exportedfiles.gmk
+--- ../orig/jdk/make/com/sun/tools/attach/Exportedfiles.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/com/sun/tools/attach/Exportedfiles.gmk 2009-05-14 23:41:34.000000000 -0400
+@@ -43,5 +43,7 @@ FILES_export = \
+ sun/tools/attach/LinuxVirtualMachine.java
+ endif
+
+-
+-
++ifeq ($(PLATFORM), bsd)
++FILES_export = \
++ sun/tools/attach/BsdVirtualMachine.java
++endif
+diff -uNpr ../orig/jdk/make/com/sun/tools/attach/FILES_c.gmk ./jdk/make/com/sun/tools/attach/FILES_c.gmk
+--- ../orig/jdk/make/com/sun/tools/attach/FILES_c.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/com/sun/tools/attach/FILES_c.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -39,4 +39,7 @@ FILES_c = \
LinuxVirtualMachine.c
endif
@@ -4481,24 +6665,56 @@ diff -upr ../orig/jdk/make/com/sun/tools/attach/FILES_c.gmk ./jdk/make/com/sun/t
+FILES_c = \
+ BsdVirtualMachine.c
+endif
-diff -upr ../orig/jdk/make/com/sun/tools/attach/FILES_java.gmk ./jdk/make/com/sun/tools/attach/FILES_java.gmk
---- ../orig/jdk/make/com/sun/tools/attach/FILES_java.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/com/sun/tools/attach/FILES_java.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/com/sun/tools/attach/FILES_java.gmk ./jdk/make/com/sun/tools/attach/FILES_java.gmk
+--- ../orig/jdk/make/com/sun/tools/attach/FILES_java.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/com/sun/tools/attach/FILES_java.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -43,6 +43,11 @@ FILES_java += \
sun/tools/attach/LinuxAttachProvider.java
endif
+ifeq ($(PLATFORM), bsd)
+FILES_java += \
-+ $(TARGDIR)/sun/tools/attach/BsdAttachProvider.java
++ sun/tools/attach/BsdAttachProvider.java
+endif
+
#
# Files that need to be copied
#
-diff -upr ../orig/jdk/make/common/Defs-bsd.gmk ./jdk/make/common/Defs-bsd.gmk
---- ../orig/jdk/make/common/Defs-bsd.gmk 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/make/common/Defs-bsd.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/com/sun/tools/attach/Makefile ./jdk/make/com/sun/tools/attach/Makefile
+--- ../orig/jdk/make/com/sun/tools/attach/Makefile 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/com/sun/tools/attach/Makefile 2009-05-14 23:41:34.000000000 -0400
+@@ -36,6 +36,9 @@ endif
+ ifeq ($(PLATFORM), linux)
+ FILES_m = mapfile-linux
+ endif
++ifeq ($(PLATFORM), bsd)
++FILES_m = mapfile-bsd
++endif
+ include $(BUILDDIR)/common/Mapfile-vers.gmk
+
+ #
+diff -uNpr ../orig/jdk/make/com/sun/tools/attach/mapfile-bsd ./jdk/make/com/sun/tools/attach/mapfile-bsd
+--- ../orig/jdk/make/com/sun/tools/attach/mapfile-bsd 2009-05-14 23:40:16.000000000 -0400
++++ ./jdk/make/com/sun/tools/attach/mapfile-bsd 2009-05-14 23:41:34.000000000 -0400
+@@ -30,14 +30,12 @@ SUNWprivate_1.1 {
+ Java_sun_tools_attach_BsdVirtualMachine_checkPermissions;
+ Java_sun_tools_attach_BsdVirtualMachine_close;
+ Java_sun_tools_attach_BsdVirtualMachine_connect;
+- Java_sun_tools_attach_BsdVirtualMachine_getBsdThreadsManager;
+- Java_sun_tools_attach_BsdVirtualMachine_isBsdThreads;
+ Java_sun_tools_attach_BsdVirtualMachine_open;
+ Java_sun_tools_attach_BsdVirtualMachine_sendQuitTo;
+- Java_sun_tools_attach_BsdVirtualMachine_sendQuitToChildrenOf;
+ Java_sun_tools_attach_BsdVirtualMachine_socket;
+ Java_sun_tools_attach_BsdVirtualMachine_read;
+ Java_sun_tools_attach_BsdVirtualMachine_write;
++ Java_sun_tools_attach_BsdVirtualMachine_createAttachFile;
+ local:
+ *;
+ };
+diff -uNpr ../orig/jdk/make/common/Defs-bsd.gmk ./jdk/make/common/Defs-bsd.gmk
+--- ../orig/jdk/make/common/Defs-bsd.gmk 2009-05-14 23:40:16.000000000 -0400
++++ ./jdk/make/common/Defs-bsd.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -43,12 +43,6 @@
# Get shared JDK settings
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
@@ -4648,9 +6864,9 @@ diff -upr ../orig/jdk/make/common/Defs-bsd.gmk ./jdk/make/common/Defs-bsd.gmk
#
# Japanese manpages
#
-diff -upr ../orig/jdk/make/common/Defs-linux.gmk ./jdk/make/common/Defs-linux.gmk
---- ../orig/jdk/make/common/Defs-linux.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/Defs-linux.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/Defs-linux.gmk ./jdk/make/common/Defs-linux.gmk
+--- ../orig/jdk/make/common/Defs-linux.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/common/Defs-linux.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -292,7 +292,7 @@ override LIBSOCKET =
override LIBTHREAD =
override MOOT_PRIORITIES = true
@@ -4660,9 +6876,9 @@ diff -upr ../orig/jdk/make/common/Defs-linux.gmk ./jdk/make/common/Defs-linux.gm
ifeq ($(ARCH), amd64)
override OPENWIN_LIB = $(OPENWIN_HOME)/lib64
else
-diff -upr ../orig/jdk/make/common/Defs.gmk ./jdk/make/common/Defs.gmk
---- ../orig/jdk/make/common/Defs.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/Defs.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/Defs.gmk ./jdk/make/common/Defs.gmk
+--- ../orig/jdk/make/common/Defs.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/common/Defs.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -188,6 +188,24 @@ else
_OUTPUTDIR=$(JDK_TOPDIR)/build/$(PLATFORM)-$(ARCH)
endif
@@ -4707,9 +6923,9 @@ diff -upr ../orig/jdk/make/common/Defs.gmk ./jdk/make/common/Defs.gmk
endif # PROGRAM
LDLIBS_COMMON += $(EXTRA_LIBS)
-diff -upr ../orig/jdk/make/common/Program.gmk ./jdk/make/common/Program.gmk
---- ../orig/jdk/make/common/Program.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/Program.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/Program.gmk ./jdk/make/common/Program.gmk
+--- ../orig/jdk/make/common/Program.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/common/Program.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -67,11 +67,27 @@ endif
# Create a dependency on libjli (Java Launcher Infrastructure)
#
@@ -4770,9 +6986,9 @@ diff -upr ../orig/jdk/make/common/Program.gmk ./jdk/make/common/Program.gmk
# this may not be necessary...
ifeq ($(PLATFORM), windows)
-diff -upr ../orig/jdk/make/common/Release.gmk ./jdk/make/common/Release.gmk
---- ../orig/jdk/make/common/Release.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/Release.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/Release.gmk ./jdk/make/common/Release.gmk
+--- ../orig/jdk/make/common/Release.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/common/Release.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -147,14 +147,13 @@ JRE_MAN_PAGES = \
tnameserv.1 \
unpack200.1
@@ -4832,9 +7048,9 @@ diff -upr ../orig/jdk/make/common/Release.gmk ./jdk/make/common/Release.gmk
| ($(CD) $(JDK_IMAGE_DIR)/src && $(TAR) xf -); \
fi; \
done
-diff -upr ../orig/jdk/make/common/internal/BinaryPlugs.gmk ./jdk/make/common/internal/BinaryPlugs.gmk
---- ../orig/jdk/make/common/internal/BinaryPlugs.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/internal/BinaryPlugs.gmk 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/internal/BinaryPlugs.gmk ./jdk/make/common/internal/BinaryPlugs.gmk
+--- ../orig/jdk/make/common/internal/BinaryPlugs.gmk 2009-04-24 03:33:54.000000000 -0400
++++ ./jdk/make/common/internal/BinaryPlugs.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -49,8 +49,6 @@ PLUG_JMF_CLASS_NAMES = \
com/sun/jmx/snmp/SnmpDataTypeEnums.class \
com/sun/jmx/snmp/SnmpDefinitions.class \
@@ -4924,9 +7140,9 @@ diff -upr ../orig/jdk/make/common/internal/BinaryPlugs.gmk ./jdk/make/common/int
import-binary-plug-jar \
import-binary-plugs-completed
-diff -upr ../orig/jdk/make/common/shared/Compiler-gcc.gmk ./jdk/make/common/shared/Compiler-gcc.gmk
---- ../orig/jdk/make/common/shared/Compiler-gcc.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/shared/Compiler-gcc.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Compiler-gcc.gmk ./jdk/make/common/shared/Compiler-gcc.gmk
+--- ../orig/jdk/make/common/shared/Compiler-gcc.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/common/shared/Compiler-gcc.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -99,6 +99,24 @@ ifeq ($(PLATFORM), linux)
endif
@@ -4952,9 +7168,9 @@ diff -upr ../orig/jdk/make/common/shared/Compiler-gcc.gmk ./jdk/make/common/shar
ifeq ($(PLATFORM), solaris)
# Settings specific to Solaris
-diff -upr ../orig/jdk/make/common/shared/Compiler.gmk ./jdk/make/common/shared/Compiler.gmk
---- ../orig/jdk/make/common/shared/Compiler.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/shared/Compiler.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Compiler.gmk ./jdk/make/common/shared/Compiler.gmk
+--- ../orig/jdk/make/common/shared/Compiler.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/common/shared/Compiler.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -37,8 +37,8 @@ ifeq ($(PLATFORM), solaris)
override CC_VERSION = sun
endif
@@ -4966,9 +7182,9 @@ diff -upr ../orig/jdk/make/common/shared/Compiler.gmk ./jdk/make/common/shared/C
override CC_VERSION = gcc
endif
-diff -upr ../orig/jdk/make/common/shared/Defs-bsd.gmk ./jdk/make/common/shared/Defs-bsd.gmk
---- ../orig/jdk/make/common/shared/Defs-bsd.gmk 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/make/common/shared/Defs-bsd.gmk 2009-05-04 22:40:38.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Defs-bsd.gmk ./jdk/make/common/shared/Defs-bsd.gmk
+--- ../orig/jdk/make/common/shared/Defs-bsd.gmk 2009-05-14 23:40:17.000000000 -0400
++++ ./jdk/make/common/shared/Defs-bsd.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -70,7 +70,7 @@ $(shell if [ "$1" != "" -a -d "$1" ]; th
endef
@@ -5007,9 +7223,9 @@ diff -upr ../orig/jdk/make/common/shared/Defs-bsd.gmk ./jdk/make/common/shared/D
# Import JDK images allow for partial builds, components not built are
# imported (or copied from) these import areas when needed.
-diff -upr ../orig/jdk/make/common/shared/Defs-utils.gmk ./jdk/make/common/shared/Defs-utils.gmk
---- ../orig/jdk/make/common/shared/Defs-utils.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/shared/Defs-utils.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Defs-utils.gmk ./jdk/make/common/shared/Defs-utils.gmk
+--- ../orig/jdk/make/common/shared/Defs-utils.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/common/shared/Defs-utils.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -77,6 +77,13 @@ ifndef FINDBUGS_HOME
endif
FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs
@@ -5057,9 +7273,9 @@ diff -upr ../orig/jdk/make/common/shared/Defs-utils.gmk ./jdk/make/common/shared
+ TAR = $(UTILS_USR_BIN_PATH)tar
+ endif
+endif
-diff -upr ../orig/jdk/make/common/shared/Defs.gmk ./jdk/make/common/shared/Defs.gmk
---- ../orig/jdk/make/common/shared/Defs.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/shared/Defs.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Defs.gmk ./jdk/make/common/shared/Defs.gmk
+--- ../orig/jdk/make/common/shared/Defs.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/common/shared/Defs.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -143,7 +143,7 @@ $(shell \
echo older; \
else \
@@ -5069,9 +7285,9 @@ diff -upr ../orig/jdk/make/common/shared/Defs.gmk ./jdk/make/common/shared/Defs.
echo older; \
else \
echo newer; \
-diff -upr ../orig/jdk/make/common/shared/Platform.gmk ./jdk/make/common/shared/Platform.gmk
---- ../orig/jdk/make/common/shared/Platform.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/shared/Platform.gmk 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Platform.gmk ./jdk/make/common/shared/Platform.gmk
+--- ../orig/jdk/make/common/shared/Platform.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/common/shared/Platform.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -276,6 +276,76 @@ ifeq ($(SYSTEM_UNAME), Linux)
MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2)
endif
@@ -5188,9 +7404,9 @@ diff -upr ../orig/jdk/make/common/shared/Platform.gmk ./jdk/make/common/shared/P
# If blanks in the username, use the first 4 words and pack them together
_USER1:=$(subst ', ,$(_USER))
_USER2:=$(subst ", ,$(_USER1))
-diff -upr ../orig/jdk/make/common/shared/Sanity-Settings.gmk ./jdk/make/common/shared/Sanity-Settings.gmk
---- ../orig/jdk/make/common/shared/Sanity-Settings.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/shared/Sanity-Settings.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Sanity-Settings.gmk ./jdk/make/common/shared/Sanity-Settings.gmk
+--- ../orig/jdk/make/common/shared/Sanity-Settings.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/common/shared/Sanity-Settings.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -257,6 +257,7 @@ ifdef OPENJDK
ALL_SETTINGS+=$(call addHeading,OpenJDK-specific settings)
ALL_SETTINGS+=$(call addAltSetting,FREETYPE_HEADERS_PATH)
@@ -5199,9 +7415,9 @@ diff -upr ../orig/jdk/make/common/shared/Sanity-Settings.gmk ./jdk/make/common/s
ALL_SETTINGS+=$(call addHeading,OPENJDK Import Binary Plug Settings)
ALL_SETTINGS+=$(call addAltSetting,BINARY_PLUGS_JARFILE)
ALL_SETTINGS+=$(call addAltSetting,BINARY_PLUGS_PATH)
-diff -upr ../orig/jdk/make/common/shared/Sanity.gmk ./jdk/make/common/shared/Sanity.gmk
---- ../orig/jdk/make/common/shared/Sanity.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/common/shared/Sanity.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/common/shared/Sanity.gmk ./jdk/make/common/shared/Sanity.gmk
+--- ../orig/jdk/make/common/shared/Sanity.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/common/shared/Sanity.gmk 2009-05-14 23:41:33.000000000 -0400
@@ -96,6 +96,11 @@ ifeq ($(PLATFORM), windows)
$(EGREP) "\#define" | $(NAWK) '{print $$3}')
endif
@@ -5214,9 +7430,9 @@ diff -upr ../orig/jdk/make/common/shared/Sanity.gmk ./jdk/make/common/shared/San
# Get the version numbers of what we are using
_MAKE_VER :=$(shell $(MAKE) --version 2>&1 | $(HEAD) -n 1)
_ZIP_VER :=$(shell $(ZIPEXE) -help 2>&1 | $(HEAD) -n 4 | $(EGREP) '^Zip')
-diff -upr ../orig/jdk/make/docs/Makefile ./jdk/make/docs/Makefile
---- ../orig/jdk/make/docs/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/docs/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/docs/Makefile ./jdk/make/docs/Makefile
+--- ../orig/jdk/make/docs/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/docs/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -232,7 +232,7 @@ JDI_HEADER = "Java Debug Interface"
# you get "No packages or classes specified." due to $(CLASSPATH_SEPARATOR)
# being interpreted as an end of command (newline)
@@ -5226,9 +7442,9 @@ diff -upr ../orig/jdk/make/docs/Makefile ./jdk/make/docs/Makefile
JAAS_DOCDIR = $(DOCSDIR)/jre/api/security/jaas/spec
JAAS_JAVADOCFLAGS = $(COMMON_JAVADOCFLAGS) \
-encoding ascii \
-diff -upr ../orig/jdk/make/java/Makefile ./jdk/make/java/Makefile
---- ../orig/jdk/make/java/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/java/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/Makefile ./jdk/make/java/Makefile
+--- ../orig/jdk/make/java/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -49,7 +49,7 @@ ifeq ($(PLATFORM), solaris)
endif
endif # PLATFORM
@@ -5238,9 +7454,9 @@ diff -upr ../orig/jdk/make/java/Makefile ./jdk/make/java/Makefile
SUBDIRS += jexec
endif # PLATFORM
-diff -upr ../orig/jdk/make/java/hpi/hpi_common.gmk ./jdk/make/java/hpi/hpi_common.gmk
---- ../orig/jdk/make/java/hpi/hpi_common.gmk 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/java/hpi/hpi_common.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/hpi/hpi_common.gmk ./jdk/make/java/hpi/hpi_common.gmk
+--- ../orig/jdk/make/java/hpi/hpi_common.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/hpi/hpi_common.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -86,5 +86,9 @@ endif
# Things that must be linked in.
#
@@ -5251,9 +7467,9 @@ diff -upr ../orig/jdk/make/java/hpi/hpi_common.gmk ./jdk/make/java/hpi/hpi_commo
OTHER_LDLIBS += $(LIBSOCKET) -lnsl $(LIBM) -ldl
endif
+endif
-diff -upr ../orig/jdk/make/java/hpi/native/Makefile ./jdk/make/java/hpi/native/Makefile
---- ../orig/jdk/make/java/hpi/native/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/java/hpi/native/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/hpi/native/Makefile ./jdk/make/java/hpi/native/Makefile
+--- ../orig/jdk/make/java/hpi/native/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/hpi/native/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -72,11 +72,18 @@ OTHER_CPPFLAGS += -DUSE_PTHREADS
ifeq ($(MOOT_PRIORITIES),true)
OTHER_CPPFLAGS += -DMOOT_PRIORITIES
@@ -5273,9 +7489,9 @@ diff -upr ../orig/jdk/make/java/hpi/native/Makefile ./jdk/make/java/hpi/native/M
ifeq ($(HAVE_GETHRVTIME),true)
OTHER_CPPFLAGS += -DHAVE_GETHRVTIME
endif
-diff -upr ../orig/jdk/make/java/instrument/Makefile ./jdk/make/java/instrument/Makefile
---- ../orig/jdk/make/java/instrument/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/java/instrument/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/instrument/Makefile ./jdk/make/java/instrument/Makefile
+--- ../orig/jdk/make/java/instrument/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/instrument/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -102,6 +102,21 @@ ifeq ($(PLATFORM), windows)
# equivalent of strcasecmp is stricmp on Windows
CPPFLAGS_COMMON += -Dstrcasecmp=stricmp
@@ -5306,9 +7522,9 @@ diff -upr ../orig/jdk/make/java/instrument/Makefile ./jdk/make/java/instrument/M
#
# Library to compile.
-diff -upr ../orig/jdk/make/java/java/Makefile ./jdk/make/java/java/Makefile
---- ../orig/jdk/make/java/java/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/java/java/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/java/Makefile ./jdk/make/java/java/Makefile
+--- ../orig/jdk/make/java/java/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/java/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -167,8 +167,10 @@ OTHER_INCLUDES += -I$(PLATFORM_SRC)/nati
# Is the altzone extern documented in ctime(3C) available?
#
@@ -5335,9 +7551,9 @@ diff -upr ../orig/jdk/make/java/java/Makefile ./jdk/make/java/java/Makefile
#
# Rules.
-diff -upr ../orig/jdk/make/java/java/localegen.sh ./jdk/make/java/java/localegen.sh
---- ../orig/jdk/make/java/java/localegen.sh 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/java/java/localegen.sh 2009-05-05 08:21:41.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/java/localegen.sh ./jdk/make/java/java/localegen.sh
+--- ../orig/jdk/make/java/java/localegen.sh 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/java/localegen.sh 2009-05-14 23:41:34.000000000 -0400
@@ -55,9 +55,9 @@ sed_script="$SED -e \"s@^#warn .*@// --
for FILE in $RESOURCE_NAMES
do
@@ -5350,9 +7566,9 @@ diff -upr ../orig/jdk/make/java/java/localegen.sh ./jdk/make/java/java/localegen
done
sed_script=$sed_script"$INPUT_FILE > $OUTPUT_FILE"
-diff -upr ../orig/jdk/make/java/java_hprof_demo/Makefile ./jdk/make/java/java_hprof_demo/Makefile
---- ../orig/jdk/make/java/java_hprof_demo/Makefile 2009-01-27 15:44:38.000000000 -0500
-+++ ./jdk/make/java/java_hprof_demo/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/java_hprof_demo/Makefile ./jdk/make/java/java_hprof_demo/Makefile
+--- ../orig/jdk/make/java/java_hprof_demo/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/java_hprof_demo/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -83,8 +83,10 @@ OTHER_INCLUDES = -I$(SRCDIR) \
ifeq ($(PLATFORM), windows)
OTHER_LDLIBS += wsock32.lib winmm.lib
@@ -5364,9 +7580,9 @@ diff -upr ../orig/jdk/make/java/java_hprof_demo/Makefile ./jdk/make/java/java_hp
#
# Tell library.gmk to copy the txt file first
-diff -upr ../orig/jdk/make/java/jli/Makefile ./jdk/make/java/jli/Makefile
---- ../orig/jdk/make/java/jli/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/jli/Makefile 2009-05-05 08:26:57.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/jli/Makefile ./jdk/make/java/jli/Makefile
+--- ../orig/jdk/make/java/jli/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/jli/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -44,8 +44,10 @@ MS_RUNTIME_STATIC = true
include $(BUILDDIR)/common/Defs.gmk
@@ -5442,9 +7658,9 @@ diff -upr ../orig/jdk/make/java/jli/Makefile ./jdk/make/java/jli/Makefile
+endif
+
-diff -upr ../orig/jdk/make/java/management/Makefile ./jdk/make/java/management/Makefile
---- ../orig/jdk/make/java/management/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/management/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/management/Makefile ./jdk/make/java/management/Makefile
+--- ../orig/jdk/make/java/management/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/management/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -85,6 +85,11 @@ vpath %.c $(PLATFORM_SRC)/native/com/sun
OTHER_INCLUDES += \
-I$(SHARE_SRC)/native/sun/management
@@ -5457,9 +7673,9 @@ diff -upr ../orig/jdk/make/java/management/Makefile ./jdk/make/java/management/M
ifeq ($(PLATFORM),windows)
OTHER_LDLIBS += $(JVMLIB)
endif
-diff -upr ../orig/jdk/make/java/net/FILES_c.gmk ./jdk/make/java/net/FILES_c.gmk
---- ../orig/jdk/make/java/net/FILES_c.gmk 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/net/FILES_c.gmk 2009-05-05 08:29:02.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/net/FILES_c.gmk ./jdk/make/java/net/FILES_c.gmk
+--- ../orig/jdk/make/java/net/FILES_c.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/net/FILES_c.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -43,6 +43,10 @@ ifeq ($(PLATFORM), linux)
FILES_c += linux_close.c
endif
@@ -5471,9 +7687,9 @@ diff -upr ../orig/jdk/make/java/net/FILES_c.gmk ./jdk/make/java/net/FILES_c.gmk
ifeq ($(PLATFORM), windows)
FILES_c += TwoStacksPlainSocketImpl.c
FILES_c += DualStackPlainSocketImpl.c
-diff -upr ../orig/jdk/make/java/net/Makefile ./jdk/make/java/net/Makefile
---- ../orig/jdk/make/java/net/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/net/Makefile 2009-05-05 08:30:25.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/net/Makefile ./jdk/make/java/net/Makefile
+--- ../orig/jdk/make/java/net/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/net/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -92,6 +92,12 @@ include $(BUILDDIR)/common/Mapfile-vers.
include $(BUILDDIR)/common/Library.gmk
@@ -5495,9 +7711,9 @@ diff -upr ../orig/jdk/make/java/net/Makefile ./jdk/make/java/net/Makefile
CLASSES.export += java.lang.Integer java.io.FileDescriptor java.net.InetAddressImplFactory java.net.Inet4AddressImpl java.net.Inet6AddressImpl
-diff -upr ../orig/jdk/make/java/nio/Makefile ./jdk/make/java/nio/Makefile
---- ../orig/jdk/make/java/nio/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/nio/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/nio/Makefile ./jdk/make/java/nio/Makefile
+--- ../orig/jdk/make/java/nio/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/nio/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -82,7 +82,7 @@ FILES_export += \
sun/nio/ch/WindowsSelectorImpl.java
endif # PLATFORM = windows
@@ -5539,9 +7755,9 @@ diff -upr ../orig/jdk/make/java/nio/Makefile ./jdk/make/java/nio/Makefile
include $(BUILDDIR)/common/Mapfile-vers.gmk
include $(BUILDDIR)/common/Library.gmk
-diff -upr ../orig/jdk/make/java/npt/Makefile ./jdk/make/java/npt/Makefile
---- ../orig/jdk/make/java/npt/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/npt/Makefile 2009-05-05 09:08:01.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/npt/Makefile ./jdk/make/java/npt/Makefile
+--- ../orig/jdk/make/java/npt/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/npt/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -70,6 +70,18 @@ ifeq ($(PLATFORM), windows)
OTHER_LCF += -export:nptInitialize -export:nptTerminate
endif
@@ -5561,9 +7777,9 @@ diff -upr ../orig/jdk/make/java/npt/Makefile ./jdk/make/java/npt/Makefile
#
# Add to ambient vpath so we pick up the library files
#
-diff -upr ../orig/jdk/make/java/redist/FILES.gmk ./jdk/make/java/redist/FILES.gmk
---- ../orig/jdk/make/java/redist/FILES.gmk 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/redist/FILES.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/redist/FILES.gmk ./jdk/make/java/redist/FILES.gmk
+--- ../orig/jdk/make/java/redist/FILES.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/redist/FILES.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -38,6 +38,14 @@ SHARED_FONTFILES = \
$(LIBDIR)/fonts/LucidaSansDemiBold.ttf \
@@ -5579,22 +7795,10 @@ diff -upr ../orig/jdk/make/java/redist/FILES.gmk ./jdk/make/java/redist/FILES.gm
# The oblique versions of the font are derived from the base versions
# and since 2D can do this derivation on the fly at run time there is no
-diff -upr ../orig/jdk/make/java/redist/Makefile ./jdk/make/java/redist/Makefile
---- ../orig/jdk/make/java/redist/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/redist/Makefile 2009-05-04 17:37:15.000000000 -0400
-@@ -85,6 +85,11 @@ ifeq ($(SA_EXISTS), false)
- INCLUDE_SA := false
- endif
-
-+# FIXME: Remove when the build of libsaproc is fixed.
-+ifeq ($(PLATFORM), bsd)
-+ INCLUDE_SA := false
-+endif
-+
- ifeq ($(INCLUDE_SA), true)
- IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \
- $(LIB_LOCATION)/$(SALIB_NAME)
-@@ -312,7 +317,7 @@ $(LIBDIR)/fonts/%.ttf: $(CLOSED_SRC)/sha
+diff -uNpr ../orig/jdk/make/java/redist/Makefile ./jdk/make/java/redist/Makefile
+--- ../orig/jdk/make/java/redist/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/redist/Makefile 2009-05-14 23:41:34.000000000 -0400
+@@ -312,7 +312,7 @@ $(LIBDIR)/fonts/%.ttf: $(CLOSED_SRC)/sha
$(FONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.fonts.dir
$(install-file)
@@ -5603,7 +7807,7 @@ diff -upr ../orig/jdk/make/java/redist/Makefile ./jdk/make/java/redist/Makefile
# The oblique fonts are only needed/wanted on Linux.
-@@ -326,7 +331,7 @@ $(LIBDIR)/oblique-fonts/%.ttf: $(CLOSED_
+@@ -326,7 +326,7 @@ $(LIBDIR)/oblique-fonts/%.ttf: $(CLOSED_
$(OBLFONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.oblique-fonts.dir
$(install-file)
@@ -5612,9 +7816,9 @@ diff -upr ../orig/jdk/make/java/redist/Makefile ./jdk/make/java/redist/Makefile
endif # !OPENJDK
# Import internal files (ones that are stashed in this source tree)
-diff -upr ../orig/jdk/make/java/security/Makefile ./jdk/make/java/security/Makefile
---- ../orig/jdk/make/java/security/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/security/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/security/Makefile ./jdk/make/java/security/Makefile
+--- ../orig/jdk/make/java/security/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/security/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -51,7 +51,15 @@ ifeq ($(PLATFORM), windows)
ifneq ($(ARCH_DATA_MODEL), 64)
PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-windows
@@ -5631,9 +7835,9 @@ diff -upr ../orig/jdk/make/java/security/Makefile ./jdk/make/java/security/Makef
endif # PLATFORM
-diff -upr ../orig/jdk/make/java/zip/FILES_c.gmk ./jdk/make/java/zip/FILES_c.gmk
---- ../orig/jdk/make/java/zip/FILES_c.gmk 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/zip/FILES_c.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/zip/FILES_c.gmk ./jdk/make/java/zip/FILES_c.gmk
+--- ../orig/jdk/make/java/zip/FILES_c.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/zip/FILES_c.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -30,6 +30,10 @@ FILES_c = \
Inflater.c \
ZipFile.c \
@@ -5653,9 +7857,9 @@ diff -upr ../orig/jdk/make/java/zip/FILES_c.gmk ./jdk/make/java/zip/FILES_c.gmk
- zip_util.c
+ inffast.c
+endif
-diff -upr ../orig/jdk/make/java/zip/Makefile ./jdk/make/java/zip/Makefile
---- ../orig/jdk/make/java/zip/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/java/zip/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/java/zip/Makefile ./jdk/make/java/zip/Makefile
+--- ../orig/jdk/make/java/zip/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/java/zip/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -72,16 +72,24 @@ else
CPPFLAGS += -UDEBUG
endif
@@ -5682,9 +7886,9 @@ diff -upr ../orig/jdk/make/java/zip/Makefile ./jdk/make/java/zip/Makefile
OTHER_LDLIBS = $(JVMLIB)
+endif
+
-diff -upr ../orig/jdk/make/javax/sound/FILES_c.gmk ./jdk/make/javax/sound/FILES_c.gmk
---- ../orig/jdk/make/javax/sound/FILES_c.gmk 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/javax/sound/FILES_c.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/javax/sound/FILES_c.gmk ./jdk/make/javax/sound/FILES_c.gmk
+--- ../orig/jdk/make/javax/sound/FILES_c.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/javax/sound/FILES_c.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -34,6 +34,8 @@ FILES_solaris = \
FILES_linux =
@@ -5694,9 +7898,9 @@ diff -upr ../orig/jdk/make/javax/sound/FILES_c.gmk ./jdk/make/javax/sound/FILES_
FILES_windows = \
PLATFORM_API_WinOS_MidiIn.c \
PLATFORM_API_WinOS_MidiOut.c \
-diff -upr ../orig/jdk/make/javax/sound/Makefile ./jdk/make/javax/sound/Makefile
---- ../orig/jdk/make/javax/sound/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/javax/sound/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/javax/sound/Makefile ./jdk/make/javax/sound/Makefile
+--- ../orig/jdk/make/javax/sound/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/javax/sound/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -107,6 +107,19 @@ ifeq ($(PLATFORM), linux)
#MXSPP_ADD = $(PLATFORM)-$(ARCH)/
endif # PLATFORM linux
@@ -5717,9 +7921,9 @@ diff -upr ../orig/jdk/make/javax/sound/Makefile ./jdk/make/javax/sound/Makefile
ifeq ($(PLATFORM), solaris)
ifneq ($(ARCH), amd64)
# build with ports and direct audio
-diff -upr ../orig/jdk/make/javax/sound/SoundDefs.gmk ./jdk/make/javax/sound/SoundDefs.gmk
---- ../orig/jdk/make/javax/sound/SoundDefs.gmk 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/javax/sound/SoundDefs.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/javax/sound/SoundDefs.gmk ./jdk/make/javax/sound/SoundDefs.gmk
+--- ../orig/jdk/make/javax/sound/SoundDefs.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/javax/sound/SoundDefs.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -40,6 +40,10 @@ ifeq ($(PLATFORM), linux)
CPPFLAGS += -DX_PLATFORM=X_LINUX
endif # PLATFORM linux
@@ -5731,9 +7935,9 @@ diff -upr ../orig/jdk/make/javax/sound/SoundDefs.gmk ./jdk/make/javax/sound/Soun
ifeq ($(PLATFORM), solaris)
CPPFLAGS += -DX_PLATFORM=X_SOLARIS
-diff -upr ../orig/jdk/make/jpda/back/Makefile ./jdk/make/jpda/back/Makefile
---- ../orig/jdk/make/jpda/back/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/jpda/back/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/jpda/back/Makefile ./jdk/make/jpda/back/Makefile
+--- ../orig/jdk/make/jpda/back/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/jpda/back/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -49,8 +49,10 @@ OTHER_INCLUDES = -I$(SHARE_SRC)/transpor
-I$(GENNATIVESRCDIR)/jdwp
@@ -5745,9 +7949,9 @@ diff -upr ../orig/jdk/make/jpda/back/Makefile ./jdk/make/jpda/back/Makefile
#
# This turns off all assert() checking in the optimized library
-diff -upr ../orig/jdk/make/jpda/transport/socket/Makefile ./jdk/make/jpda/transport/socket/Makefile
---- ../orig/jdk/make/jpda/transport/socket/Makefile 2009-01-27 15:44:39.000000000 -0500
-+++ ./jdk/make/jpda/transport/socket/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/jpda/transport/socket/Makefile ./jdk/make/jpda/transport/socket/Makefile
+--- ../orig/jdk/make/jpda/transport/socket/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/jpda/transport/socket/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -45,6 +45,11 @@ ifeq ($(PLATFORM), linux)
OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread
endif
@@ -5760,9 +7964,9 @@ diff -upr ../orig/jdk/make/jpda/transport/socket/Makefile ./jdk/make/jpda/transp
ifeq ($(PLATFORM), solaris)
OTHER_LDLIBS += -lnsl $(LIBSOCKET)
endif
-diff -upr ../orig/jdk/make/sun/awt/Makefile ./jdk/make/sun/awt/Makefile
---- ../orig/jdk/make/sun/awt/Makefile 2009-01-27 15:44:42.000000000 -0500
-+++ ./jdk/make/sun/awt/Makefile 2009-05-05 09:13:17.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/awt/Makefile ./jdk/make/sun/awt/Makefile
+--- ../orig/jdk/make/sun/awt/Makefile 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/sun/awt/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -129,6 +129,14 @@ OTHER_CFLAGS += -DMOTIF_VERSION=2
OTHER_LDLIBS = $(JVMLIB) $(LIBM) -ldl
endif
@@ -5832,9 +8036,9 @@ diff -upr ../orig/jdk/make/sun/awt/Makefile ./jdk/make/sun/awt/Makefile
LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
endif
-diff -upr ../orig/jdk/make/sun/awt/mawt.gmk ./jdk/make/sun/awt/mawt.gmk
---- ../orig/jdk/make/sun/awt/mawt.gmk 2009-01-27 15:44:42.000000000 -0500
-+++ ./jdk/make/sun/awt/mawt.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/awt/mawt.gmk ./jdk/make/sun/awt/mawt.gmk
+--- ../orig/jdk/make/sun/awt/mawt.gmk 2009-04-24 03:33:55.000000000 -0400
++++ ./jdk/make/sun/awt/mawt.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -172,7 +172,7 @@ ifeq ($(PLATFORM), solaris)
OTHER_LDLIBS = $(LIBXM) -lXt -lXext $(LIBXTST) $(LIBXMU) -lX11 -lXi
endif
@@ -5891,9 +8095,9 @@ diff -upr ../orig/jdk/make/sun/awt/mawt.gmk ./jdk/make/sun/awt/mawt.gmk
LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
$(AWT_RUNPATH)
-diff -upr ../orig/jdk/make/sun/font/Makefile ./jdk/make/sun/font/Makefile
---- ../orig/jdk/make/sun/font/Makefile 2009-01-27 15:44:42.000000000 -0500
-+++ ./jdk/make/sun/font/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/font/Makefile ./jdk/make/sun/font/Makefile
+--- ../orig/jdk/make/sun/font/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/font/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -177,6 +177,15 @@ else # PLATFORM
# Libraries to link, and other C flags.
#
@@ -5918,9 +8122,9 @@ diff -upr ../orig/jdk/make/sun/font/Makefile ./jdk/make/sun/font/Makefile
endif # PLATFORM
-diff -upr ../orig/jdk/make/sun/image/generic/Makefile ./jdk/make/sun/image/generic/Makefile
---- ../orig/jdk/make/sun/image/generic/Makefile 2009-01-27 15:44:43.000000000 -0500
-+++ ./jdk/make/sun/image/generic/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/image/generic/Makefile ./jdk/make/sun/image/generic/Makefile
+--- ../orig/jdk/make/sun/image/generic/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/image/generic/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -69,5 +69,9 @@ CPPFLAGS += \
-I$(PLATFORM_SRC)/native/$(PKGDIR)/medialib
@@ -5932,9 +8136,9 @@ diff -upr ../orig/jdk/make/sun/image/generic/Makefile ./jdk/make/sun/image/gener
+endif
+
-diff -upr ../orig/jdk/make/sun/jawt/Makefile ./jdk/make/sun/jawt/Makefile
---- ../orig/jdk/make/sun/jawt/Makefile 2009-01-27 15:44:43.000000000 -0500
-+++ ./jdk/make/sun/jawt/Makefile 2009-05-05 08:50:43.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/jawt/Makefile ./jdk/make/sun/jawt/Makefile
+--- ../orig/jdk/make/sun/jawt/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/jawt/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -98,9 +98,7 @@ else # PLATFORM
#
# Other extra flags needed for compiling.
@@ -5964,9 +8168,9 @@ diff -upr ../orig/jdk/make/sun/jawt/Makefile ./jdk/make/sun/jawt/Makefile
OTHER_LDLIBS = -L$(LIBDIR)/$(LIBARCH) -lawt -L$(LIBDIR)/$(LIBARCH)/xawt -lmawt
endif # PLATFORM
-diff -upr ../orig/jdk/make/sun/security/jgss/wrapper/Makefile ./jdk/make/sun/security/jgss/wrapper/Makefile
---- ../orig/jdk/make/sun/security/jgss/wrapper/Makefile 2009-01-27 15:44:44.000000000 -0500
-+++ ./jdk/make/sun/security/jgss/wrapper/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/security/jgss/wrapper/Makefile ./jdk/make/sun/security/jgss/wrapper/Makefile
+--- ../orig/jdk/make/sun/security/jgss/wrapper/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/security/jgss/wrapper/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -71,6 +71,10 @@ include $(BUILDDIR)/common/Library.gmk
#
# Libraries to link
@@ -5979,9 +8183,9 @@ diff -upr ../orig/jdk/make/sun/security/jgss/wrapper/Makefile ./jdk/make/sun/sec
+ifeq ($(PLATFORM), bsd)
+ OTHER_LDLIBS = $(JVMLIB)
+endif
-diff -upr ../orig/jdk/make/sun/security/pkcs11/Makefile ./jdk/make/sun/security/pkcs11/Makefile
---- ../orig/jdk/make/sun/security/pkcs11/Makefile 2009-01-27 15:44:44.000000000 -0500
-+++ ./jdk/make/sun/security/pkcs11/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/security/pkcs11/Makefile ./jdk/make/sun/security/pkcs11/Makefile
+--- ../orig/jdk/make/sun/security/pkcs11/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/security/pkcs11/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -155,7 +155,7 @@ include $(BUILDDIR)/common/Library.gmk
#
# Libraries to link
@@ -5991,9 +8195,9 @@ diff -upr ../orig/jdk/make/sun/security/pkcs11/Makefile ./jdk/make/sun/security/
OTHER_LDLIBS = $(JVMLIB)
else
OTHER_LDLIBS = -ldl $(JVMLIB)
-diff -upr ../orig/jdk/make/sun/security/smartcardio/Makefile ./jdk/make/sun/security/smartcardio/Makefile
---- ../orig/jdk/make/sun/security/smartcardio/Makefile 2009-01-27 15:44:44.000000000 -0500
-+++ ./jdk/make/sun/security/smartcardio/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/security/smartcardio/Makefile ./jdk/make/sun/security/smartcardio/Makefile
+--- ../orig/jdk/make/sun/security/smartcardio/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/security/smartcardio/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -75,6 +75,10 @@ include $(BUILDDIR)/common/Library.gmk
ifeq ($(PLATFORM), windows)
OTHER_LDLIBS = $(JVMLIB) winscard.lib
@@ -6006,9 +8210,9 @@ diff -upr ../orig/jdk/make/sun/security/smartcardio/Makefile ./jdk/make/sun/secu
+ endif
OTHER_CFLAGS = -D__sun_jdk
endif
-diff -upr ../orig/jdk/make/sun/splashscreen/FILES_c.gmk ./jdk/make/sun/splashscreen/FILES_c.gmk
---- ../orig/jdk/make/sun/splashscreen/FILES_c.gmk 2009-01-27 15:44:45.000000000 -0500
-+++ ./jdk/make/sun/splashscreen/FILES_c.gmk 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/splashscreen/FILES_c.gmk ./jdk/make/sun/splashscreen/FILES_c.gmk
+--- ../orig/jdk/make/sun/splashscreen/FILES_c.gmk 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/splashscreen/FILES_c.gmk 2009-05-14 23:41:34.000000000 -0400
@@ -49,20 +49,6 @@ FILES_c = \
dgif_lib.c \
gif_err.c \
@@ -6051,9 +8255,9 @@ diff -upr ../orig/jdk/make/sun/splashscreen/FILES_c.gmk ./jdk/make/sun/splashscr
+ zcrc32.c \
+ zutil.c
+endif
-diff -upr ../orig/jdk/make/sun/splashscreen/Makefile ./jdk/make/sun/splashscreen/Makefile
---- ../orig/jdk/make/sun/splashscreen/Makefile 2009-01-27 15:44:45.000000000 -0500
-+++ ./jdk/make/sun/splashscreen/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/splashscreen/Makefile ./jdk/make/sun/splashscreen/Makefile
+--- ../orig/jdk/make/sun/splashscreen/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/splashscreen/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -61,10 +61,26 @@ JAVALIB=
CFLAGS += -DSPLASHSCREEN
@@ -6101,9 +8305,9 @@ diff -upr ../orig/jdk/make/sun/splashscreen/Makefile ./jdk/make/sun/splashscreen
ifeq ($(PLATFORM), linux)
ifeq ($(ARCH_DATA_MODEL), 64)
# 64-bit gcc has problems compiling MMX instructions.
-diff -upr ../orig/jdk/make/sun/xawt/Makefile ./jdk/make/sun/xawt/Makefile
---- ../orig/jdk/make/sun/xawt/Makefile 2009-01-27 15:44:45.000000000 -0500
-+++ ./jdk/make/sun/xawt/Makefile 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/make/sun/xawt/Makefile ./jdk/make/sun/xawt/Makefile
+--- ../orig/jdk/make/sun/xawt/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/sun/xawt/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -53,6 +53,11 @@ LDFLAGS += -lpthread
dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
endif
@@ -6167,9 +8371,9 @@ diff -upr ../orig/jdk/make/sun/xawt/Makefile ./jdk/make/sun/xawt/Makefile
ifeq ($(MILESTONE), internal)
CPPFLAGS += -DINTERNAL_BUILD
endif
-diff -upr ../orig/jdk/make/tools/freetypecheck/Makefile ./jdk/make/tools/freetypecheck/Makefile
---- ../orig/jdk/make/tools/freetypecheck/Makefile 2009-01-27 15:44:46.000000000 -0500
-+++ ./jdk/make/tools/freetypecheck/Makefile 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/make/tools/freetypecheck/Makefile ./jdk/make/tools/freetypecheck/Makefile
+--- ../orig/jdk/make/tools/freetypecheck/Makefile 2009-04-24 03:33:56.000000000 -0400
++++ ./jdk/make/tools/freetypecheck/Makefile 2009-05-14 23:41:34.000000000 -0400
@@ -60,8 +60,12 @@ else
#add runtime lib search path to ensure test will be runnable
ifeq ($(PLATFORM), solaris)
@@ -6185,9 +8389,9 @@ diff -upr ../orig/jdk/make/tools/freetypecheck/Makefile ./jdk/make/tools/freetyp
endif
endif
-diff -upr ../orig/jdk/src/share/back/commonRef.c ./jdk/src/share/back/commonRef.c
---- ../orig/jdk/src/share/back/commonRef.c 2009-01-27 15:44:50.000000000 -0500
-+++ ./jdk/src/share/back/commonRef.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/back/commonRef.c ./jdk/src/share/back/commonRef.c
+--- ../orig/jdk/src/share/back/commonRef.c 2009-04-24 03:33:57.000000000 -0400
++++ ./jdk/src/share/back/commonRef.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,6 +23,10 @@
* have any questions.
*/
@@ -6199,9 +8403,9 @@ diff -upr ../orig/jdk/src/share/back/commonRef.c ./jdk/src/share/back/commonRef.
#include "util.h"
#include "commonRef.h"
-diff -upr ../orig/jdk/src/share/bin/java.c ./jdk/src/share/bin/java.c
---- ../orig/jdk/src/share/bin/java.c 2009-01-27 15:44:50.000000000 -0500
-+++ ./jdk/src/share/bin/java.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/bin/java.c ./jdk/src/share/bin/java.c
+--- ../orig/jdk/src/share/bin/java.c 2009-04-24 03:33:57.000000000 -0400
++++ ./jdk/src/share/bin/java.c 2009-05-14 23:41:34.000000000 -0400
@@ -104,6 +104,11 @@ static char *progname;
static char *launchername;
jboolean _launcher_debug = JNI_FALSE;
@@ -6396,9 +8600,9 @@ diff -upr ../orig/jdk/src/share/bin/java.c ./jdk/src/share/bin/java.c
static void
FreeKnownVMs()
{
-diff -upr ../orig/jdk/src/share/bin/java.h ./jdk/src/share/bin/java.h
---- ../orig/jdk/src/share/bin/java.h 2009-01-27 15:44:50.000000000 -0500
-+++ ./jdk/src/share/bin/java.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/bin/java.h ./jdk/src/share/bin/java.h
+--- ../orig/jdk/src/share/bin/java.h 2009-04-24 03:33:57.000000000 -0400
++++ ./jdk/src/share/bin/java.h 2009-05-14 23:41:34.000000000 -0400
@@ -91,11 +91,17 @@ jboolean RemovableMachineDependentOption
void PrintMachineDependentOptions();
@@ -6419,9 +8623,9 @@ diff -upr ../orig/jdk/src/share/bin/java.h ./jdk/src/share/bin/java.h
/* sun.java.launcher.* platform properties. */
void SetJavaLauncherPlatformProps(void);
-diff -upr ../orig/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java ./jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
---- ../orig/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java 2009-01-27 15:44:52.000000000 -0500
-+++ ./jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java ./jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
+--- ../orig/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java 2009-04-24 03:33:58.000000000 -0400
++++ ./jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java 2009-05-14 23:41:34.000000000 -0400
@@ -477,6 +477,10 @@ class Metacity implements SynthConstants
String[] dirs = new String[] {
userHome + sep + ".themes",
@@ -6433,9 +8637,9 @@ diff -upr ../orig/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.jav
"/usr/share/themes",
"/usr/gnome/share/themes", // Debian/Redhat/Solaris
"/opt/gnome2/share/themes" // SuSE
-diff -upr ../orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java ./jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java
---- ../orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java 2009-01-27 15:44:56.000000000 -0500
-+++ ./jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java ./jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java
+--- ../orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java 2009-04-24 03:34:00.000000000 -0400
++++ ./jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java 2009-05-14 23:41:34.000000000 -0400
@@ -78,6 +78,9 @@ public class SnmpPduTrap extends SnmpPdu
*/
public long timeStamp ;
@@ -6446,9 +8650,9 @@ diff -upr ../orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java ./jdk/
/**
-diff -upr ../orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java ./jdk/src/share/classes/java/awt/GraphicsEnvironment.java
---- ../orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java 2009-01-27 15:45:05.000000000 -0500
-+++ ./jdk/src/share/classes/java/awt/GraphicsEnvironment.java 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java ./jdk/src/share/classes/java/awt/GraphicsEnvironment.java
+--- ../orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java 2009-04-24 03:34:04.000000000 -0400
++++ ./jdk/src/share/classes/java/awt/GraphicsEnvironment.java 2009-05-14 23:41:34.000000000 -0400
@@ -148,7 +148,12 @@ public abstract class GraphicsEnvironmen
} else {
String osName = System.getProperty("os.name");
@@ -6463,9 +8667,9 @@ diff -upr ../orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java ./jdk/
(System.getenv("DISPLAY") == null));
}
} else if (nm.equals("true")) {
-diff -upr ../orig/jdk/src/share/classes/java/util/TimeZone.java ./jdk/src/share/classes/java/util/TimeZone.java
---- ../orig/jdk/src/share/classes/java/util/TimeZone.java 2009-01-27 15:45:18.000000000 -0500
-+++ ./jdk/src/share/classes/java/util/TimeZone.java 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/java/util/TimeZone.java ./jdk/src/share/classes/java/util/TimeZone.java
+--- ../orig/jdk/src/share/classes/java/util/TimeZone.java 2009-04-24 03:34:08.000000000 -0400
++++ ./jdk/src/share/classes/java/util/TimeZone.java 2009-05-14 23:41:34.000000000 -0400
@@ -779,15 +779,13 @@ abstract public class TimeZone implement
}
int gmtOffset = (hours * 60 + num) * 60 * 1000;
@@ -6483,9 +8687,9 @@ diff -upr ../orig/jdk/src/share/classes/java/util/TimeZone.java ./jdk/src/share/
}
return zi;
}
-diff -upr ../orig/jdk/src/share/classes/sun/awt/FontConfiguration.java ./jdk/src/share/classes/sun/awt/FontConfiguration.java
---- ../orig/jdk/src/share/classes/sun/awt/FontConfiguration.java 2009-01-27 15:45:29.000000000 -0500
-+++ ./jdk/src/share/classes/sun/awt/FontConfiguration.java 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/sun/awt/FontConfiguration.java ./jdk/src/share/classes/sun/awt/FontConfiguration.java
+--- ../orig/jdk/src/share/classes/sun/awt/FontConfiguration.java 2009-04-24 03:34:16.000000000 -0400
++++ ./jdk/src/share/classes/sun/awt/FontConfiguration.java 2009-05-14 23:41:34.000000000 -0400
@@ -1073,7 +1073,7 @@ public abstract class FontConfiguration
*/
HashMap<String, Boolean> existsMap;
@@ -6504,9 +8708,9 @@ diff -upr ../orig/jdk/src/share/classes/sun/awt/FontConfiguration.java ./jdk/src
errors++;
}
}
-diff -upr ../orig/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java ./jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java
---- ../orig/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java 2009-01-27 15:45:30.000000000 -0500
-+++ ./jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java ./jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java
+--- ../orig/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java 2009-04-24 03:34:17.000000000 -0400
++++ ./jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java 2009-05-14 23:41:34.000000000 -0400
@@ -76,7 +76,7 @@ import sun.font.NativeFont;
public abstract class SunGraphicsEnvironment extends GraphicsEnvironment
implements FontSupport, DisplayChangedListener {
@@ -6544,9 +8748,9 @@ diff -upr ../orig/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java .
registerFontDir(jreFontDirName);
}
registerFontsInDir(jreFontDirName, true, Font2D.JRE_RANK,
-diff -upr ../orig/jdk/src/share/classes/sun/print/PSPrinterJob.java ./jdk/src/share/classes/sun/print/PSPrinterJob.java
---- ../orig/jdk/src/share/classes/sun/print/PSPrinterJob.java 2009-01-27 15:45:34.000000000 -0500
-+++ ./jdk/src/share/classes/sun/print/PSPrinterJob.java 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/sun/print/PSPrinterJob.java ./jdk/src/share/classes/sun/print/PSPrinterJob.java
+--- ../orig/jdk/src/share/classes/sun/print/PSPrinterJob.java 2009-04-24 03:34:21.000000000 -0400
++++ ./jdk/src/share/classes/sun/print/PSPrinterJob.java 2009-05-14 23:41:34.000000000 -0400
@@ -1531,7 +1531,9 @@ public class PSPrinterJob extends Raster
pFlags |= NOSHEET;
ncomps+=1;
@@ -6558,9 +8762,17 @@ diff -upr ../orig/jdk/src/share/classes/sun/print/PSPrinterJob.java ./jdk/src/sh
execCmd = new String[ncomps];
execCmd[n++] = "/usr/bin/lpr";
if ((pFlags & PRINTER) != 0) {
-diff -upr ../orig/jdk/src/share/classes/sun/tools/jar/Main.java ./jdk/src/share/classes/sun/tools/jar/Main.java
---- ../orig/jdk/src/share/classes/sun/tools/jar/Main.java 2009-01-27 15:45:40.000000000 -0500
-+++ ./jdk/src/share/classes/sun/tools/jar/Main.java 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider
+--- ../orig/jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider 2009-04-24 03:34:25.000000000 -0400
++++ ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider 2009-05-14 23:41:34.000000000 -0400
+@@ -30,3 +30,4 @@
+ #[solaris]sun.tools.attach.SolarisAttachProvider
+ #[windows]sun.tools.attach.WindowsAttachProvider
+ #[linux]sun.tools.attach.LinuxAttachProvider
++#[bsd]sun.tools.attach.BsdAttachProvider
+diff -uNpr ../orig/jdk/src/share/classes/sun/tools/jar/Main.java ./jdk/src/share/classes/sun/tools/jar/Main.java
+--- ../orig/jdk/src/share/classes/sun/tools/jar/Main.java 2009-04-24 03:34:25.000000000 -0400
++++ ./jdk/src/share/classes/sun/tools/jar/Main.java 2009-05-14 23:41:34.000000000 -0400
@@ -46,6 +46,7 @@ class Main {
String zname = "";
String[] files;
@@ -6611,9 +8823,9 @@ diff -upr ../orig/jdk/src/share/classes/sun/tools/jar/Main.java ./jdk/src/share/
if (!d.exists() && !d.mkdirs() || !d.isDirectory()) {
throw new IOException(formatMsg(
"error.create.dir", d.getPath()));
-diff -upr ../orig/jdk/src/share/classes/sun/tools/jar/resources/jar.properties ./jdk/src/share/classes/sun/tools/jar/resources/jar.properties
---- ../orig/jdk/src/share/classes/sun/tools/jar/resources/jar.properties 2009-01-27 15:45:40.000000000 -0500
-+++ ./jdk/src/share/classes/sun/tools/jar/resources/jar.properties 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/classes/sun/tools/jar/resources/jar.properties ./jdk/src/share/classes/sun/tools/jar/resources/jar.properties
+--- ../orig/jdk/src/share/classes/sun/tools/jar/resources/jar.properties 2009-04-24 03:34:25.000000000 -0400
++++ ./jdk/src/share/classes/sun/tools/jar/resources/jar.properties 2009-05-14 23:41:34.000000000 -0400
@@ -44,6 +44,8 @@ error.create.dir=\
{0} : could not create directory
error.incorrect.length=\
@@ -6623,9 +8835,9 @@ diff -upr ../orig/jdk/src/share/classes/sun/tools/jar/resources/jar.properties .
out.added.manifest=\
added manifest
out.update.manifest=\
-diff -upr ../orig/jdk/src/share/hpi/include/hpi_impl.h ./jdk/src/share/hpi/include/hpi_impl.h
---- ../orig/jdk/src/share/hpi/include/hpi_impl.h 2009-01-27 15:45:43.000000000 -0500
-+++ ./jdk/src/share/hpi/include/hpi_impl.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/hpi/include/hpi_impl.h ./jdk/src/share/hpi/include/hpi_impl.h
+--- ../orig/jdk/src/share/hpi/include/hpi_impl.h 2009-04-24 03:34:28.000000000 -0400
++++ ./jdk/src/share/hpi/include/hpi_impl.h 2009-05-14 23:41:34.000000000 -0400
@@ -138,7 +138,11 @@ int sysConnect(int fd, struct sockaddr *
int sysBind(int fd, struct sockaddr *him, int len);
int sysAccept(int fd, struct sockaddr *him, int *len);
@@ -6639,9 +8851,9 @@ diff -upr ../orig/jdk/src/share/hpi/include/hpi_impl.h ./jdk/src/share/hpi/inclu
ssize_t sysSendTo(int fd, char *buf, int len, int flags, struct sockaddr *to,
int tolen);
ssize_t sysRecvFrom(int fd, char *buf, int nbytes, int flags,
-diff -upr ../orig/jdk/src/share/lib/security/java.security-openbsd ./jdk/src/share/lib/security/java.security-openbsd
---- ../orig/jdk/src/share/lib/security/java.security-openbsd 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/src/share/lib/security/java.security-openbsd 2009-05-05 09:50:18.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/lib/security/java.security-openbsd ./jdk/src/share/lib/security/java.security-openbsd
+--- ../orig/jdk/src/share/lib/security/java.security-openbsd 2009-05-14 23:40:17.000000000 -0400
++++ ./jdk/src/share/lib/security/java.security-openbsd 2009-05-14 23:41:34.000000000 -0400
@@ -66,7 +66,14 @@ security.provider.8=sun.security.smartca
# On Windows systems, the URLs file:/dev/random and file:/dev/urandom
# enables use of the Microsoft CryptoAPI seed functionality.
@@ -6658,9 +8870,9 @@ diff -upr ../orig/jdk/src/share/lib/security/java.security-openbsd ./jdk/src/sha
#
# The entropy gathering device is described as a URL and can also
# be specified with the system property "java.security.egd". For example,
-diff -upr ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h ./jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
---- ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h ./jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
+--- ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2009-04-24 03:34:28.000000000 -0400
++++ ./jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2009-05-14 23:41:34.000000000 -0400
@@ -32,6 +32,10 @@
#include <unistd.h>
#endif
@@ -6686,9 +8898,9 @@ diff -upr ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h ./jd
#ifdef _MSC_VER
typedef LONGLONG jlong;
typedef DWORDLONG julong;
-diff -upr ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp ./jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
---- ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp ./jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp
+--- ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp 2009-04-24 03:34:28.000000000 -0400
++++ ./jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp 2009-05-14 23:41:34.000000000 -0400
@@ -33,9 +33,14 @@
#include <limits.h>
#include <time.h>
@@ -6726,9 +8938,9 @@ diff -upr ../orig/jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp ./jdk
true));
}
-diff -upr ../orig/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c
---- ../orig/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c
+--- ../orig/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c 2009-04-24 03:34:28.000000000 -0400
++++ ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c 2009-05-14 23:41:34.000000000 -0400
@@ -33,7 +33,11 @@
#include <jni.h>
@@ -6741,9 +8953,9 @@ diff -upr ../orig/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c .
#include "SoundDefs.h"
#include "DirectAudio.h"
#include "Utilities.h"
-diff -upr ../orig/jdk/src/share/native/com/sun/media/sound/Platform.c ./jdk/src/share/native/com/sun/media/sound/Platform.c
---- ../orig/jdk/src/share/native/com/sun/media/sound/Platform.c 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/com/sun/media/sound/Platform.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/com/sun/media/sound/Platform.c ./jdk/src/share/native/com/sun/media/sound/Platform.c
+--- ../orig/jdk/src/share/native/com/sun/media/sound/Platform.c 2009-04-24 03:34:28.000000000 -0400
++++ ./jdk/src/share/native/com/sun/media/sound/Platform.c 2009-05-14 23:41:34.000000000 -0400
@@ -99,5 +99,17 @@ JNIEXPORT jint JNICALL Java_com_sun_medi
return com_sun_media_sound_Platform_LIB_ALSA;
}
@@ -6762,9 +8974,9 @@ diff -upr ../orig/jdk/src/share/native/com/sun/media/sound/Platform.c ./jdk/src/
+#endif
return 0;
}
-diff -upr ../orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h ./jdk/src/share/native/com/sun/media/sound/SoundDefs.h
---- ../orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h ./jdk/src/share/native/com/sun/media/sound/SoundDefs.h
+--- ../orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2009-04-24 03:34:28.000000000 -0400
++++ ./jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2009-05-14 23:41:34.000000000 -0400
@@ -31,6 +31,7 @@
#define X_WINDOWS 1
#define X_SOLARIS 2
@@ -6792,9 +9004,9 @@ diff -upr ../orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h ./jdk/src
+
+
#endif // __SOUNDDEFS_INCLUDED__
-diff -upr ../orig/jdk/src/share/native/common/check_code.c ./jdk/src/share/native/common/check_code.c
---- ../orig/jdk/src/share/native/common/check_code.c 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/common/check_code.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/common/check_code.c ./jdk/src/share/native/common/check_code.c
+--- ../orig/jdk/src/share/native/common/check_code.c 2009-04-24 03:34:28.000000000 -0400
++++ ./jdk/src/share/native/common/check_code.c 2009-05-14 23:41:34.000000000 -0400
@@ -1069,7 +1069,7 @@ verify_method(context_type *context, jcl
* Make sure that branches don't go into the middle of nowhere.
*/
@@ -6856,9 +9068,9 @@ diff -upr ../orig/jdk/src/share/native/common/check_code.c ./jdk/src/share/nativ
/* There can't be more than 64K labels because of the limit
* on per-method byte code length.
*/
-diff -upr ../orig/jdk/src/share/native/java/io/io_util.h ./jdk/src/share/native/java/io/io_util.h
---- ../orig/jdk/src/share/native/java/io/io_util.h 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/java/io/io_util.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/java/io/io_util.h ./jdk/src/share/native/java/io/io_util.h
+--- ../orig/jdk/src/share/native/java/io/io_util.h 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/java/io/io_util.h 2009-05-14 23:41:34.000000000 -0400
@@ -29,7 +29,15 @@
extern jfieldID IO_fd_fdID;
extern jfieldID IO_handle_fdID;
@@ -6876,9 +9088,9 @@ diff -upr ../orig/jdk/src/share/native/java/io/io_util.h ./jdk/src/share/native/
#define O_SYNC (0x0800)
#define O_DSYNC (0x2000)
#endif
-diff -upr ../orig/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
---- ../orig/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+--- ../orig/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2009-05-14 23:41:34.000000000 -0400
@@ -25,6 +25,10 @@
* have any questions.
*/
@@ -6904,9 +9116,9 @@ diff -upr ../orig/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h ./jdk/s
/*
* ANSI/POSIX
-diff -upr ../orig/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h ./jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
---- ../orig/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h ./jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
+--- ../orig/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h 2009-05-14 23:41:34.000000000 -0400
@@ -61,7 +61,7 @@
#define log1p jlog1p
#define expm1 jexpm1
@@ -6916,9 +9128,9 @@ diff -upr ../orig/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h ./jdk/
#define __ieee754_sqrt __j__ieee754_sqrt
#define __ieee754_acos __j__ieee754_acos
#define __ieee754_acosh __j__ieee754_acosh
-diff -upr ../orig/jdk/src/share/native/java/util/zip/Inflater.c ./jdk/src/share/native/java/util/zip/Inflater.c
---- ../orig/jdk/src/share/native/java/util/zip/Inflater.c 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/java/util/zip/Inflater.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/java/util/zip/Inflater.c ./jdk/src/share/native/java/util/zip/Inflater.c
+--- ../orig/jdk/src/share/native/java/util/zip/Inflater.c 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/java/util/zip/Inflater.c 2009-05-14 23:41:34.000000000 -0400
@@ -67,6 +67,10 @@ Java_java_util_zip_Inflater_init(JNIEnv
return jlong_zero;
} else {
@@ -6941,9 +9153,9 @@ diff -upr ../orig/jdk/src/share/native/java/util/zip/Inflater.c ./jdk/src/share/
}
JNIEXPORT void JNICALL
-diff -upr ../orig/jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h ./jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h
---- ../orig/jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h 2009-01-27 15:45:44.000000000 -0500
-+++ ./jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h ./jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h
+--- ../orig/jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h 2009-05-14 23:41:34.000000000 -0400
@@ -42,44 +42,49 @@
/* for _LP64 */
#include <sys/types.h>
@@ -7027,9 +9239,9 @@ diff -upr ../orig/jdk/src/share/native/java/util/zip/zlib-1.1.3/zconf.h ./jdk/sr
#endif
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
-diff -upr ../orig/jdk/src/share/native/sun/awt/debug/debug_util.h ./jdk/src/share/native/sun/awt/debug/debug_util.h
---- ../orig/jdk/src/share/native/sun/awt/debug/debug_util.h 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/debug/debug_util.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/debug/debug_util.h ./jdk/src/share/native/sun/awt/debug/debug_util.h
+--- ../orig/jdk/src/share/native/sun/awt/debug/debug_util.h 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/debug/debug_util.h 2009-05-14 23:41:34.000000000 -0400
@@ -50,7 +50,9 @@ typedef void * dmutex_t;
#include <stdio.h>
#include <string.h>
@@ -7040,9 +9252,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/debug/debug_util.h ./jdk/src/shar
#include <limits.h>
/* keep these after the other headers */
-diff -upr ../orig/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c ./jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c
---- ../orig/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c ./jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c
+--- ../orig/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c 2009-05-14 23:41:34.000000000 -0400
@@ -24,7 +24,11 @@
*/
@@ -7055,9 +9267,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c ./jdk/s
#include "sun_awt_image_BufImgSurfaceData.h"
-diff -upr ../orig/jdk/src/share/native/sun/awt/image/DataBufferNative.c ./jdk/src/share/native/sun/awt/image/DataBufferNative.c
---- ../orig/jdk/src/share/native/sun/awt/image/DataBufferNative.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/image/DataBufferNative.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/image/DataBufferNative.c ./jdk/src/share/native/sun/awt/image/DataBufferNative.c
+--- ../orig/jdk/src/share/native/sun/awt/image/DataBufferNative.c 2009-04-24 03:34:29.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/image/DataBufferNative.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,7 +23,11 @@
* have any questions.
*/
@@ -7070,9 +9282,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/image/DataBufferNative.c ./jdk/sr
#include "SurfaceData.h"
#include "sun_awt_image_DataBufferNative.h"
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c 2009-05-14 23:41:34.000000000 -0400
@@ -86,7 +86,7 @@ typedef struct {
#endif /* MLIB_USE_FTOI_CLAMPING */
@@ -7112,9 +9324,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c ./
#endif /* _NO_LONGLONG */
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c 2009-05-14 23:41:34.000000000 -0400
@@ -126,7 +126,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
@@ -7154,9 +9366,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c .
#endif /* _NO_LONGLONG */
/***************************************************************/
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c 2009-05-14 23:41:34.000000000 -0400
@@ -94,7 +94,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
@@ -7196,9 +9408,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ./
#endif /* _NO_LONGLONG */
/***************************************************************/
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c 2009-05-14 23:41:34.000000000 -0400
@@ -126,7 +126,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
@@ -7238,9 +9450,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ./
#endif /* _NO_LONGLONG */
/***************************************************************/
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c 2009-05-14 23:41:34.000000000 -0400
@@ -95,7 +95,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
@@ -7280,9 +9492,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ./j
#endif /* _NO_LONGLONG */
/***************************************************************/
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c 2009-05-14 23:41:34.000000000 -0400
@@ -126,7 +126,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
@@ -7322,9 +9534,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c
#endif /* _NO_LONGLONG */
/***************************************************************/
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c 2009-05-14 23:41:34.000000000 -0400
@@ -94,7 +94,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
@@ -7364,9 +9576,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c .
#endif /* _NO_LONGLONG */
/***************************************************************/
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c 2009-01-27 15:45:45.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c 2009-05-14 23:41:34.000000000 -0400
@@ -95,7 +95,7 @@ void mlib_ImageCopy_bit_na(const mlib_u8
dst = dp[0];
if (ld_offset + size < 32) {
@@ -7586,9 +9798,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c ./j
}
#else /* _LONGLONG */
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c 2009-05-14 23:41:34.000000000 -0400
@@ -168,7 +168,7 @@
}
@@ -7869,9 +10081,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c ./
dp[12] = t0;
dp[13] = t1;
dp[14] = t2;
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c 2009-05-14 23:41:34.000000000 -0400
@@ -88,7 +88,7 @@ typedef union {
} d64_2_f32;
@@ -8023,9 +10235,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c .
((mlib_u32*)lh)[0] = l; ((mlib_u32*)lh)[1] = l;
((mlib_u32*)lh)[2] = l; ((mlib_u32*)lh)[3] = h;
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c 2009-05-14 23:41:34.000000000 -0400
@@ -30,7 +30,7 @@
typedef union {
mlib_d64 db;
@@ -8035,9 +10247,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c ./jdk/
mlib_s32 int1, int0;
#else
mlib_s32 int0, int1;
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c 2009-05-14 23:41:34.000000000 -0400
@@ -275,11 +275,11 @@ void mlib_ImageCopy_bit_al(const mlib_u8
for (i = 0; j <= (b_size - 4); j += 4, i++) {
src0 = src1;
@@ -8136,9 +10348,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c ./jdk
s0 = s1;
dp += SIZE;
sp += SIZE;
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c 2009-05-14 23:41:34.000000000 -0400
@@ -120,7 +120,7 @@
} \
}
@@ -9371,9 +11583,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c .
dp[12] = t0;
dp[13] = t1;
dp[14] = t2;
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_image.h ./jdk/src/share/native/sun/awt/medialib/mlib_image.h
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_image.h 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_image.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_image.h ./jdk/src/share/native/sun/awt/medialib/mlib_image.h
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_image.h 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_image.h 2009-05-14 23:41:34.000000000 -0400
@@ -27,6 +27,11 @@
#ifndef MLIB_IMAGE_H
#define MLIB_IMAGE_H
@@ -9386,9 +11598,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_image.h ./jdk/src/s
#include <mlib_types.h>
#include <mlib_status.h>
#include <mlib_sys.h>
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_sys.c ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_sys.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_sys.c ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_sys.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c 2009-05-14 23:41:34.000000000 -0400
@@ -26,9 +26,15 @@
#include <stdlib.h>
@@ -9419,9 +11631,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_sys.c ./jdk/src/sha
return (void *) memalign(8, size);
#endif /* _MSC_VER */
}
-diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h ./jdk/src/share/native/sun/awt/medialib/mlib_types.h
---- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/awt/medialib/mlib_types.h 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h ./jdk/src/share/native/sun/awt/medialib/mlib_types.h
+--- ../orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/awt/medialib/mlib_types.h 2009-05-14 23:41:34.000000000 -0400
@@ -59,7 +59,10 @@ typedef double mlib_d64;
#if defined(__SUNPRO_C) || defined(__SUNPRO_CC) || defined(__GNUC__)
@@ -9434,9 +11646,9 @@ diff -upr ../orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h ./jdk/src/s
#include <stdint.h> /* for uintptr_t */
#include <malloc.h> /* for ptrdiff_t */
#else
-diff -upr ../orig/jdk/src/share/native/sun/font/AccelGlyphCache.c ./jdk/src/share/native/sun/font/AccelGlyphCache.c
---- ../orig/jdk/src/share/native/sun/font/AccelGlyphCache.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/font/AccelGlyphCache.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/font/AccelGlyphCache.c ./jdk/src/share/native/sun/font/AccelGlyphCache.c
+--- ../orig/jdk/src/share/native/sun/font/AccelGlyphCache.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/font/AccelGlyphCache.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,7 +23,11 @@
* have any questions.
*/
@@ -9449,9 +11661,9 @@ diff -upr ../orig/jdk/src/share/native/sun/font/AccelGlyphCache.c ./jdk/src/shar
#include "jni.h"
#include "AccelGlyphCache.h"
#include "Trace.h"
-diff -upr ../orig/jdk/src/share/native/sun/font/DrawGlyphList.c ./jdk/src/share/native/sun/font/DrawGlyphList.c
---- ../orig/jdk/src/share/native/sun/font/DrawGlyphList.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/font/DrawGlyphList.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/font/DrawGlyphList.c ./jdk/src/share/native/sun/font/DrawGlyphList.c
+--- ../orig/jdk/src/share/native/sun/font/DrawGlyphList.c 2009-04-24 03:34:30.000000000 -0400
++++ ./jdk/src/share/native/sun/font/DrawGlyphList.c 2009-05-14 23:41:34.000000000 -0400
@@ -26,7 +26,11 @@
#include "jlong.h"
#include "math.h"
@@ -9464,9 +11676,9 @@ diff -upr ../orig/jdk/src/share/native/sun/font/DrawGlyphList.c ./jdk/src/share/
#include "sunfontids.h"
#include "fontscalerdefs.h"
#include "glyphblitting.h"
-diff -upr ../orig/jdk/src/share/native/sun/font/sunFont.c ./jdk/src/share/native/sun/font/sunFont.c
---- ../orig/jdk/src/share/native/sun/font/sunFont.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/font/sunFont.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/font/sunFont.c ./jdk/src/share/native/sun/font/sunFont.c
+--- ../orig/jdk/src/share/native/sun/font/sunFont.c 2009-04-24 03:34:31.000000000 -0400
++++ ./jdk/src/share/native/sun/font/sunFont.c 2009-05-14 23:41:34.000000000 -0400
@@ -24,7 +24,9 @@
*/
@@ -9477,9 +11689,9 @@ diff -upr ../orig/jdk/src/share/native/sun/font/sunFont.c ./jdk/src/share/native
#include "string.h"
#include "gdefs.h"
#include "jlong.h"
-diff -upr ../orig/jdk/src/share/native/sun/java2d/SurfaceData.c ./jdk/src/share/native/sun/java2d/SurfaceData.c
---- ../orig/jdk/src/share/native/sun/java2d/SurfaceData.c 2009-01-27 15:45:46.000000000 -0500
-+++ ./jdk/src/share/native/sun/java2d/SurfaceData.c 2009-05-04 17:37:16.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/java2d/SurfaceData.c ./jdk/src/share/native/sun/java2d/SurfaceData.c
+--- ../orig/jdk/src/share/native/sun/java2d/SurfaceData.c 2009-04-24 03:34:31.000000000 -0400
++++ ./jdk/src/share/native/sun/java2d/SurfaceData.c 2009-05-14 23:41:34.000000000 -0400
@@ -28,7 +28,11 @@
#include "jni_util.h"
#include "Disposer.h"
@@ -9492,9 +11704,9 @@ diff -upr ../orig/jdk/src/share/native/sun/java2d/SurfaceData.c ./jdk/src/share/
#include "string.h"
/**
-diff -upr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h ./jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h
---- ../orig/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h 2009-01-27 15:45:47.000000000 -0500
-+++ ./jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h ./jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h
+--- ../orig/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h 2009-04-24 03:34:31.000000000 -0400
++++ ./jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h 2009-05-14 23:41:34.000000000 -0400
@@ -26,6 +26,9 @@
#ifndef OGLFuncs_h_Included
#define OGLFuncs_h_Included
@@ -9505,9 +11717,9 @@ diff -upr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h ./jdk/src/sh
#include "jni.h"
#include "J2D_GL/gl.h"
#include "J2D_GL/glext.h"
-diff -upr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c ./jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c
---- ../orig/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c 2009-01-27 15:45:47.000000000 -0500
-+++ ./jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c ./jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c
+--- ../orig/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c 2009-04-24 03:34:31.000000000 -0400
++++ ./jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c 2009-05-14 23:41:34.000000000 -0400
@@ -25,7 +25,11 @@
#ifndef HEADLESS
@@ -9520,9 +11732,9 @@ diff -upr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c ./jdk/
#include "sun_java2d_pipe_BufferedOpCodes.h"
-diff -upr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c ./jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c
---- ../orig/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c 2009-01-27 15:45:47.000000000 -0500
-+++ ./jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c ./jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c
+--- ../orig/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c 2009-04-24 03:34:31.000000000 -0400
++++ ./jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c 2009-05-14 23:41:34.000000000 -0400
@@ -25,7 +25,11 @@
#ifndef HEADLESS
@@ -9535,9 +11747,9 @@ diff -upr ../orig/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c ./jdk
#include <math.h>
#include <jlong.h>
-diff -upr ../orig/jdk/src/share/transport/socket/socketTransport.c ./jdk/src/share/transport/socket/socketTransport.c
---- ../orig/jdk/src/share/transport/socket/socketTransport.c 2009-01-27 15:45:48.000000000 -0500
-+++ ./jdk/src/share/transport/socket/socketTransport.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/share/transport/socket/socketTransport.c ./jdk/src/share/transport/socket/socketTransport.c
+--- ../orig/jdk/src/share/transport/socket/socketTransport.c 2009-04-24 03:34:32.000000000 -0400
++++ ./jdk/src/share/transport/socket/socketTransport.c 2009-05-14 23:41:34.000000000 -0400
@@ -65,6 +65,9 @@ static jdwpTransportEnv single_env = (jd
#define HEADER_SIZE 11
#define MAX_DATA_SIZE 1000
@@ -9625,9 +11837,9 @@ diff -upr ../orig/jdk/src/share/transport/socket/socketTransport.c ./jdk/src/sha
return res;
} else if (res == 0) {
break; /* eof, return nbytes which is less than len */
-diff -upr ../orig/jdk/src/solaris/back/exec_md.c ./jdk/src/solaris/back/exec_md.c
---- ../orig/jdk/src/solaris/back/exec_md.c 2009-01-27 15:45:48.000000000 -0500
-+++ ./jdk/src/solaris/back/exec_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/back/exec_md.c ./jdk/src/solaris/back/exec_md.c
+--- ../orig/jdk/src/solaris/back/exec_md.c 2009-04-24 03:34:32.000000000 -0400
++++ ./jdk/src/solaris/back/exec_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -30,7 +30,7 @@
#include "sys.h"
#include "util.h"
@@ -9637,9 +11849,9 @@ diff -upr ../orig/jdk/src/solaris/back/exec_md.c ./jdk/src/solaris/back/exec_md.
/* Linux */
#define FORK() fork()
#else
-diff -upr ../orig/jdk/src/solaris/back/linker_md.c ./jdk/src/solaris/back/linker_md.c
---- ../orig/jdk/src/solaris/back/linker_md.c 2009-01-27 15:45:48.000000000 -0500
-+++ ./jdk/src/solaris/back/linker_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/back/linker_md.c ./jdk/src/solaris/back/linker_md.c
+--- ../orig/jdk/src/solaris/back/linker_md.c 2009-04-24 03:34:32.000000000 -0400
++++ ./jdk/src/solaris/back/linker_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -48,6 +48,12 @@
#include "threads_md.h"
#endif
@@ -9665,9 +11877,9 @@ diff -upr ../orig/jdk/src/solaris/back/linker_md.c ./jdk/src/solaris/back/linker
}
}
-diff -upr ../orig/jdk/src/solaris/back/util_md.h ./jdk/src/solaris/back/util_md.h
---- ../orig/jdk/src/solaris/back/util_md.h 2009-01-27 15:45:48.000000000 -0500
-+++ ./jdk/src/solaris/back/util_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/back/util_md.h ./jdk/src/solaris/back/util_md.h
+--- ../orig/jdk/src/solaris/back/util_md.h 2009-04-24 03:34:32.000000000 -0400
++++ ./jdk/src/solaris/back/util_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -28,6 +28,7 @@
#include <limits.h>
@@ -9685,9 +11897,9 @@ diff -upr ../orig/jdk/src/solaris/back/util_md.h ./jdk/src/solaris/back/util_md.
#define HOST_TO_JAVA_CHAR(x) (((x & 0xff) << 8) | ((x >> 8) & (0xff)))
#define HOST_TO_JAVA_SHORT(x) (((x & 0xff) << 8) | ((x >> 8) & (0xff)))
-diff -upr ../orig/jdk/src/solaris/bin/java_md.c ./jdk/src/solaris/bin/java_md.c
---- ../orig/jdk/src/solaris/bin/java_md.c 2009-01-27 15:45:48.000000000 -0500
-+++ ./jdk/src/solaris/bin/java_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/bin/java_md.c ./jdk/src/solaris/bin/java_md.c
+--- ../orig/jdk/src/solaris/bin/java_md.c 2009-04-24 03:34:32.000000000 -0400
++++ ./jdk/src/solaris/bin/java_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -24,6 +24,7 @@
*/
@@ -9902,9 +12114,9 @@ diff -upr ../orig/jdk/src/solaris/bin/java_md.c ./jdk/src/solaris/bin/java_md.c
/* Coarse estimation of number of digits assuming the worst case is a 64-bit pid. */
#define MAX_PID_STR_SZ 20
-diff -upr ../orig/jdk/src/solaris/bin/java_md.h ./jdk/src/solaris/bin/java_md.h
---- ../orig/jdk/src/solaris/bin/java_md.h 2009-01-27 15:45:48.000000000 -0500
-+++ ./jdk/src/solaris/bin/java_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/bin/java_md.h ./jdk/src/solaris/bin/java_md.h
+--- ../orig/jdk/src/solaris/bin/java_md.h 2009-04-24 03:34:32.000000000 -0400
++++ ./jdk/src/solaris/bin/java_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -58,10 +58,14 @@
#include <sys/time.h>
#define CounterGet() (gethrtime()/1000)
@@ -9921,9 +12133,9 @@ diff -upr ../orig/jdk/src/solaris/bin/java_md.h ./jdk/src/solaris/bin/java_md.h
/*
* Function prototypes.
-diff -upr ../orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ./jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
---- ../orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java 2009-01-27 15:45:48.000000000 -0500
-+++ ./jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ./jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
+--- ../orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java 2009-04-24 03:34:33.000000000 -0400
++++ ./jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java 2009-05-14 23:41:34.000000000 -0400
@@ -403,7 +403,7 @@ public class X11GraphicsEnvironment
if (fontID != null) {
fileName = (String)fontNameMap.get(fontID);
@@ -9942,9 +12154,9 @@ diff -upr ../orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ./
fontConfigDirs.add(jreLibDirName+File.separator+"oblique-fonts");
}
fontdirs = (String[])fontConfigDirs.toArray(new String[0]);
-diff -upr ../orig/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
---- ../orig/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
+--- ../orig/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java 2009-04-24 03:34:33.000000000 -0400
++++ ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java 2009-05-14 23:41:34.000000000 -0400
@@ -119,7 +119,11 @@ public class UnixPrintServiceLookup exte
}
@@ -9958,46 +12170,115 @@ diff -upr ../orig/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
}
static final int UNINITIALIZED = -1;
-diff -upr ../orig/jdk/src/solaris/classes/sun/tools/attach/BsdAttachProvider.java ./jdk/src/solaris/classes/sun/tools/attach/BsdAttachProvider.java
---- ../orig/jdk/src/solaris/classes/sun/tools/attach/BsdAttachProvider.java 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/src/solaris/classes/sun/tools/attach/BsdAttachProvider.java 2009-05-04 17:37:15.000000000 -0400
-@@ -54,31 +54,13 @@ public class BsdAttachProvider extends H
- public VirtualMachine attachVirtualMachine(String vmid)
- throws AttachNotSupportedException, IOException
- {
-- checkAttachPermission();
--
-- // AttachNotSupportedException will be thrown if the target VM can be determined
-- // to be not attachable.
-- testAttachable(vmid);
+diff -uNpr ../orig/jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java ./jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java
+--- ../orig/jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java 2009-05-14 23:40:17.000000000 -0400
++++ ./jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java 2009-05-14 23:41:34.000000000 -0400
+@@ -38,9 +38,6 @@ import java.util.Properties;
+ */
+ public class BsdVirtualMachine extends HotSpotVirtualMachine {
+
+- // Indicates if this machine uses the old BsdThreads
+- static boolean isBsdThreads;
-
-- return new BsdVirtualMachine(this, vmid);
-+ throw new AttachNotSupportedException("Attach not yet supported on BSD");
+ // The patch to the socket file created by the target VM
+ String path;
+
+@@ -65,25 +62,10 @@ public class BsdVirtualMachine extends H
+ // Then we attempt to find the socket file again.
+ path = findSocketFile(pid);
+ if (path == null) {
+- File f = createAttachFile(pid);
++ File f = new File("/tmp/.attach_pid" + pid);
++ createAttachFile(f.getPath());
+ try {
+- // On BsdThreads each thread is a process and we don't have the
+- // pid of the VMThread which has SIGQUIT unblocked. To workaround
+- // this we get the pid of the "manager thread" that is created
+- // by the first call to pthread_create. This is parent of all
+- // threads (except the initial thread).
+- if (isBsdThreads) {
+- int mpid;
+- try {
+- mpid = getBsdThreadsManager(pid);
+- } catch (IOException x) {
+- throw new AttachNotSupportedException(x.getMessage());
+- }
+- assert(mpid >= 1);
+- sendQuitToChildrenOf(mpid);
+- } else {
+- sendQuitTo(pid);
+- }
++ sendQuitTo(pid);
+
+ // give the target VM time to start the attach mechanism
+ int i = 0;
+@@ -265,37 +247,14 @@ public class BsdVirtualMachine extends H
+ // First check for a .java_pid<pid> file in the working directory
+ // of the target process
+ String fn = ".java_pid" + pid;
+- String path = "/proc/" + pid + "/cwd/" + fn;
++ String path = "/tmp/" + fn;
+ File f = new File(path);
+ if (!f.exists()) {
+- // Not found, so try /tmp
+- path = "/tmp/" + fn;
+- f = new File(path);
+- if (!f.exists()) {
+- return null; // not found
+- }
++ return null; // not found
+ }
+ return path;
}
- public VirtualMachine attachVirtualMachine(VirtualMachineDescriptor vmd)
- throws AttachNotSupportedException, IOException
- {
-- if (vmd.provider() != this) {
-- throw new AttachNotSupportedException("provider mismatch");
+- // On Solaris/Bsd a simple handshake is used to start the attach mechanism
+- // if not already started. The client creates a .attach_pid<pid> file in the
+- // target VM's working directory (or /tmp), and the SIGQUIT handler checks
+- // for the file.
+- private File createAttachFile(int pid) throws IOException {
+- String fn = ".attach_pid" + pid;
+- String path = "/proc/" + pid + "/cwd/" + fn;
+- File f = new File(path);
+- try {
+- f.createNewFile();
+- } catch (IOException x) {
+- path = "/tmp/" + fn;
+- f = new File(path);
+- f.createNewFile();
- }
-- // To avoid re-checking if the VM if attachable, we check if the descriptor
-- // is for a hotspot VM - these descriptors are created by the listVirtualMachines
-- // implementation which only returns a list of attachable VMs.
-- if (vmd instanceof HotSpotVirtualMachineDescriptor) {
-- assert ((HotSpotVirtualMachineDescriptor)vmd).isAttachable();
-- checkAttachPermission();
-- return new BsdVirtualMachine(this, vmd.id());
-- } else {
-- return attachVirtualMachine(vmd.id());
-- }
-+ throw new AttachNotSupportedException("Attach not yet supported on BSD");
- }
+- return f;
+- }
+-
+ /*
+ * Write/sends the given to the target VM. String is transmitted in
+ * UTF-8 encoding.
+@@ -318,12 +277,6 @@ public class BsdVirtualMachine extends H
+
+ //-- native methods
+
+- static native boolean isBsdThreads();
+-
+- static native int getBsdThreadsManager(int pid) throws IOException;
+-
+- static native void sendQuitToChildrenOf(int pid) throws IOException;
+-
+ static native void sendQuitTo(int pid) throws IOException;
+
+ static native void checkPermissions(String path) throws IOException;
+@@ -338,8 +291,9 @@ public class BsdVirtualMachine extends H
+ static native void write(int fd, byte buf[], int off, int bufLen) throws IOException;
+
++ static native void createAttachFile(String path);
++
+ static {
+ System.loadLibrary("attach");
+- isBsdThreads = isBsdThreads();
+ }
}
-diff -upr ../orig/jdk/src/solaris/demo/jvmti/hprof/hprof_md.c ./jdk/src/solaris/demo/jvmti/hprof/hprof_md.c
---- ../orig/jdk/src/solaris/demo/jvmti/hprof/hprof_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/demo/jvmti/hprof/hprof_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/demo/jvmti/hprof/hprof_md.c ./jdk/src/solaris/demo/jvmti/hprof/hprof_md.c
+--- ../orig/jdk/src/solaris/demo/jvmti/hprof/hprof_md.c 2009-04-24 03:34:33.000000000 -0400
++++ ./jdk/src/solaris/demo/jvmti/hprof/hprof_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -33,7 +33,7 @@
#include <sys/stat.h>
#include <fcntl.h>
@@ -10043,9 +12324,9 @@ diff -upr ../orig/jdk/src/solaris/demo/jvmti/hprof/hprof_md.c ./jdk/src/solaris/
addr = (void*)&Agent_OnLoad;
#else
/* Just using &Agent_OnLoad will get the first external symbol with
-diff -upr ../orig/jdk/src/solaris/hpi/include/interrupt.h ./jdk/src/solaris/hpi/include/interrupt.h
---- ../orig/jdk/src/solaris/hpi/include/interrupt.h 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/include/interrupt.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/include/interrupt.h ./jdk/src/solaris/hpi/include/interrupt.h
+--- ../orig/jdk/src/solaris/hpi/include/interrupt.h 2009-04-24 03:34:33.000000000 -0400
++++ ./jdk/src/solaris/hpi/include/interrupt.h 2009-05-14 23:41:34.000000000 -0400
@@ -75,7 +75,7 @@ void intrDispatch(int interrupt, void *s
* N_INTERRUPTS - The number of interrupt channels. These
* are numbered from 0 to (N_INTERRUPTS - 1).
@@ -10066,9 +12347,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/include/interrupt.h ./jdk/src/solaris/hpi/
#ifdef SA_SIGINFO
/* Thread implementation dependent interrupt dispatcher. */
void intrDispatchMD(int sig, siginfo_t *info, void *uc);
-diff -upr ../orig/jdk/src/solaris/hpi/include/largefile.h ./jdk/src/solaris/hpi/include/largefile.h
---- ../orig/jdk/src/solaris/hpi/include/largefile.h 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/include/largefile.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/include/largefile.h ./jdk/src/solaris/hpi/include/largefile.h
+--- ../orig/jdk/src/solaris/hpi/include/largefile.h 2009-04-24 03:34:33.000000000 -0400
++++ ./jdk/src/solaris/hpi/include/largefile.h 2009-05-14 23:41:34.000000000 -0400
@@ -34,6 +34,10 @@
#include "largefile_linux.h"
#endif
@@ -10080,9 +12361,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/include/largefile.h ./jdk/src/solaris/hpi/
/*
* Prototypes for wrappers that we define. These wrapper functions
* are low-level I/O routines that will use 64 bit versions if
-diff -upr ../orig/jdk/src/solaris/hpi/include/largefile_bsd.h ./jdk/src/solaris/hpi/include/largefile_bsd.h
---- ../orig/jdk/src/solaris/hpi/include/largefile_bsd.h 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/src/solaris/hpi/include/largefile_bsd.h 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/include/largefile_bsd.h ./jdk/src/solaris/hpi/include/largefile_bsd.h
+--- ../orig/jdk/src/solaris/hpi/include/largefile_bsd.h 2009-05-14 23:40:17.000000000 -0400
++++ ./jdk/src/solaris/hpi/include/largefile_bsd.h 2009-05-14 23:41:34.000000000 -0400
@@ -23,14 +23,28 @@
* have any questions.
*/
@@ -10119,9 +12400,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/include/largefile_bsd.h ./jdk/src/solaris/
+#define pwrite64 pwrite
+
+#endif /* _JAVASOFT_BSD_LARGEFILE_SUPPORT_H_ */
-diff -upr ../orig/jdk/src/solaris/hpi/native_threads/include/threads_md.h ./jdk/src/solaris/hpi/native_threads/include/threads_md.h
---- ../orig/jdk/src/solaris/hpi/native_threads/include/threads_md.h 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/native_threads/include/threads_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/native_threads/include/threads_md.h ./jdk/src/solaris/hpi/native_threads/include/threads_md.h
+--- ../orig/jdk/src/solaris/hpi/native_threads/include/threads_md.h 2009-04-24 03:34:33.000000000 -0400
++++ ./jdk/src/solaris/hpi/native_threads/include/threads_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -36,6 +36,8 @@
#define N_TRACED_REGS 12
#elif i386
@@ -10168,9 +12449,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/native_threads/include/threads_md.h ./jdk/
#ifdef __linux__
extern thread_key_t intrJmpbufkey;
-diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/condvar_md.c ./jdk/src/solaris/hpi/native_threads/src/condvar_md.c
---- ../orig/jdk/src/solaris/hpi/native_threads/src/condvar_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/native_threads/src/condvar_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/native_threads/src/condvar_md.c ./jdk/src/solaris/hpi/native_threads/src/condvar_md.c
+--- ../orig/jdk/src/solaris/hpi/native_threads/src/condvar_md.c 2009-04-24 03:34:33.000000000 -0400
++++ ./jdk/src/solaris/hpi/native_threads/src/condvar_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -58,7 +58,7 @@ condvarDestroy(condvar_t *condvar)
{
int err;
@@ -10180,9 +12461,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/condvar_md.c ./jdk/src/
err = pthread_cond_destroy((cond_t *) &condvar->cond);
#else
err = cond_destroy((cond_t *) condvar);
-diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/monitor_md.c ./jdk/src/solaris/hpi/native_threads/src/monitor_md.c
---- ../orig/jdk/src/solaris/hpi/native_threads/src/monitor_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/native_threads/src/monitor_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/native_threads/src/monitor_md.c ./jdk/src/solaris/hpi/native_threads/src/monitor_md.c
+--- ../orig/jdk/src/solaris/hpi/native_threads/src/monitor_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/hpi/native_threads/src/monitor_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -147,7 +147,7 @@ sysMonitorEnter(sys_thread_t *self, sys_
mid->monitor_owner = self;
mid->entry_count = 1;
@@ -10192,9 +12473,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/monitor_md.c ./jdk/src/
if (mid->monitor_owner == self) {
mid->entry_count++;
return SYS_OK;
-diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c ./jdk/src/solaris/hpi/native_threads/src/sys_api_td.c
---- ../orig/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/native_threads/src/sys_api_td.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c ./jdk/src/solaris/hpi/native_threads/src/sys_api_td.c
+--- ../orig/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/hpi/native_threads/src/sys_api_td.c 2009-05-14 23:41:34.000000000 -0400
@@ -39,6 +39,10 @@
#include <sys/ioctl.h>
#endif
@@ -10217,9 +12498,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c ./jdk/src/
#ifdef NO_INTERRUPTIBLE_IO
#undef CLOSEIO
#else
-diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c ./jdk/src/solaris/hpi/native_threads/src/threads_bsd.c
---- ../orig/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/src/solaris/hpi/native_threads/src/threads_bsd.c 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c ./jdk/src/solaris/hpi/native_threads/src/threads_bsd.c
+--- ../orig/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c 2009-05-14 23:40:17.000000000 -0400
++++ ./jdk/src/solaris/hpi/native_threads/src/threads_bsd.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,79 +23,44 @@
* have any questions.
*/
@@ -11095,9 +13376,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c ./jdk/src
-
- print_lwps();
}
-diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/threads_md.c ./jdk/src/solaris/hpi/native_threads/src/threads_md.c
---- ../orig/jdk/src/solaris/hpi/native_threads/src/threads_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/native_threads/src/threads_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/native_threads/src/threads_md.c ./jdk/src/solaris/hpi/native_threads/src/threads_md.c
+--- ../orig/jdk/src/solaris/hpi/native_threads/src/threads_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/hpi/native_threads/src/threads_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -54,6 +54,10 @@ extern int InitializeIO(rlim_t limit);
#error That can NOT possibly be right.
#endif
@@ -11179,9 +13460,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/native_threads/src/threads_md.c ./jdk/src/
info.isMP = (cpus < 0) ? 1 : (cpus > 1);
info.name = "native threads";
-diff -upr ../orig/jdk/src/solaris/hpi/src/linker_md.c ./jdk/src/solaris/hpi/src/linker_md.c
---- ../orig/jdk/src/solaris/hpi/src/linker_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/src/linker_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/src/linker_md.c ./jdk/src/solaris/hpi/src/linker_md.c
+--- ../orig/jdk/src/solaris/hpi/src/linker_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/hpi/src/linker_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -44,11 +44,19 @@
#include "threads_md.h"
#endif
@@ -11248,9 +13529,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/src/linker_md.c ./jdk/src/solaris/hpi/src/
#endif
/*
* This is a bit of bulletproofing to catch the commonly occurring
-diff -upr ../orig/jdk/src/solaris/hpi/src/memory_md.c ./jdk/src/solaris/hpi/src/memory_md.c
---- ../orig/jdk/src/solaris/hpi/src/memory_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/src/memory_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/src/memory_md.c ./jdk/src/solaris/hpi/src/memory_md.c
+--- ../orig/jdk/src/solaris/hpi/src/memory_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/hpi/src/memory_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -50,12 +50,24 @@
#include <stdlib.h>
#include <stdio.h> /* For perror() */
@@ -11340,9 +13621,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/src/memory_md.c ./jdk/src/solaris/hpi/src/
ret = committedAddr;
#else
ret = requestedAddr;
-diff -upr ../orig/jdk/src/solaris/hpi/src/system_md.c ./jdk/src/solaris/hpi/src/system_md.c
---- ../orig/jdk/src/solaris/hpi/src/system_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/hpi/src/system_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/hpi/src/system_md.c ./jdk/src/solaris/hpi/src/system_md.c
+--- ../orig/jdk/src/solaris/hpi/src/system_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/hpi/src/system_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -41,6 +41,7 @@
#include <dlfcn.h>
@@ -11396,9 +13677,9 @@ diff -upr ../orig/jdk/src/solaris/hpi/src/system_md.c ./jdk/src/solaris/hpi/src/
fd = open64_w(path, oflag, mode);
if (delete != 0) {
unlink(path);
-diff -upr ../orig/jdk/src/solaris/instrument/EncodingSupport_md.c ./jdk/src/solaris/instrument/EncodingSupport_md.c
---- ../orig/jdk/src/solaris/instrument/EncodingSupport_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/instrument/EncodingSupport_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/instrument/EncodingSupport_md.c ./jdk/src/solaris/instrument/EncodingSupport_md.c
+--- ../orig/jdk/src/solaris/instrument/EncodingSupport_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/instrument/EncodingSupport_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -28,7 +28,10 @@
#include <string.h>
#include <ctype.h>
@@ -11428,9 +13709,9 @@ diff -upr ../orig/jdk/src/solaris/instrument/EncodingSupport_md.c ./jdk/src/sola
/* Open conversion descriptors */
iconvToPlatform = iconv_open(codeset, "UTF-8");
-diff -upr ../orig/jdk/src/solaris/javavm/export/jvm_md.h ./jdk/src/solaris/javavm/export/jvm_md.h
---- ../orig/jdk/src/solaris/javavm/export/jvm_md.h 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/javavm/export/jvm_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/javavm/export/jvm_md.h ./jdk/src/solaris/javavm/export/jvm_md.h
+--- ../orig/jdk/src/solaris/javavm/export/jvm_md.h 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/javavm/export/jvm_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -39,7 +39,14 @@
#define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"}
@@ -11455,9 +13736,9 @@ diff -upr ../orig/jdk/src/solaris/javavm/export/jvm_md.h ./jdk/src/solaris/javav
/* Signals */
-diff -upr ../orig/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c ./jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c
---- ../orig/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c 2009-01-27 15:45:49.000000000 -0500
-+++ ./jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c ./jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c
+--- ../orig/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -32,10 +32,16 @@
#include <sys/types.h>
@@ -11620,9 +13901,9 @@ diff -upr ../orig/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_
}
JNIEXPORT jlong JNICALL
-diff -upr ../orig/jdk/src/solaris/native/java/io/UnixFileSystem_md.c ./jdk/src/solaris/native/java/io/UnixFileSystem_md.c
---- ../orig/jdk/src/solaris/native/java/io/UnixFileSystem_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/io/UnixFileSystem_md.c 2009-05-06 10:46:09.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/io/UnixFileSystem_md.c ./jdk/src/solaris/native/java/io/UnixFileSystem_md.c
+--- ../orig/jdk/src/solaris/native/java/io/UnixFileSystem_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/io/UnixFileSystem_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -41,6 +41,11 @@
#include "java_io_FileSystem.h"
#include "java_io_UnixFileSystem.h"
@@ -11678,9 +13959,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/io/UnixFileSystem_md.c ./jdk/src/s
struct stat sb;
if (stat(path, &sb) == 0) {
-diff -upr ../orig/jdk/src/solaris/native/java/io/canonicalize_md.c ./jdk/src/solaris/native/java/io/canonicalize_md.c
---- ../orig/jdk/src/solaris/native/java/io/canonicalize_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/io/canonicalize_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/io/canonicalize_md.c ./jdk/src/solaris/native/java/io/canonicalize_md.c
+--- ../orig/jdk/src/solaris/native/java/io/canonicalize_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/io/canonicalize_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -33,7 +33,9 @@
#include <sys/stat.h>
#include <errno.h>
@@ -11691,9 +13972,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/io/canonicalize_md.c ./jdk/src/sol
/* Note: The comments in this file use the terminology
-diff -upr ../orig/jdk/src/solaris/native/java/io/io_util_md.c ./jdk/src/solaris/native/java/io/io_util_md.c
---- ../orig/jdk/src/solaris/native/java/io/io_util_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/io/io_util_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/io/io_util_md.c ./jdk/src/solaris/native/java/io/io_util_md.c
+--- ../orig/jdk/src/solaris/native/java/io/io_util_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/io/io_util_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -36,7 +36,7 @@ fileOpen(JNIEnv *env, jobject this, jstr
WITH_PLATFORM_STRING(env, path, ps) {
FD fd;
@@ -11703,9 +13984,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/io/io_util_md.c ./jdk/src/solaris/
/* Remove trailing slashes, since the kernel won't */
char *p = (char *)ps + strlen(ps) - 1;
while ((p > ps) && (*p == '/'))
-diff -upr ../orig/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c ./jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
---- ../orig/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c ./jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
+--- ../orig/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -28,6 +28,11 @@
#include "jni.h"
#include "jni_util.h"
@@ -11746,9 +14027,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c ./jdk
jbyteArray var, val;
const char * valBeg = varEnd + 1;
jsize varLength = varEnd - environ[i];
-diff -upr ../orig/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ./jdk/src/solaris/native/java/lang/UNIXProcess_md.c
---- ../orig/jdk/src/solaris/native/java/lang/UNIXProcess_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/lang/UNIXProcess_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ./jdk/src/solaris/native/java/lang/UNIXProcess_md.c
+--- ../orig/jdk/src/solaris/native/java/lang/UNIXProcess_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/lang/UNIXProcess_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -40,7 +40,11 @@
#include <stdlib.h>
#include <sys/types.h>
@@ -11951,9 +14232,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ./jdk/src/so
/* Close the parent sides of the pipe.
Give the child sides of the pipes the right fileno's.
Closing pipe fds here is redundant, since closeDescriptors()
-diff -upr ../orig/jdk/src/solaris/native/java/lang/java_props_md.c ./jdk/src/solaris/native/java/lang/java_props_md.c
---- ../orig/jdk/src/solaris/native/java/lang/java_props_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/lang/java_props_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/lang/java_props_md.c ./jdk/src/solaris/native/java/lang/java_props_md.c
+--- ../orig/jdk/src/solaris/native/java/lang/java_props_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/lang/java_props_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,7 +23,7 @@
* have any questions.
*/
@@ -12087,9 +14368,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/lang/java_props_md.c ./jdk/src/sol
return &sprops;
}
-diff -upr ../orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c
---- ../orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c
+--- ../orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -35,17 +35,293 @@
#include <stdlib.h>
#include <ctype.h>
@@ -12446,9 +14727,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c ./jdk/src/s
#define SET_NONBLOCKING(fd) { \
int flags = fcntl(fd, F_GETFL); \
flags |= O_NONBLOCK; \
-diff -upr ../orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c
---- ../orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c
+--- ../orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -32,6 +32,9 @@
#include <strings.h>
#include <stdlib.h>
@@ -12498,9 +14779,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c ./jdk/src/s
}
return (*env)->NewStringUTF(env, hostname);
}
-diff -upr ../orig/jdk/src/solaris/native/java/net/NetworkInterface.c ./jdk/src/solaris/native/java/net/NetworkInterface.c
---- ../orig/jdk/src/solaris/native/java/net/NetworkInterface.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/net/NetworkInterface.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/NetworkInterface.c ./jdk/src/solaris/native/java/net/NetworkInterface.c
+--- ../orig/jdk/src/solaris/native/java/net/NetworkInterface.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/NetworkInterface.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,13 +23,13 @@
* have any questions.
*/
@@ -12777,9 +15058,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/NetworkInterface.c ./jdk/src/s
memset((char *) &if2, 0, sizeof(if2));
strcpy(if2.ifr_name, name_utf);
-diff -upr ../orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
---- ../orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
+--- ../orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,12 +23,12 @@
* have any questions.
*/
@@ -12886,9 +15167,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c ./jd
}
}
}
-diff -upr ../orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c ./jdk/src/solaris/native/java/net/PlainSocketImpl.c
---- ../orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/net/PlainSocketImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c ./jdk/src/solaris/native/java/net/PlainSocketImpl.c
+--- ../orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/PlainSocketImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -528,9 +528,11 @@ Java_java_net_PlainSocketImpl_socketConn
if (connect_rv == JVM_IO_INTR) {
JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
@@ -12901,9 +15182,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c ./jdk/src/so
} else if (errno == ECONNREFUSED) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "ConnectException",
"Connection refused");
-diff -upr ../orig/jdk/src/solaris/native/java/net/bsd_close.c ./jdk/src/solaris/native/java/net/bsd_close.c
---- ../orig/jdk/src/solaris/native/java/net/bsd_close.c 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/src/solaris/native/java/net/bsd_close.c 2009-05-04 17:37:15.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/bsd_close.c ./jdk/src/solaris/native/java/net/bsd_close.c
+--- ../orig/jdk/src/solaris/native/java/net/bsd_close.c 2009-05-14 23:40:17.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/bsd_close.c 2009-05-14 23:41:34.000000000 -0400
@@ -57,7 +57,7 @@ typedef struct {
/*
* Signal to unblock thread
@@ -12913,9 +15194,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/bsd_close.c ./jdk/src/solaris/
/*
* The fd table and the number of file descriptors
-diff -upr ../orig/jdk/src/solaris/native/java/net/net_util_md.c ./jdk/src/solaris/native/java/net/net_util_md.c
---- ../orig/jdk/src/solaris/native/java/net/net_util_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/net/net_util_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/net_util_md.c ./jdk/src/solaris/native/java/net/net_util_md.c
+--- ../orig/jdk/src/solaris/native/java/net/net_util_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/net_util_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -34,6 +34,15 @@
#include <stdlib.h>
#include <dlfcn.h>
@@ -13086,9 +15367,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/net_util_md.c ./jdk/src/solari
return setsockopt(fd, level, opt, arg, len);
}
-diff -upr ../orig/jdk/src/solaris/native/java/net/net_util_md.h ./jdk/src/solaris/native/java/net/net_util_md.h
---- ../orig/jdk/src/solaris/native/java/net/net_util_md.h 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/net/net_util_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/net/net_util_md.h ./jdk/src/solaris/native/java/net/net_util_md.h
+--- ../orig/jdk/src/solaris/native/java/net/net_util_md.h 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/net/net_util_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -37,7 +37,7 @@
#endif
@@ -13098,9 +15379,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/net/net_util_md.h ./jdk/src/solari
extern int NET_Timeout(int s, long timeout);
extern int NET_Read(int s, void* buf, size_t len);
extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
-diff -upr ../orig/jdk/src/solaris/native/java/nio/MappedByteBuffer.c ./jdk/src/solaris/native/java/nio/MappedByteBuffer.c
---- ../orig/jdk/src/solaris/native/java/nio/MappedByteBuffer.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/nio/MappedByteBuffer.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/nio/MappedByteBuffer.c ./jdk/src/solaris/native/java/nio/MappedByteBuffer.c
+--- ../orig/jdk/src/solaris/native/java/nio/MappedByteBuffer.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/nio/MappedByteBuffer.c 2009-05-14 23:41:34.000000000 -0400
@@ -38,7 +38,11 @@ Java_java_nio_MappedByteBuffer_isLoaded0
jlong address, jlong len)
{
@@ -13125,9 +15406,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/nio/MappedByteBuffer.c ./jdk/src/s
unsigned long lAddress = address;
jlong offset = lAddress % pageSize;
-diff -upr ../orig/jdk/src/solaris/native/java/util/FileSystemPreferences.c ./jdk/src/solaris/native/java/util/FileSystemPreferences.c
---- ../orig/jdk/src/solaris/native/java/util/FileSystemPreferences.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/util/FileSystemPreferences.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/util/FileSystemPreferences.c ./jdk/src/solaris/native/java/util/FileSystemPreferences.c
+--- ../orig/jdk/src/solaris/native/java/util/FileSystemPreferences.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/util/FileSystemPreferences.c 2009-05-14 23:41:34.000000000 -0400
@@ -47,8 +47,11 @@ Java_java_util_prefs_FileSystemPreferenc
return (jint) result;
}
@@ -13165,9 +15446,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/util/FileSystemPreferences.c ./jdk
if (rc < 0) {
close(fd);
-diff -upr ../orig/jdk/src/solaris/native/java/util/TimeZone_md.c ./jdk/src/solaris/native/java/util/TimeZone_md.c
---- ../orig/jdk/src/solaris/native/java/util/TimeZone_md.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/java/util/TimeZone_md.c 2009-05-05 17:44:22.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/java/util/TimeZone_md.c ./jdk/src/solaris/native/java/util/TimeZone_md.c
+--- ../orig/jdk/src/solaris/native/java/util/TimeZone_md.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/java/util/TimeZone_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -31,7 +31,7 @@
#include <errno.h>
#include <stddef.h>
@@ -13311,9 +15592,9 @@ diff -upr ../orig/jdk/src/solaris/native/java/util/TimeZone_md.c ./jdk/src/solar
sprintf(buf, (const char *)"GMT%c%02d:%02d",
sign, (int)(offset/3600), (int)((offset%3600)/60));
return strdup(buf);
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/CUPSfuncs.c ./jdk/src/solaris/native/sun/awt/CUPSfuncs.c
---- ../orig/jdk/src/solaris/native/sun/awt/CUPSfuncs.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/CUPSfuncs.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/CUPSfuncs.c ./jdk/src/solaris/native/sun/awt/CUPSfuncs.c
+--- ../orig/jdk/src/solaris/native/sun/awt/CUPSfuncs.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/CUPSfuncs.c 2009-05-14 23:41:34.000000000 -0400
@@ -25,6 +25,7 @@
#include <jni.h>
@@ -13336,9 +15617,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/CUPSfuncs.c ./jdk/src/solaris/n
if (handle == NULL) {
return JNI_FALSE;
}
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/VDrawingArea.c ./jdk/src/solaris/native/sun/awt/VDrawingArea.c
---- ../orig/jdk/src/solaris/native/sun/awt/VDrawingArea.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/VDrawingArea.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/VDrawingArea.c ./jdk/src/solaris/native/sun/awt/VDrawingArea.c
+--- ../orig/jdk/src/solaris/native/sun/awt/VDrawingArea.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/VDrawingArea.c 2009-05-14 23:41:34.000000000 -0400
@@ -31,7 +31,11 @@
#endif /* !HEADLESS */
@@ -13351,9 +15632,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/VDrawingArea.c ./jdk/src/solari
#ifdef __linux__
/* XXX: Shouldn't be necessary. */
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/X11Color.c ./jdk/src/solaris/native/sun/awt/X11Color.c
---- ../orig/jdk/src/solaris/native/sun/awt/X11Color.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/X11Color.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/X11Color.c ./jdk/src/solaris/native/sun/awt/X11Color.c
+--- ../orig/jdk/src/solaris/native/sun/awt/X11Color.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/X11Color.c 2009-05-14 23:41:34.000000000 -0400
@@ -33,7 +33,9 @@
#include <math.h>
#include <sys/time.h>
@@ -13364,9 +15645,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/X11Color.c ./jdk/src/solaris/na
#ifndef HEADLESS
#include <X11/Xlib.h>
#include <X11/Xatom.h>
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/XDrawingArea.c ./jdk/src/solaris/native/sun/awt/XDrawingArea.c
---- ../orig/jdk/src/solaris/native/sun/awt/XDrawingArea.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/XDrawingArea.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/XDrawingArea.c ./jdk/src/solaris/native/sun/awt/XDrawingArea.c
+--- ../orig/jdk/src/solaris/native/sun/awt/XDrawingArea.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/XDrawingArea.c 2009-05-14 23:41:34.000000000 -0400
@@ -30,7 +30,11 @@
#include <Xm/XmP.h>
@@ -13379,9 +15660,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/XDrawingArea.c ./jdk/src/solari
#ifdef DEBUG
#include <jvm.h> /* To get jio_fprintf() */
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_Font.c ./jdk/src/solaris/native/sun/awt/awt_Font.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_Font.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_Font.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_Font.c ./jdk/src/solaris/native/sun/awt/awt_Font.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_Font.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_Font.c 2009-05-14 23:41:34.000000000 -0400
@@ -334,7 +334,7 @@ loadFont(Display * display, char *name,
if (strcmp(style, "regular") == 0) {
altstyle = "roman";
@@ -13391,9 +15672,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_Font.c ./jdk/src/solaris/na
if (!strcmp(family, "lucidasans")) {
family = "lucida";
}
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c 2009-05-14 23:41:34.000000000 -0400
@@ -40,6 +40,7 @@
#include <jni.h>
#include <jni_util.h>
@@ -13518,9 +15799,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c ./jdk/src/sol
if (pLibRandR == NULL) {
J2dRlsTraceLn(J2D_TRACE_ERROR,
"X11GD_InitXrandrFuncs: Could not open libXrandr.so.2");
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c 2009-05-14 23:41:34.000000000 -0400
@@ -69,7 +69,7 @@ static void PreeditDrawCallback(XIC, XPo
XIMPreeditDrawCallbackStruct *);
static void PreeditCaretCallback(XIC, XPointer,
@@ -13760,9 +16041,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c ./jdk/src/sol
AWT_LOCK();
adjustStatusWindow(window);
AWT_UNLOCK();
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c ./jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c ./jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c 2009-05-14 23:41:34.000000000 -0400
@@ -260,7 +260,11 @@ AWT_OnLoad(JavaVM *vm, void *reserved)
}
}
@@ -13775,9 +16056,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c ./jdk/src/sol
JNU_CallStaticMethodByName(env, NULL, "java/lang/System", "load",
"(Ljava/lang/String;)V",
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c ./jdk/src/solaris/native/sun/awt/awt_MToolkit.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_MToolkit.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c ./jdk/src/solaris/native/sun/awt/awt_MToolkit.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_MToolkit.c 2009-05-14 23:41:34.000000000 -0400
@@ -63,8 +63,9 @@
extern JavaVM *jvm;
@@ -13798,9 +16079,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c ./jdk/src/solari
statusWindowEventHandler(xev);
#endif
xembed_eventHandler(&xev);
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_Mlib.c ./jdk/src/solaris/native/sun/awt/awt_Mlib.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_Mlib.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_Mlib.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_Mlib.c ./jdk/src/solaris/native/sun/awt/awt_Mlib.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_Mlib.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_Mlib.c 2009-05-14 23:41:34.000000000 -0400
@@ -32,6 +32,7 @@
#include <dlfcn.h>
#include "jni.h"
@@ -13823,9 +16104,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_Mlib.c ./jdk/src/solaris/na
}
if (handle == NULL) {
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_Robot.c ./jdk/src/solaris/native/sun/awt/awt_Robot.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_Robot.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_Robot.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_Robot.c ./jdk/src/solaris/native/sun/awt/awt_Robot.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_Robot.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_Robot.c 2009-05-14 23:41:34.000000000 -0400
@@ -45,7 +45,7 @@
#include "wsutils.h"
#include "list.h"
@@ -13835,9 +16116,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_Robot.c ./jdk/src/solaris/n
#include <sys/socket.h>
#endif
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_util.h ./jdk/src/solaris/native/sun/awt/awt_util.h
---- ../orig/jdk/src/solaris/native/sun/awt/awt_util.h 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_util.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_util.h ./jdk/src/solaris/native/sun/awt/awt_util.h
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_util.h 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_util.h 2009-05-14 23:41:34.000000000 -0400
@@ -187,15 +187,20 @@ JNU_GetCharField(JNIEnv *env, jobject se
#ifdef __solaris__
extern Widget awt_util_getXICStatusAreaWindow(Widget w);
@@ -13860,9 +16141,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_util.h ./jdk/src/solaris/na
typedef struct _XmImRefRec {
Cardinal num_refs; /* Number of referencing widgets. */
Cardinal max_refs; /* Maximum length of refs array. */
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_wm.c ./jdk/src/solaris/native/sun/awt/awt_wm.c
---- ../orig/jdk/src/solaris/native/sun/awt/awt_wm.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_wm.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_wm.c ./jdk/src/solaris/native/sun/awt/awt_wm.c
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_wm.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_wm.c 2009-05-14 23:41:34.000000000 -0400
@@ -121,12 +121,19 @@ static Atom XA_KWM_WIN_ICONIFIED;
static Atom XA_KWM_WIN_MAXIMIZED;
@@ -13960,9 +16241,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_wm.c ./jdk/src/solaris/nati
awt_wmgr = OPENLOOK_WM;
}
else {
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_wm.h ./jdk/src/solaris/native/sun/awt/awt_wm.h
---- ../orig/jdk/src/solaris/native/sun/awt/awt_wm.h 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/awt_wm.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/awt_wm.h ./jdk/src/solaris/native/sun/awt/awt_wm.h
+--- ../orig/jdk/src/solaris/native/sun/awt/awt_wm.h 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/awt_wm.h 2009-05-14 23:41:34.000000000 -0400
@@ -45,7 +45,10 @@ enum wmgr_t {
KDE2_WM,
SAWFISH_WM,
@@ -13975,9 +16256,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/awt_wm.h ./jdk/src/solaris/nati
};
extern void awt_wm_init(void);
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/extutil.h ./jdk/src/solaris/native/sun/awt/extutil.h
---- ../orig/jdk/src/solaris/native/sun/awt/extutil.h 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/extutil.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/extutil.h ./jdk/src/solaris/native/sun/awt/extutil.h
+--- ../orig/jdk/src/solaris/native/sun/awt/extutil.h 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/extutil.h 2009-05-14 23:41:34.000000000 -0400
@@ -58,7 +58,7 @@ in this Software without prior written a
*/
/* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */
@@ -13993,9 +16274,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/extutil.h ./jdk/src/solaris/nat
-#endif /* __linux__ */
+#endif /* __linux__ || _ALLBSD_SOURCE */
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/fontpath.c ./jdk/src/solaris/native/sun/awt/fontpath.c
---- ../orig/jdk/src/solaris/native/sun/awt/fontpath.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/fontpath.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/fontpath.c ./jdk/src/solaris/native/sun/awt/fontpath.c
+--- ../orig/jdk/src/solaris/native/sun/awt/fontpath.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/fontpath.c 2009-05-14 23:41:34.000000000 -0400
@@ -23,7 +23,7 @@
* have any questions.
*/
@@ -14153,9 +16434,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/fontpath.c ./jdk/src/solaris/na
if (libfontconfig == NULL) {
return NULL;
}
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/gtk2_interface.c ./jdk/src/solaris/native/sun/awt/gtk2_interface.c
---- ../orig/jdk/src/solaris/native/sun/awt/gtk2_interface.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/gtk2_interface.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/gtk2_interface.c ./jdk/src/solaris/native/sun/awt/gtk2_interface.c
+--- ../orig/jdk/src/solaris/native/sun/awt/gtk2_interface.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/gtk2_interface.c 2009-05-14 23:41:34.000000000 -0400
@@ -30,8 +30,9 @@
#include <string.h>
#include "gtk2_interface.h"
@@ -14167,9 +16448,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/gtk2_interface.c ./jdk/src/sola
#define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0)
#define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1)
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/list.c ./jdk/src/solaris/native/sun/awt/list.c
---- ../orig/jdk/src/solaris/native/sun/awt/list.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/list.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/list.c ./jdk/src/solaris/native/sun/awt/list.c
+--- ../orig/jdk/src/solaris/native/sun/awt/list.c 2009-04-24 03:34:34.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/list.c 2009-05-14 23:41:34.000000000 -0400
@@ -66,7 +66,11 @@ from the X Consortium.
----------------------------------------------------------------------- **/
@@ -14182,9 +16463,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/list.c ./jdk/src/solaris/native
#include "list.h"
-diff -upr ../orig/jdk/src/solaris/native/sun/awt/robot_common.c ./jdk/src/solaris/native/sun/awt/robot_common.c
---- ../orig/jdk/src/solaris/native/sun/awt/robot_common.c 2009-01-27 15:45:50.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/awt/robot_common.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/awt/robot_common.c ./jdk/src/solaris/native/sun/awt/robot_common.c
+--- ../orig/jdk/src/solaris/native/sun/awt/robot_common.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/awt/robot_common.c 2009-05-14 23:41:34.000000000 -0400
@@ -27,6 +27,9 @@
#error This file should not be included in headless library
#endif
@@ -14195,9 +16476,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/awt/robot_common.c ./jdk/src/solari
#include "robot_common.h"
/*
-diff -upr ../orig/jdk/src/solaris/native/sun/font/X11FontScaler.c ./jdk/src/solaris/native/sun/font/X11FontScaler.c
---- ../orig/jdk/src/solaris/native/sun/font/X11FontScaler.c 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/font/X11FontScaler.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/font/X11FontScaler.c ./jdk/src/solaris/native/sun/font/X11FontScaler.c
+--- ../orig/jdk/src/solaris/native/sun/font/X11FontScaler.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/font/X11FontScaler.c 2009-05-14 23:41:34.000000000 -0400
@@ -32,7 +32,11 @@
* into X11FontScaler_md.c, which is compiled into another library.
*/
@@ -14210,9 +16491,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/font/X11FontScaler.c ./jdk/src/sola
#include <ctype.h>
#include <sys/utsname.h>
-diff -upr ../orig/jdk/src/solaris/native/sun/font/X11TextRenderer.c ./jdk/src/solaris/native/sun/font/X11TextRenderer.c
---- ../orig/jdk/src/solaris/native/sun/font/X11TextRenderer.c 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/font/X11TextRenderer.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/font/X11TextRenderer.c ./jdk/src/solaris/native/sun/font/X11TextRenderer.c
+--- ../orig/jdk/src/solaris/native/sun/font/X11TextRenderer.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/font/X11TextRenderer.c 2009-05-14 23:41:34.000000000 -0400
@@ -39,7 +39,11 @@
#include "GraphicsPrimitiveMgr.h"
#include "glyphblitting.h"
@@ -14225,9 +16506,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/font/X11TextRenderer.c ./jdk/src/so
JNIEXPORT void JNICALL AWTDrawGlyphList
-diff -upr ../orig/jdk/src/solaris/native/sun/java2d/j2d_md.h ./jdk/src/solaris/native/sun/java2d/j2d_md.h
---- ../orig/jdk/src/solaris/native/sun/java2d/j2d_md.h 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/java2d/j2d_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/java2d/j2d_md.h ./jdk/src/solaris/native/sun/java2d/j2d_md.h
+--- ../orig/jdk/src/solaris/native/sun/java2d/j2d_md.h 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/java2d/j2d_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -28,11 +28,11 @@
#include <sys/types.h>
@@ -14243,9 +16524,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/java2d/j2d_md.h ./jdk/src/solaris/n
typedef unsigned char jubyte;
typedef unsigned short jushort;
-diff -upr ../orig/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c
---- ../orig/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c
+--- ../orig/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c 2009-05-14 23:41:34.000000000 -0400
@@ -66,6 +66,10 @@
* MLIB_EDGE_SRC_PADDED
*/
@@ -14351,9 +16632,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c ./
LOGIC(da[0], dtmp, dtmp1, |);
}
else { /* aligned */
-diff -upr ../orig/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c
---- ../orig/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c
+--- ../orig/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c 2009-05-14 23:41:34.000000000 -0400
@@ -794,7 +794,7 @@ static AnyFunc* hash_table_vis[HASH_SIZE
static int initialized;
static int usevis = JNI_TRUE;
@@ -14363,9 +16644,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c ./jdk/
# define ULTRA_CHIP "sparc64"
#else
# define ULTRA_CHIP "sun4u"
-diff -upr ../orig/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h ./jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
---- ../orig/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h ./jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
+--- ../orig/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -27,7 +27,10 @@
#define OGLFuncs_md_h_Included
@@ -14386,9 +16667,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h ./jdk/s
} \
OGL_LIB_HANDLE = dlopen(libGLPath, RTLD_LAZY | RTLD_LOCAL); \
} \
-diff -upr ../orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c ./jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c
---- ../orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c ./jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c
+--- ../orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c 2009-05-14 23:41:34.000000000 -0400
@@ -32,6 +32,7 @@
#include "gdefs.h"
@@ -14406,9 +16687,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c ./jdk/s
}
dgaAvailable = JNI_FALSE;
if (lib != NULL) {
-diff -upr ../orig/jdk/src/solaris/native/sun/jdga/dgalock.c ./jdk/src/solaris/native/sun/jdga/dgalock.c
---- ../orig/jdk/src/solaris/native/sun/jdga/dgalock.c 2009-01-27 15:45:51.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/jdga/dgalock.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/jdga/dgalock.c ./jdk/src/solaris/native/sun/jdga/dgalock.c
+--- ../orig/jdk/src/solaris/native/sun/jdga/dgalock.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/jdga/dgalock.c 2009-05-14 23:41:34.000000000 -0400
@@ -44,6 +44,7 @@
#include <X11/Xlib.h>
@@ -14431,9 +16712,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/jdga/dgalock.c ./jdk/src/solaris/na
void *sym = dlsym(handle, "IsXineramaOn");
IsXineramaOn = (IsXineramaOnFunc *)sym;
if (IsXineramaOn != 0 && (*IsXineramaOn)(display)) {
-diff -upr ../orig/jdk/src/solaris/native/sun/management/FileSystemImpl.c ./jdk/src/solaris/native/sun/management/FileSystemImpl.c
---- ../orig/jdk/src/solaris/native/sun/management/FileSystemImpl.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/management/FileSystemImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/management/FileSystemImpl.c ./jdk/src/solaris/native/sun/management/FileSystemImpl.c
+--- ../orig/jdk/src/solaris/native/sun/management/FileSystemImpl.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/management/FileSystemImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -26,6 +26,10 @@
#include <sys/types.h>
#include <sys/stat.h>
@@ -14445,9 +16726,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/management/FileSystemImpl.c ./jdk/s
#include "jni.h"
#include "jni_util.h"
#include "sun_management_FileSystemImpl.h"
-diff -upr ../orig/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c ./jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c
---- ../orig/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c ./jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c
+--- ../orig/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -33,7 +33,7 @@
#include <strings.h>
#endif
@@ -14457,9 +16738,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c
#include <string.h>
#endif
-diff -upr ../orig/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c ./jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c
---- ../orig/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c ./jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c
+--- ../orig/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c 2009-05-14 23:41:34.000000000 -0400
@@ -26,11 +26,12 @@
#include "jni.h"
#include "jni_util.h"
@@ -14486,9 +16767,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c ./jd
gconf_ver = 2;
}
if (gconf_ver > 0) {
-diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ./jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c
---- ../orig/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ./jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c
+--- ../orig/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -35,7 +35,7 @@
#include <string.h>
#include <errno.h>
@@ -14538,9 +16819,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ./jdk/
}
#endif
-diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c ./jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c
---- ../orig/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c ./jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c
+--- ../orig/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c 2009-05-14 23:41:34.000000000 -0400
@@ -26,15 +26,21 @@
#include "jni.h"
#include "jni_util.h"
@@ -14667,9 +16948,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c ./jdk/src/
if (lockResult < 0) {
JNU_ThrowIOExceptionWithLastError(env, "Release failed");
}
-diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c ./jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c
---- ../orig/jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c ./jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c
+--- ../orig/jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c 2009-05-14 23:41:34.000000000 -0400
@@ -32,8 +32,12 @@
#include <sys/socket.h>
#include <fcntl.h>
@@ -14683,9 +16964,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/FileDispatcher.c ./jdk/src/s
static int preCloseFD = -1; /* File descriptor to which we dup other fd's
before closing them for real */
-diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/FileKey.c ./jdk/src/solaris/native/sun/nio/ch/FileKey.c
---- ../orig/jdk/src/solaris/native/sun/nio/ch/FileKey.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/nio/ch/FileKey.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/nio/ch/FileKey.c ./jdk/src/solaris/native/sun/nio/ch/FileKey.c
+--- ../orig/jdk/src/solaris/native/sun/nio/ch/FileKey.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/nio/ch/FileKey.c 2009-05-14 23:41:34.000000000 -0400
@@ -30,6 +30,10 @@
#include "nio_util.h"
#include "sun_nio_ch_FileKey.h"
@@ -14697,9 +16978,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/FileKey.c ./jdk/src/solaris/
static jfieldID key_st_dev; /* id for FileKey.st_dev */
static jfieldID key_st_ino; /* id for FileKey.st_ino */
-diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/Net.c ./jdk/src/solaris/native/sun/nio/ch/Net.c
---- ../orig/jdk/src/solaris/native/sun/nio/ch/Net.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/nio/ch/Net.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/nio/ch/Net.c ./jdk/src/solaris/native/sun/nio/ch/Net.c
+--- ../orig/jdk/src/solaris/native/sun/nio/ch/Net.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/nio/ch/Net.c 2009-05-14 23:41:34.000000000 -0400
@@ -140,8 +140,31 @@ Java_sun_nio_ch_Net_localPort(JNIEnv *en
SOCKADDR sa;
int sa_len = SOCKADDR_LEN;
@@ -14841,9 +17122,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/nio/ch/Net.c ./jdk/src/solaris/nati
case ECONNREFUSED:
xn = JNU_JAVANETPKG "ConnectException";
break;
-diff -upr ../orig/jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c ./jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c
---- ../orig/jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c ./jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c
+--- ../orig/jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c 2009-05-14 23:41:34.000000000 -0400
@@ -26,7 +26,9 @@
#include <stdio.h>
#include <stdlib.h>
@@ -14854,9 +17135,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c
#include "NativeFunc.h"
/* standard GSS method names (ordering is from mapfile) */
-diff -upr ../orig/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
---- ../orig/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
+--- ../orig/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -28,12 +28,19 @@
#include <string.h>
@@ -14899,9 +17180,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c ./jdk
(*env)->ReleaseStringUTFChars(env, jLibName, libName);
dprintf2("-handle: %u (0X%X)\n", hModule, hModule);
-diff -upr ../orig/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c ./jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c
---- ../orig/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c ./jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c
+--- ../orig/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -64,7 +64,9 @@
#include <assert.h>
@@ -14912,9 +17193,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c ./
#include <jni.h>
-diff -upr ../orig/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c ./jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c
---- ../orig/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c ./jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c
+--- ../orig/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -29,7 +29,9 @@
#include <assert.h>
@@ -14925,62 +17206,25 @@ diff -upr ../orig/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c ./jd
#include <winscard.h>
-diff -upr ../orig/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c
---- ../orig/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c 2009-05-04 18:32:16.000000000 -0400
-+++ ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c 2009-05-04 17:37:15.000000000 -0400
-@@ -1,461 +1,3 @@
- /*
-- * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation. Sun designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Sun in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-- * CA 95054 USA or visit www.sun.com if you need additional information or
-- * have any questions.
-+ * Dummy file - needs to be implemented for bsd
- */
--
--#include "jni.h"
--#include "jni_util.h"
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <errno.h>
--#include <unistd.h>
--#include <signal.h>
--#include <dirent.h>
--#include <ctype.h>
--#include <sys/types.h>
+diff -uNpr ../orig/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c
+--- ../orig/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c 2009-05-14 23:40:17.000000000 -0400
++++ ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c 2009-05-14 23:41:34.000000000 -0400
+@@ -35,10 +35,10 @@
+ #include <dirent.h>
+ #include <ctype.h>
+ #include <sys/types.h>
-#include <sys/types.h>
--#include <sys/socket.h>
--#include <sys/stat.h>
--#include <sys/un.h>
--
--#include "sun_tools_attach_BsdVirtualMachine.h"
--
--#define RESTARTABLE(_cmd, _result) do { \
-- do { \
-- _result = _cmd; \
-- } while((_result == -1) && (errno == EINTR)); \
--} while(0)
--
--/*
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <sys/un.h>
++#include <fcntl.h>
+
+ #include "sun_tools_attach_BsdVirtualMachine.h"
+
+@@ -49,85 +49,6 @@
+ } while(0)
+
+ /*
- * Defines a callback that is invoked for each process
- */
-typedef void (*ProcessCallback)(const pid_t pid, void* user_data);
@@ -15060,66 +17304,13 @@ diff -upr ../orig/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ./
-
-
-/*
-- * Class: sun_tools_attach_BsdVirtualMachine
-- * Method: socket
-- * Signature: ()I
-- */
--JNIEXPORT jint JNICALL Java_sun_tools_attach_BsdVirtualMachine_socket
-- (JNIEnv *env, jclass cls)
--{
-- int fd = socket(PF_UNIX, SOCK_STREAM, 0);
-- if (fd == -1) {
-- JNU_ThrowIOExceptionWithLastError(env, "socket");
-- }
-- return (jint)fd;
--}
--
--/*
-- * Class: sun_tools_attach_BsdVirtualMachine
-- * Method: connect
-- * Signature: (ILjava/lang/String;)I
-- */
--JNIEXPORT void JNICALL Java_sun_tools_attach_BsdVirtualMachine_connect
-- (JNIEnv *env, jclass cls, jint fd, jstring path)
--{
-- jboolean isCopy;
-- const char* p = GetStringPlatformChars(env, path, &isCopy);
-- if (p != NULL) {
-- struct sockaddr_un addr;
-- int err = 0;
--
-- addr.sun_family = AF_UNIX;
-- strcpy(addr.sun_path, p);
--
-- if (connect(fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) {
-- err = errno;
-- }
--
-- if (isCopy) {
-- JNU_ReleaseStringPlatformChars(env, path, p);
-- }
--
-- /*
-- * If the connect failed then we throw the appropriate exception
-- * here (can't throw it before releasing the string as can't call
-- * JNI with pending exception)
-- */
-- if (err != 0) {
-- if (err == ENOENT) {
-- JNU_ThrowByName(env, "java/io/FileNotFoundException", NULL);
-- } else {
-- char* msg = strdup(strerror(err));
-- JNU_ThrowIOException(env, msg);
-- if (msg != NULL) {
-- free(msg);
-- }
-- }
-- }
-- }
--}
--
--/*
-- * Class: sun_tools_attach_BsdVirtualMachine
+ * Class: sun_tools_attach_BsdVirtualMachine
+ * Method: socket
+ * Signature: ()I
+@@ -188,146 +109,6 @@ JNIEXPORT void JNICALL Java_sun_tools_at
+
+ /*
+ * Class: sun_tools_attach_BsdVirtualMachine
- * Method: isBsdThreads
- * Signature: ()V
- */
@@ -15260,140 +17451,71 @@ diff -upr ../orig/jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ./
-
-/*
- * Class: sun_tools_attach_BsdVirtualMachine
-- * Method: sendQuitTo
-- * Signature: (I)V
-- */
--JNIEXPORT void JNICALL Java_sun_tools_attach_BsdVirtualMachine_sendQuitTo
-- (JNIEnv *env, jclass cls, jint pid)
--{
-- if (kill((pid_t)pid, SIGQUIT)) {
-- JNU_ThrowIOExceptionWithLastError(env, "kill");
-- }
--}
--
--/*
-- * Class: sun_tools_attach_BsdVirtualMachine
-- * Method: checkPermissions
-- * Signature: (Ljava/lang/String;)V
-- */
--JNIEXPORT void JNICALL Java_sun_tools_attach_BsdVirtualMachine_checkPermissions
-- (JNIEnv *env, jclass cls, jstring path)
--{
-- jboolean isCopy;
-- const char* p = GetStringPlatformChars(env, path, &isCopy);
-- if (p != NULL) {
+ * Method: sendQuitTo
+ * Signature: (I)V
+ */
+@@ -350,7 +131,7 @@ JNIEXPORT void JNICALL Java_sun_tools_at
+ jboolean isCopy;
+ const char* p = GetStringPlatformChars(env, path, &isCopy);
+ if (p != NULL) {
- struct stat64 sb;
-- uid_t uid, gid;
-- int res;
--
-- /*
-- * Check that the path is owned by the effective uid/gid of this
-- * process. Also check that group/other access is not allowed.
-- */
-- uid = geteuid();
-- gid = getegid();
--
++ struct stat sb;
+ uid_t uid, gid;
+ int res;
+
+@@ -361,7 +142,7 @@ JNIEXPORT void JNICALL Java_sun_tools_at
+ uid = geteuid();
+ gid = getegid();
+
- res = stat64(p, &sb);
-- if (res != 0) {
-- /* save errno */
-- res = errno;
-- }
--
-- /* release p here before we throw an I/O exception */
-- if (isCopy) {
-- JNU_ReleaseStringPlatformChars(env, path, p);
-- }
--
-- if (res == 0) {
-- if ( (sb.st_uid != uid) || (sb.st_gid != gid) ||
-- ((sb.st_mode & (S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)) != 0) ) {
-- JNU_ThrowIOException(env, "well-known file is not secure");
-- }
-- } else {
-- char* msg = strdup(strerror(res));
-- JNU_ThrowIOException(env, msg);
-- if (msg != NULL) {
-- free(msg);
-- }
-- }
-- }
--}
--
--/*
-- * Class: sun_tools_attach_BsdVirtualMachine
-- * Method: close
-- * Signature: (I)V
-- */
--JNIEXPORT void JNICALL Java_sun_tools_attach_BsdVirtualMachine_close
-- (JNIEnv *env, jclass cls, jint fd)
--{
-- int res;
-- RESTARTABLE(close(fd), res);
--}
--
--/*
-- * Class: sun_tools_attach_BsdVirtualMachine
-- * Method: read
-- * Signature: (I[BI)I
-- */
--JNIEXPORT jint JNICALL Java_sun_tools_attach_BsdVirtualMachine_read
-- (JNIEnv *env, jclass cls, jint fd, jbyteArray ba, jint off, jint baLen)
--{
-- unsigned char buf[128];
-- size_t len = sizeof(buf);
-- ssize_t n;
--
-- size_t remaining = (size_t)(baLen - off);
-- if (len > remaining) {
-- len = remaining;
-- }
--
-- RESTARTABLE(read(fd, buf+off, len), n);
-- if (n == -1) {
-- JNU_ThrowIOExceptionWithLastError(env, "read");
-- } else {
-- if (n == 0) {
-- n = -1; // EOF
-- } else {
-- (*env)->SetByteArrayRegion(env, ba, off, (jint)n, (jbyte *)(buf+off));
-- }
-- }
-- return n;
--}
--
--/*
-- * Class: sun_tools_attach_BsdVirtualMachine
-- * Method: write
-- * Signature: (I[B)V
-- */
--JNIEXPORT void JNICALL Java_sun_tools_attach_BsdVirtualMachine_write
-- (JNIEnv *env, jclass cls, jint fd, jbyteArray ba, jint off, jint bufLen)
--{
-- size_t remaining = bufLen;
-- do {
-- unsigned char buf[128];
-- size_t len = sizeof(buf);
-- int n;
--
-- if (len > remaining) {
-- len = remaining;
-- }
-- (*env)->GetByteArrayRegion(env, ba, off, len, (jbyte *)buf);
--
-- RESTARTABLE(write(fd, buf, len), n);
-- if (n > 0) {
-- off += n;
-- remaining -= n;
-- } else {
-- JNU_ThrowIOExceptionWithLastError(env, "write");
-- return;
-- }
--
-- } while (remaining > 0);
--}
-diff -upr ../orig/jdk/src/solaris/native/sun/xawt/XWindow.c ./jdk/src/solaris/native/sun/xawt/XWindow.c
---- ../orig/jdk/src/solaris/native/sun/xawt/XWindow.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/xawt/XWindow.c 2009-05-04 17:37:17.000000000 -0400
++ res = stat(p, &sb);
+ if (res != 0) {
+ /* save errno */
+ res = errno;
+@@ -459,3 +240,40 @@ JNIEXPORT void JNICALL Java_sun_tools_at
+
+ } while (remaining > 0);
+ }
++
++/*
++ * Class: sun_tools_attach_BSDVirtualMachine
++ * Method: createAttachFile
++ * Signature: (Ljava.lang.String;)V
++ */
++JNIEXPORT void JNICALL Java_sun_tools_attach_BsdVirtualMachine_createAttachFile(JNIEnv *env, jclass cls, jstring path)
++{
++ const char* _path;
++ jboolean isCopy;
++ int fd, rc;
++
++ _path = GetStringPlatformChars(env, path, &isCopy);
++ if (_path == NULL) {
++ JNU_ThrowIOException(env, "Must specify a path");
++ return;
++ }
++
++ RESTARTABLE(open(_path, O_CREAT | O_EXCL, S_IWUSR | S_IRUSR), fd);
++ if (fd == -1) {
++ /* release p here before we throw an I/O exception */
++ if (isCopy) {
++ JNU_ReleaseStringPlatformChars(env, path, _path);
++ }
++ JNU_ThrowIOExceptionWithLastError(env, "open");
++ return;
++ }
++
++ RESTARTABLE(chown(_path, geteuid(), getegid()), rc);
++
++ RESTARTABLE(close(fd), rc);
++
++ /* release p here */
++ if (isCopy) {
++ JNU_ReleaseStringPlatformChars(env, path, _path);
++ }
++}
+diff -uNpr ../orig/jdk/src/solaris/native/sun/xawt/XWindow.c ./jdk/src/solaris/native/sun/xawt/XWindow.c
+--- ../orig/jdk/src/solaris/native/sun/xawt/XWindow.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/xawt/XWindow.c 2009-05-14 23:41:34.000000000 -0400
@@ -228,10 +228,10 @@ KeymapEntry keymapTable[] =
{java_awt_event_KeyEvent_VK_DOWN, XK_Down, FALSE, java_awt_event_KeyEvent_KEY_LOCATION_STANDARD},
@@ -15418,9 +17540,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/xawt/XWindow.c ./jdk/src/solaris/na
/* The following code on Linux will cause the keypad keys
* not to echo on JTextField when the NumLock is on. The
* keysyms will be 0, because the last parameter 2 is not defined.
-diff -upr ../orig/jdk/src/solaris/native/sun/xawt/awt_Desktop.c ./jdk/src/solaris/native/sun/xawt/awt_Desktop.c
---- ../orig/jdk/src/solaris/native/sun/xawt/awt_Desktop.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/native/sun/xawt/awt_Desktop.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/native/sun/xawt/awt_Desktop.c ./jdk/src/solaris/native/sun/xawt/awt_Desktop.c
+--- ../orig/jdk/src/solaris/native/sun/xawt/awt_Desktop.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/native/sun/xawt/awt_Desktop.c 2009-05-14 23:41:34.000000000 -0400
@@ -24,6 +24,7 @@
*/
@@ -15447,9 +17569,9 @@ diff -upr ../orig/jdk/src/solaris/native/sun/xawt/awt_Desktop.c ./jdk/src/solari
if (gnome_handle == NULL) {
#ifdef INTERNAL_BUILD
fprintf(stderr, "can not load libgnome-2.so\n");
-diff -upr ../orig/jdk/src/solaris/npt/npt_md.h ./jdk/src/solaris/npt/npt_md.h
---- ../orig/jdk/src/solaris/npt/npt_md.h 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/npt/npt_md.h 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/npt/npt_md.h ./jdk/src/solaris/npt/npt_md.h
+--- ../orig/jdk/src/solaris/npt/npt_md.h 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/npt/npt_md.h 2009-05-14 23:41:34.000000000 -0400
@@ -32,9 +32,10 @@
#include <string.h>
#include <errno.h>
@@ -15472,9 +17594,9 @@ diff -upr ../orig/jdk/src/solaris/npt/npt_md.h ./jdk/src/solaris/npt/npt_md.h
if ( _handle == NULL ) NPT_ERROR("Cannot open library"); \
_sym = dlsym(_handle, "nptInitialize"); \
if ( _sym == NULL ) NPT_ERROR("Cannot find nptInitialize"); \
-diff -upr ../orig/jdk/src/solaris/transport/socket/socket_md.c ./jdk/src/solaris/transport/socket/socket_md.c
---- ../orig/jdk/src/solaris/transport/socket/socket_md.c 2009-01-27 15:45:52.000000000 -0500
-+++ ./jdk/src/solaris/transport/socket/socket_md.c 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/jdk/src/solaris/transport/socket/socket_md.c ./jdk/src/solaris/transport/socket/socket_md.c
+--- ../orig/jdk/src/solaris/transport/socket/socket_md.c 2009-04-24 03:34:35.000000000 -0400
++++ ./jdk/src/solaris/transport/socket/socket_md.c 2009-05-14 23:41:34.000000000 -0400
@@ -36,7 +36,7 @@
#ifdef __solaris__
#include <thread.h>
@@ -15493,9 +17615,9 @@ diff -upr ../orig/jdk/src/solaris/transport/socket/socket_md.c ./jdk/src/solaris
int
dbgsysTlsAlloc() {
pthread_key_t key;
-diff -upr ../orig/langtools/src/share/classes/com/sun/tools/javah/Util.java ./langtools/src/share/classes/com/sun/tools/javah/Util.java
---- ../orig/langtools/src/share/classes/com/sun/tools/javah/Util.java 2009-01-27 15:46:42.000000000 -0500
-+++ ./langtools/src/share/classes/com/sun/tools/javah/Util.java 2009-05-04 17:37:17.000000000 -0400
+diff -uNpr ../orig/langtools/src/share/classes/com/sun/tools/javah/Util.java ./langtools/src/share/classes/com/sun/tools/javah/Util.java
+--- ../orig/langtools/src/share/classes/com/sun/tools/javah/Util.java 2009-04-24 03:35:10.000000000 -0400
++++ ./langtools/src/share/classes/com/sun/tools/javah/Util.java 2009-05-14 23:41:34.000000000 -0400
@@ -180,6 +180,14 @@ public class Util {
os = "win32";
} else if (os.indexOf("Linux") >= 0) {