- Add support for powerpc. With some tips from tedu@ and drahn@, thanks!

- Change bootstrap method. No longer use 1.3-linux port to bootstrap.
  Use class files from a linux binary jdk and extra source and header
  files from my website.
- Remove plugin support. plugin has security issues and doesn't work
  with recent mozilla/firefox versions.
- Patches for arm native-threads are included but not enabled yet.
  I prefer to have all arches use green-threads to avoid arch specific
  pkg files. Also noticed some regressions with native-threads on i386.
  arm support from Dale Rahn (drahn@).
- quiet pre-patch phase

okay ian@
This commit is contained in:
kurt 2005-06-03 17:27:53 +00:00
parent 6610ddefde
commit 683c76d57c
42 changed files with 2204 additions and 512 deletions

View File

@ -1,15 +1,14 @@
# $OpenBSD: Makefile,v 1.10 2005/02/20 11:18:55 sturm Exp $ # $OpenBSD: Makefile,v 1.11 2005/06/03 17:27:53 kurt Exp $
# $FreeBSD: ports/java/jdk12/Makefile,v 1.11 2002/08/19 20:47:04 glewis Exp $ # $FreeBSD: ports/java/jdk12/Makefile,v 1.11 2002/08/19 20:47:04 glewis Exp $
# Requires existing JDK 1.3 to build ONLY_FOR_ARCHS= i386 powerpc
ONLY_FOR_ARCHS= i386
COMMENT= "Java2(TM) Standard Edition Dev Kit v${V}" COMMENT= "Java2(TM) Standard Edition Dev Kit v${V}"
COMMENT-jre= "Java2(TM) Standard Edition Runtime Environment v${V}" COMMENT-jre= "Java2(TM) Standard Edition Runtime Environment v${V}"
V= 1.3.1 V= 1.3.1
DISTNAME= j2sdk-1_3_1-src DISTNAME= j2sdk-1_3_1-src
PKGNAME= jdk-${V} PKGNAME= jdk-${V}p0
PKGNAME-jre= jre-${V} PKGNAME-jre= jre-${V}p0
CATEGORIES= devel/jdk java CATEGORIES= devel/jdk java
@ -18,13 +17,13 @@ MULTI_PACKAGES= -jre
# wwws is not a typo in the following: # wwws is not a typo in the following:
HOMEPAGE= http://wwws.sun.com/software/communitysource/j2se/java2/index.html HOMEPAGE= http://wwws.sun.com/software/communitysource/j2se/java2/index.html
MAINTAINER= Kurt Miller <truk@optonline.net> MAINTAINER= Kurt Miller <kurt@openbsd.org>
DISTFILES= j2sdk-1_3_1-src.tar.gz DISTFILES= j2sdk-1_3_1-src.tar.gz
DISTFILES+= bsd-jdk131-patches-9.tar.gz DISTFILES+= bsd-jdk131-patches-9.tar.gz
# Sun Community Source License # Sun Community Source License
# http://www.sun.com/981208/scsl/principles.html # http://www.sun.com/software/communitysource/j2se/java2/license.html
PERMIT_PACKAGE_CDROM= "SCSL" PERMIT_PACKAGE_CDROM= "SCSL"
PERMIT_PACKAGE_FTP= "SCSL" PERMIT_PACKAGE_FTP= "SCSL"
PERMIT_DISTFILES_CDROM= "SCSL" PERMIT_DISTFILES_CDROM= "SCSL"
@ -46,55 +45,50 @@ TAR= ${LOCALBASE}/bin/gtar
MAKE_ENV= ALT_MOTIF_DIR="${LOCALBASE}" \ MAKE_ENV= ALT_MOTIF_DIR="${LOCALBASE}" \
OPENWINHOME="${X11BASE}" \ OPENWINHOME="${X11BASE}" \
OTHER_CFLAGS="${CFLAGS}" \ OTHER_CFLAGS="${CFLAGS}" \
BUILD_NUMBER="`whoami`-`date '+%Y-%m-%d-%H:%M'`" \
HAVE_DPS="yes" HAVE_DPS="yes"
FLAVORS= no_plugin # Error message for distfile.
FETCH_MANUALLY= "You must manually fetch the distribution files, place"
FETCH_MANUALLY+="them in ${FULLDISDIR} and then run make again."
FETCH_MANUALLY+="Get the SCSL source file:"
FETCH_MANUALLY+=" j2sdk-1_3_1-src.tar.gz"
FETCH_MANUALLY+="from http://wwws.sun.com/software/communitysource/j2se/java2/download.html"
FETCH_MANUALLY+="Get the BSD patchset file:"
FETCH_MANUALLY+=" bsd-jdk131-patches-9.tar.gz"
FETCH_MANUALLY+="from http://www.eyesbeyond.com/freebsddom/java/jdk13.html"
PSEUDO_FLAVORS= native_bootstrap PSEUDO_FLAVORS= native_bootstrap
FLAVOR?= no_plugin FLAVOR?=
.if ${FLAVOR:L:Mnative_bootstrap} .if ${FLAVOR:L:Mnative_bootstrap}
BUILD_DEPENDS+= :jdk-1.3*:devel/jdk/1.3 BUILD_DEPENDS+= :jdk-1.3*:devel/jdk/1.3
MAKE_ENV+= ALT_BOOTDIR="${LOCALBASE}/${JDKHOME}" MAKE_ENV+= ALT_BOOTDIR="${LOCALBASE}/${JDKHOME}"
.else .else
BUILD_DEPENDS+= :jdk-linux->=1.3.1_10:devel/jdk/1.3-linux DISTFILES+= j2sdk-1_3_1-linux-i386.bin
MAKE_ENV+= ALT_BOOTDIR="${LOCALBASE}/jdk1.3.1-linux" FETCH_MANUALLY+= "Get the linux binary sdk file:"
FETCH_MANUALLY+= " j2sdk-1_3_1-linux-i386.bin"
FETCH_MANUALLY+= "from http://java.sun.com/products/archive/j2se/1.3.1/"
DISTFILES+= bootstrap-src-jdk131-1.tar.gz
FETCH_MANUALLY+= "Get the bootstrap source dist file:"
FETCH_MANUALLY+= " bootstrap-src-jdk131-1.tar.gz"
FETCH_MANUALLY+= "from http://www.intricatesoftware.com/OpenBSD/java/jdk13.html"
BUILD_DEPENDS+= ::archivers/unzip
MAKE_ENV+= ALT_BOOTDIR="${WRKDIST}"
LINUXFILES= jdk1.3.1/lib/tools.jar \
jdk1.3.1/jre/lib/rt.jar
EXTRACT_CASES+= *.bin) \
perl -p0777 -e "s/.*?PK\03\04/PK\03\04/s" ${FULLDISTDIR}/$$archive > \
${WRKDIR}/$$archive.zip && \
unzip -j ${WRKDIR}/$$archive ${LINUXFILES} ;;
. if ${MACHINE_ARCH} == "powerpc"
PATCH_LIST= patch-* pack-patch-*
. endif
.endif .endif
WANTLIB= ICE SM X11 Xext Xp Xt Xtst c dps m ossaudio pthread WANTLIB= ICE SM X11 Xext Xp Xt Xtst c dps m ossaudio pthread
.if !${FLAVOR:L:Mno_plugin}
BROKEN= "Security Vulnerability With Java Plug-in in JRE/SDK (SunSolve \#57591)"
LIB_DEPENDS= glib.1::devel/glib \
gtk.1.2::x11/gtk+ \
nspr4.1::devel/nspr
MODULES= devel/gettext
MAKE_ENV+= LIBG_HDRS="${LOCALBASE}/include/glib-1.2" \
GTK_HDRS="${LOCALBASE}/include/gtk-1.2" \
LIBIDL_HDRS= \
INTL_DIR="${LOCALBASE}" \
BUILD_NUMBER="`whoami`-`date '+%Y-%m-%d-%H:%M'`"
ALL_TARGET= all plugin images
.else
#no plugin - no messages
MESSAGE= /dev/null
MAKE_ENV+= BUILD_NUMBER="`whoami`-`date '+%Y-%m-%d-%H:%M'`-no_plugin"
ALL_TARGET= all images ALL_TARGET= all images
.endif
# Error message for distfile.
FETCH_MANUALLY= "You must manually fetch the source distribution"
FETCH_MANUALLY+="and BSD patches:"
.for file in ${DISTFILES}
FETCH_MANUALLY+=" ${file}"
.endfor
FETCH_MANUALLY+="from http://www.sun.com/software/java2/download.html"
FETCH_MANUALLY+="and http://www.eyesbeyond.com/freebsddom/java/jdk13.html,"
FETCH_MANUALLY+="place it in ${FULLDISTDIR} and then run make again."
JDKHOME= jdk-${V} JDKHOME= jdk-${V}
JREHOME= jre-${V} JREHOME= jre-${V}
@ -105,27 +99,40 @@ SYSTRACE_SUBST_VARS= LOCALBASE
# Deal with Sun's internal build structure # Deal with Sun's internal build structure
WRKDIST= ${WRKDIR} WRKDIST= ${WRKDIR}
WRKSRC= ${WRKDIR}/j2sdk1.3.1/make WRKSRC= ${WRKDIR}/j2sdk1.3.1/make
JDKIMAGEDIR= ${WRKDIR}/j2sdk1.3.1/build/bsd-${ARCH}/jdk-image-${ARCH} BUILDDIR= ${WRKDIR}/j2sdk1.3.1/build
JDKIMAGEDIR_G= ${WRKDIR}/j2sdk1.3.1/build/bsd-${ARCH}/jdk-debug-image-${ARCH} CLASSESDIR= ${BUILDDIR}/bsd-${MACHINE_ARCH}/classes
JREIMAGEDIR= ${WRKDIR}/j2sdk1.3.1/build/bsd-${ARCH}/jre-image-${ARCH} JDKIMAGEDIR= ${BUILDDIR}/bsd-${MACHINE_ARCH}/jdk-image-${MACHINE_ARCH}
JDKIMAGEDIR_G= ${BUILDDIR}/bsd-${MACHINE_ARCH}/jdk-debug-image-${MACHINE_ARCH}
JREIMAGEDIR= ${BUILDDIR}/bsd-${MACHINE_ARCH}/jre-image-${MACHINE_ARCH}
CACERTSDIR= ${WRKDIR}/j2sdk1.3.1/src/share/lib/security CACERTSDIR= ${WRKDIR}/j2sdk1.3.1/src/share/lib/security
SYSCTL= ${SUDO} sysctl -w kern.emul.linux .if !${FLAVOR:L:Mnative_bootstrap}
post-extract:
@mv ${BUILDDIR}/bootsrc ${BUILDDIR}/bsd-${MACHINE_ARCH}
@mkdir -p ${CLASSESDIR}
@cd ${CLASSESDIR} && \
xargs unzip -q ${WRKDIR}/tools.jar < ${FILESDIR}/tools_jar_class_list && \
xargs unzip -q ${WRKDIR}/rt.jar < ${FILESDIR}/rt_jar_class_list
.endif
pre-patch: pre-patch:
@cp -f ${FILESDIR}/cacerts ${CACERTSDIR} @cp -f ${FILESDIR}/cacerts ${CACERTSDIR}
@cd ${WRKDIR} && \ @cd ${WRKDIR} && \
${CHMOD} -R u+w * && \ ${CHMOD} -R u+w * && \
${PATCH} -p0 -z .orig.bsd < ${WRKDIR}/jdk131.patches ${PATCH} -p0 -z .orig.bsd --quiet < ${WRKDIR}/jdk131.patches
.if !${FLAVOR:L:Mnative_bootstrap} .if !${FLAVOR:L:Mnative_bootstrap}
pre-build: post-patch:
@sysctl -n kern.emul.linux > ${WRKDIR}/.emul_linux @cd ${WRKDIR}/bin && \
@${SYSCTL}=1 ${CHMOD} +x bootscript
.for prog in java javac javah
@cd ${WRKDIR}/bin && \
ln -s bootscript ${prog}
.endfor
.endif
post-build: post-build:
@${SYSCTL}=`cat ${WRKDIR}/.emul_linux` @rm -rf ${JDKIMAGEDIR}/demo/jfc/SwingSet2/resources
.endif
do-install: do-install:
${INSTALL_DATA_DIR} ${PREFIX}/${JDKHOME} ${INSTALL_DATA_DIR} ${PREFIX}/${JDKHOME}

View File

@ -1,8 +1,16 @@
MD5 (bootstrap-src-jdk131-1.tar.gz) = fef4d181ce52462715b6a52ef08b6f7b
MD5 (bsd-jdk131-patches-9.tar.gz) = 29c83880d3555abcf74fc7df9db1959f MD5 (bsd-jdk131-patches-9.tar.gz) = 29c83880d3555abcf74fc7df9db1959f
MD5 (j2sdk-1_3_1-linux-i386.bin) = c76ea483213796e2a12109dff6b73e3a
MD5 (j2sdk-1_3_1-src.tar.gz) = 787a01655133df85e65eda7deb2ece57 MD5 (j2sdk-1_3_1-src.tar.gz) = 787a01655133df85e65eda7deb2ece57
RMD160 (bootstrap-src-jdk131-1.tar.gz) = e7779e9c9a9cd3529af7cfb9c6ad4115b8a83d8e
RMD160 (bsd-jdk131-patches-9.tar.gz) = a6ff124a88949abc9a3018361208dff3f5c41664 RMD160 (bsd-jdk131-patches-9.tar.gz) = a6ff124a88949abc9a3018361208dff3f5c41664
RMD160 (j2sdk-1_3_1-linux-i386.bin) = 9636ca0ac2baea6a57dc63d41baea8c5a18f220a
RMD160 (j2sdk-1_3_1-src.tar.gz) = 4ed3dfb58e24c2fa5b4ec567445aa7635765886a RMD160 (j2sdk-1_3_1-src.tar.gz) = 4ed3dfb58e24c2fa5b4ec567445aa7635765886a
SHA1 (bootstrap-src-jdk131-1.tar.gz) = c69a830c6e9c564213f8a47d5d79da13a50d005a
SHA1 (bsd-jdk131-patches-9.tar.gz) = 7f38ff2c46bcf5563f01d18a17ea2e0d34189b3a SHA1 (bsd-jdk131-patches-9.tar.gz) = 7f38ff2c46bcf5563f01d18a17ea2e0d34189b3a
SHA1 (j2sdk-1_3_1-linux-i386.bin) = 86c4fd2695a4e099f44b9dfefd8c5af0112f065c
SHA1 (j2sdk-1_3_1-src.tar.gz) = 90f6f7a7756ca574193ea8f2deaf2d0e095692d1 SHA1 (j2sdk-1_3_1-src.tar.gz) = 90f6f7a7756ca574193ea8f2deaf2d0e095692d1
SIZE (bootstrap-src-jdk131-1.tar.gz) = 205826
SIZE (bsd-jdk131-patches-9.tar.gz) = 642883 SIZE (bsd-jdk131-patches-9.tar.gz) = 642883
SIZE (j2sdk-1_3_1-linux-i386.bin) = 26924751
SIZE (j2sdk-1_3_1-src.tar.gz) = 29876595 SIZE (j2sdk-1_3_1-src.tar.gz) = 29876595

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,157 @@
com/sun/tools/javac/
com/sun/tools/javac/Main.class
com/sun/tools/javac/v8/
com/sun/tools/javac/v8/CommandLine.class
com/sun/tools/javac/v8/util/
com/sun/tools/javac/v8/util/ListBuffer$Enumerator.class
com/sun/tools/javac/v8/util/ListBuffer.class
com/sun/tools/javac/v8/util/List.class
com/sun/tools/javac/v8/util/Enumeration.class
com/sun/tools/javac/v8/util/Log.class
com/sun/tools/javac/v8/util/LayoutCharacters.class
com/sun/tools/javac/v8/util/Hashtable$Entry.class
com/sun/tools/javac/v8/util/Hashtable.class
com/sun/tools/javac/v8/util/Set$Entry.class
com/sun/tools/javac/v8/util/Set.class
com/sun/tools/javac/v8/util/Name.class
com/sun/tools/javac/v8/util/FileEntry$Regular.class
com/sun/tools/javac/v8/util/FileEntry$Zipped.class
com/sun/tools/javac/v8/util/FileEntry.class
com/sun/tools/javac/v8/util/ByteBuffer.class
com/sun/tools/javac/v8/util/Abort.class
com/sun/tools/javac/v8/util/Base.class
com/sun/tools/javac/v8/util/Bits.class
com/sun/tools/javac/v8/util/Convert.class
com/sun/tools/javac/v8/util/FatalError.class
com/sun/tools/javac/v8/util/Names.class
com/sun/tools/javac/v8/util/Pair.class
com/sun/tools/javac/v8/util/Position.class
com/sun/tools/javac/v8/util/Util.class
com/sun/tools/javac/v8/JavaCompiler.class
com/sun/tools/javac/v8/code/
com/sun/tools/javac/v8/code/ClassReader$BadClassFile.class
com/sun/tools/javac/v8/code/ClassReader$Archive.class
com/sun/tools/javac/v8/code/ClassReader$SourceCompleter.class
com/sun/tools/javac/v8/code/ClassReader.class
com/sun/tools/javac/v8/code/ClassFile$NameAndType.class
com/sun/tools/javac/v8/code/ClassFile.class
com/sun/tools/javac/v8/code/Symbol$TypeSymbol.class
com/sun/tools/javac/v8/code/Symbol$PackageSymbol.class
com/sun/tools/javac/v8/code/Symbol$ClassSymbol.class
com/sun/tools/javac/v8/code/Symbol$VarSymbol.class
com/sun/tools/javac/v8/code/Symbol$MethodSymbol.class
com/sun/tools/javac/v8/code/Symbol$OperatorSymbol.class
com/sun/tools/javac/v8/code/Symbol$Completer.class
com/sun/tools/javac/v8/code/Symbol$CompletionFailure.class
com/sun/tools/javac/v8/code/Symbol.class
com/sun/tools/javac/v8/code/Flags.class
com/sun/tools/javac/v8/code/Kinds.class
com/sun/tools/javac/v8/code/TypeTags.class
com/sun/tools/javac/v8/code/ByteCodes.class
com/sun/tools/javac/v8/code/Scope$Entry.class
com/sun/tools/javac/v8/code/Scope.class
com/sun/tools/javac/v8/code/Type$ClassType.class
com/sun/tools/javac/v8/code/Type$ArrayType.class
com/sun/tools/javac/v8/code/Type$MethodType.class
com/sun/tools/javac/v8/code/Type$PackageType.class
com/sun/tools/javac/v8/code/Type$TypeVar.class
com/sun/tools/javac/v8/code/Type$ErrorType.class
com/sun/tools/javac/v8/code/Type.class
com/sun/tools/javac/v8/code/Code$Chain.class
com/sun/tools/javac/v8/code/Code.class
com/sun/tools/javac/v8/code/ClassWriter.class
com/sun/tools/javac/v8/code/Pool.class
com/sun/tools/javac/v8/code/CompleteClassReader.class
com/sun/tools/javac/v8/comp/
com/sun/tools/javac/v8/comp/Symtab.class
com/sun/tools/javac/v8/comp/Check$Validator.class
com/sun/tools/javac/v8/comp/Check.class
com/sun/tools/javac/v8/comp/Infer.class
com/sun/tools/javac/v8/comp/Resolve$ResolveError.class
com/sun/tools/javac/v8/comp/Resolve$AccessError.class
com/sun/tools/javac/v8/comp/Resolve$StaticError.class
com/sun/tools/javac/v8/comp/Resolve$AmbiguityError.class
com/sun/tools/javac/v8/comp/Resolve.class
com/sun/tools/javac/v8/comp/Enter$MemberEnter.class
com/sun/tools/javac/v8/comp/Enter$CompleteEnter.class
com/sun/tools/javac/v8/comp/Enter.class
com/sun/tools/javac/v8/comp/Attr.class
com/sun/tools/javac/v8/comp/Gen$1.class
com/sun/tools/javac/v8/comp/Gen$2.class
com/sun/tools/javac/v8/comp/Gen$GenFinalizer.class
com/sun/tools/javac/v8/comp/Gen$GenContext.class
com/sun/tools/javac/v8/comp/Gen.class
com/sun/tools/javac/v8/comp/Env.class
com/sun/tools/javac/v8/comp/ConstFold.class
com/sun/tools/javac/v8/comp/Items$Item.class
com/sun/tools/javac/v8/comp/Items$StackItem.class
com/sun/tools/javac/v8/comp/Items$IndexedItem.class
com/sun/tools/javac/v8/comp/Items$SelfItem.class
com/sun/tools/javac/v8/comp/Items$LocalItem.class
com/sun/tools/javac/v8/comp/Items$StaticItem.class
com/sun/tools/javac/v8/comp/Items$MemberItem.class
com/sun/tools/javac/v8/comp/Items$ImmediateItem.class
com/sun/tools/javac/v8/comp/Items$AssignItem.class
com/sun/tools/javac/v8/comp/Items$CondItem.class
com/sun/tools/javac/v8/comp/Items.class
com/sun/tools/javac/v8/comp/AttrContext.class
com/sun/tools/javac/v8/comp/Flow.class
com/sun/tools/javac/v8/comp/TransInner$ClassMap.class
com/sun/tools/javac/v8/comp/TransInner$FreeVarCollector.class
com/sun/tools/javac/v8/comp/TransInner.class
com/sun/tools/javac/v8/comp/TransTypes.class
com/sun/tools/javac/v8/tree/
com/sun/tools/javac/v8/tree/TreeMaker.class
com/sun/tools/javac/v8/tree/Tree$TopLevel.class
com/sun/tools/javac/v8/tree/Tree$Import.class
com/sun/tools/javac/v8/tree/Tree$ClassDef.class
com/sun/tools/javac/v8/tree/Tree$MethodDef.class
com/sun/tools/javac/v8/tree/Tree$VarDef.class
com/sun/tools/javac/v8/tree/Tree$Block.class
com/sun/tools/javac/v8/tree/Tree$DoLoop.class
com/sun/tools/javac/v8/tree/Tree$WhileLoop.class
com/sun/tools/javac/v8/tree/Tree$ForLoop.class
com/sun/tools/javac/v8/tree/Tree$Labelled.class
com/sun/tools/javac/v8/tree/Tree$Switch.class
com/sun/tools/javac/v8/tree/Tree$Case.class
com/sun/tools/javac/v8/tree/Tree$Synchronized.class
com/sun/tools/javac/v8/tree/Tree$Try.class
com/sun/tools/javac/v8/tree/Tree$Catch.class
com/sun/tools/javac/v8/tree/Tree$Conditional.class
com/sun/tools/javac/v8/tree/Tree$Exec.class
com/sun/tools/javac/v8/tree/Tree$Break.class
com/sun/tools/javac/v8/tree/Tree$Continue.class
com/sun/tools/javac/v8/tree/Tree$Return.class
com/sun/tools/javac/v8/tree/Tree$Throw.class
com/sun/tools/javac/v8/tree/Tree$Apply.class
com/sun/tools/javac/v8/tree/Tree$NewClass.class
com/sun/tools/javac/v8/tree/Tree$NewArray.class
com/sun/tools/javac/v8/tree/Tree$Assign.class
com/sun/tools/javac/v8/tree/Tree$Assignop.class
com/sun/tools/javac/v8/tree/Tree$Operation.class
com/sun/tools/javac/v8/tree/Tree$TypeCast.class
com/sun/tools/javac/v8/tree/Tree$TypeTest.class
com/sun/tools/javac/v8/tree/Tree$Indexed.class
com/sun/tools/javac/v8/tree/Tree$Select.class
com/sun/tools/javac/v8/tree/Tree$Ident.class
com/sun/tools/javac/v8/tree/Tree$Literal.class
com/sun/tools/javac/v8/tree/Tree$TypeIdent.class
com/sun/tools/javac/v8/tree/Tree$TypeArray.class
com/sun/tools/javac/v8/tree/Tree$TypeParameter.class
com/sun/tools/javac/v8/tree/Tree$Erroneous.class
com/sun/tools/javac/v8/tree/Tree$Factory.class
com/sun/tools/javac/v8/tree/Tree$Visitor.class
com/sun/tools/javac/v8/tree/Tree.class
com/sun/tools/javac/v8/tree/Pretty.class
com/sun/tools/javac/v8/tree/TreeInfo.class
com/sun/tools/javac/v8/tree/TreeTranslator.class
com/sun/tools/javac/v8/Main.class
com/sun/tools/javac/v8/parser/
com/sun/tools/javac/v8/parser/Parser.class
com/sun/tools/javac/v8/parser/Tokens.class
com/sun/tools/javac/v8/parser/Scanner.class
com/sun/tools/javac/v8/resources/
com/sun/tools/javac/v8/resources/compiler.properties
com/sun/tools/javac/v8/resources/javac.properties
com/sun/tools/javac/v8/resources/compiler_ja.properties
com/sun/tools/javac/v8/resources/javac_ja.properties

View File

@ -0,0 +1,19 @@
$OpenBSD: pack-patch-j2sdk1_3_1_build_bsd-powerpc_tmp_java_java_lang_jvm_CClassHeaders_java_lang_Thread_h,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/build/bsd-powerpc/tmp/java/java.lang/jvm/CClassHeaders/java_lang_Thread.h.orig Fri May 27 18:34:31 2005
+++ j2sdk1.3.1/build/bsd-powerpc/tmp/java/java.lang/jvm/CClassHeaders/java_lang_Thread.h Fri May 27 18:34:57 2005
@@ -11,6 +11,7 @@ struct Hjava_lang_ClassLoader;
struct Hjava_security_AccessControlContext;
struct Hjava_util_Map;
+#pragma pack(4)
typedef struct Classjava_lang_Thread {
struct HArrayOfChar *name;
int32_t priority;
@@ -34,6 +35,7 @@ typedef struct Classjava_lang_Thread {
#undef java_lang_Thread_MAX_PRIORITY
#define java_lang_Thread_MAX_PRIORITY 10L
} Classjava_lang_Thread;
+#pragma pack()
HandleTo(java_lang_Thread);
#ifdef __cplusplus

View File

@ -0,0 +1,19 @@
$OpenBSD: pack-patch-j2sdk1_3_1_build_bsd-powerpc_tmp_java_java_lang_jvm_CClassHeaders_java_lang_ref_SoftReference_h,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/build/bsd-powerpc/tmp/java/java.lang/jvm/CClassHeaders/java_lang_ref_SoftReference.h.orig Fri May 27 18:35:16 2005
+++ j2sdk1.3.1/build/bsd-powerpc/tmp/java/java.lang/jvm/CClassHeaders/java_lang_ref_SoftReference.h Fri May 27 18:35:35 2005
@@ -8,6 +8,7 @@ struct Hjava_lang_Object;
struct Hjava_lang_ref_ReferenceQueue;
struct Hjava_lang_ref_Reference;
+#pragma pack(4)
typedef struct Classjava_lang_ref_SoftReference {
struct Hjava_lang_Object *referent;
struct Hjava_lang_ref_ReferenceQueue *queue;
@@ -17,6 +18,7 @@ typedef struct Classjava_lang_ref_SoftRe
/* Inaccessible static: clock */
int64_t timestamp;
} Classjava_lang_ref_SoftReference;
+#pragma pack()
HandleTo(java_lang_ref_SoftReference);
#ifdef __cplusplus

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-bin_bootscript,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- bin/bootscript.orig Wed Nov 3 10:15:11 2004
+++ bin/bootscript Wed Nov 3 10:15:04 2004
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# this makes sure the sanity check passes
+case $1 in
+ -version)
+ echo 'java version "1.3.1"'
+ ;;
+esac;
+
+exit 0

View File

@ -1,36 +0,0 @@
$OpenBSD: patch-j2sdk1_3_1_ext_plugin_build_solaris_GNUmakefile,v 1.1.1.1 2004/01/29 22:02:20 pvalchev Exp $
--- j2sdk1.3.1/ext/plugin/build/solaris/GNUmakefile.orig 2004-01-08 20:10:46.000000000 -0500
+++ j2sdk1.3.1/ext/plugin/build/solaris/GNUmakefile 2004-01-08 22:33:03.000000000 -0500
@@ -358,9 +358,10 @@ CLASSPATH= $(CLASSDIR):$(JAVASRCDIR)
SHARE_INCLUDE = ../../../../src/share/javavm/export
SOLARIS_INCLUDE = ../../../../src/solaris/javavm/export
AWT_INCLUDE = ../../../../src/solaris/native/sun/awt
+NSPR_INCLUDE = $(LOCALBASE)/include/nspr
INCLUDES4= \
- -I$(MOZ_HDRS)/solaris/navig4/nspr \
+ -I$(NSPR_INCLUDE) \
-I$(MOZ_HDRS)/solaris/navig4/xpcom -I$(MOZ_HDRS)/solaris/navig4/caps \
-I$(MOZ_HDRS)/solaris/navig4/js -I$(MOZ_HDRS)/solaris/navig4/raptor \
-I$(CCLASSHEADERS) \
@@ -371,7 +372,7 @@ INCLUDES4= \
-I$(X11_INCLUDE) -I$(INTL_INCLUDE)
INCLUDES5= \
- -I$(CCLASSHEADERS) \
+ -I$(NSPR_INCLUDE) -I$(CCLASSHEADERS) \
-I$(COMMONSRCDIR) -I$(NAVIG5SRCDIR) \
-I$(X11_INCLUDE) -I$(MOTIF_INCLUDE) \
-I$(SHARE_INCLUDE) -I$(SOLARIS_INCLUDE) \
@@ -449,7 +450,11 @@ l10n: $(L10N_MESSAGES)
all_java: javah_headers
+ifeq ($(findstring native,$(HPIS)), native)
all_c: $(PLUGIN) $(PLUGIN_OJI) $(JAVA_VM) $(GREEN_JAVA_VM) $(PLUGIN_JNI)
+else
+all_c: $(PLUGIN) $(PLUGIN_OJI) $(GREEN_JAVA_VM) $(PLUGIN_JNI)
+endif
#----------------------------------------------------------------------

View File

@ -1,97 +0,0 @@
$OpenBSD: patch-j2sdk1_3_1_ext_plugin_oji-plugin_src_motif_common_utils_c,v 1.2 2004/08/14 21:50:38 naddy Exp $
--- j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/common/utils.c.orig Wed Jul 14 21:56:30 2004
+++ j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/common/utils.c Wed Jul 14 22:50:55 2004
@@ -2,7 +2,6 @@
#include <stdio.h>
#include <stdarg.h>
#include "Debug.h"
-#include "utils.h"
#include <unistd.h>
#ifdef SVR4
#include <stropts.h>
@@ -20,9 +19,15 @@
#include <strings.h>
#include <string.h>
#include <dlfcn.h>
+#include "utils.h"
#include "plugin_defs.h"
#include "pluginversion.h"
+#if defined(__OpenBSD__)
+#include <nlist.h>
+#include <link.h>
+#endif
+
int tracing = 0;
static int init_utils_called = 0;
@@ -295,6 +300,69 @@ int s_pipe(int fds[2]) {
#endif
#endif
+#if defined(__OpenBSD__) && !defined(RTLD_DEFAULT)
+char *
+dlfname(const void *addr)
+{
+#ifdef __ELF__
+ int tag;
+ Elf_Dyn *dp;
+ struct link_map *lm;
+ Elf_Ehdr *ehdr;
+ Elf_Phdr *phdr;
+ char *s;
+ int i;
+
+ lm = NULL;
+
+ for (dp = _DYNAMIC; (tag = dp->d_tag) != 0; dp++) {
+ if (tag == DT_DEBUG) {
+ lm = ((struct r_debug *)(dp->d_un.d_ptr))->r_map;
+ }
+ }
+
+ for (; lm != NULL; lm = lm->l_next) {
+ ehdr = (Elf_Ehdr *)lm->l_addr;
+ if (ehdr == NULL)
+ continue;
+
+ phdr = (Elf_Phdr *)((char *)lm->l_addr + ehdr->e_phoff);
+
+ for (i = 0; i < ehdr->e_phnum; i++) {
+ switch (phdr[i].p_type) {
+ case PT_LOAD:
+ s = (char *)phdr[i].p_vaddr + (int)lm->l_addr;
+ if (addr >= s && addr < s + phdr[i].p_memsz)
+ return (char *)lm->l_name;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ return NULL;
+#else
+ struct so_map *so_map;
+
+ so_map = (struct so_map *)dlopen(0, RTLD_LAZY);
+ for (; so_map; so_map = so_map->som_next) {
+ if (addr >= (void *) so_map->som_addr
+ && (so_map->som_next == 0
+ || addr < (void *) so_map->som_next->som_addr)) {
+ break;
+ }
+ }
+ return so_map ? so_map->som_path : NULL;
+#endif
+}
+
+int
+dladdr(const void *addr, Dl_info *info)
+{
+ return((info->dli_fname = dlfname(addr)) ? 1 : 0);
+}
+#endif

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-j2sdk1_3_1_ext_plugin_oji-plugin_src_motif_common_utils_h,v 1.2 2004/08/14 21:50:38 naddy Exp $
--- j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/common/utils.h.orig Sun May 6 09:15:31 2001
+++ j2sdk1.3.1/ext/plugin/oji-plugin/src/motif/common/utils.h Wed Jul 14 22:41:48 2004
@@ -61,6 +61,14 @@ extern "C" {
void plugin_raw_formal_error(const char *msg);
/* Wrapper that does a dlsym with error checking */
void *load_function(void* library_handle, const char* function_name);
+#if defined(__OpenBSD__) && !defined(RTLD_DEFAULT)
+ typedef struct {
+ const char *dli_fname;
+ char *_padding[3];
+ } Dl_info;
+
+ int dladdr(const void *, Dl_info *);
+#endif
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-j2sdk1_3_1_make_com_sun_javah_Makefile,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/make/com/sun/javah/Makefile.orig Fri May 27 17:33:35 2005
+++ j2sdk1.3.1/make/com/sun/javah/Makefile Fri May 27 17:34:02 2005
@@ -58,7 +58,7 @@ ifeq ($(TRUE_PLATFORM), NetBSD)
OTHER_PROPERTIES = NetBSD_i386.properties
endif
ifeq ($(TRUE_PLATFORM), OpenBSD)
-OTHER_PROPERTIES = OpenBSD_i386.properties
+OTHER_PROPERTIES = OpenBSD_i386.properties OpenBSD_powerpc.properties OpenBSD_arm.properties
endif
endif

View File

@ -1,6 +1,28 @@
$OpenBSD: patch-j2sdk1_3_1_make_common_Defs-bsd_gmk,v 1.1 2004/01/30 13:52:27 wilfried Exp $ $OpenBSD: patch-j2sdk1_3_1_make_common_Defs-bsd_gmk,v 1.2 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/make/common/Defs-bsd.gmk.orig 2004-01-30 00:45:41.000000000 -0500 --- j2sdk1.3.1/make/common/Defs-bsd.gmk.orig Fri Apr 22 12:24:07 2005
+++ j2sdk1.3.1/make/common/Defs-bsd.gmk 2004-01-30 00:46:37.000000000 -0500 +++ j2sdk1.3.1/make/common/Defs-bsd.gmk Fri Apr 22 12:26:53 2005
@@ -32,9 +32,9 @@
AR = $(USRBIN_PATH)ar
AS = $(USRBIN_PATH)as
CAT = $(UNIXCOMMAND_PATH)cat
-CC = $(COMPILER_PATH)gcc
-CPP = $(COMPILER_PATH)gcc -E
-CXX = $(COMPILER_PATH)g++
+CC ?= $(COMPILER_PATH)gcc
+CPP ?= $(COMPILER_PATH)gcc -E
+CXX ?= $(COMPILER_PATH)g++
CD = cd # intrinsic unix command
CHMOD = $(UNIXCOMMAND_PATH)chmod
CMP = $(USRBIN_PATH)cmp
@@ -90,7 +90,7 @@ ZIPEXE = $(DEVTOOLS_PATH)zip
ifeq ($(TRUE_PLATFORM), OpenBSD)
-archExpr = $(UNAME) -m
+archExpr = arch -s
else
archExpr = $(UNAME) -p
endif
@@ -413,7 +413,6 @@ ifeq ($(TRUE_PLATFORM), NetBSD) @@ -413,7 +413,6 @@ ifeq ($(TRUE_PLATFORM), NetBSD)
else else
ifeq ($(TRUE_PLATFORM), OpenBSD) ifeq ($(TRUE_PLATFORM), OpenBSD)

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-j2sdk1_3_1_make_common_Program_gmk,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/make/common/Program.gmk.orig Wed Apr 20 13:15:59 2005
+++ j2sdk1.3.1/make/common/Program.gmk Wed Apr 20 13:16:04 2005
@@ -56,7 +56,11 @@ else
THREADLIBS = -pthread $(LIBTHREAD)
endif
else
+ifeq ($(TRUE_PLATFORM), OpenBSD)
+THREADLIBS = -pthread $(LIBTHREAD)
+else
THREADLIBS = -lpthread $(LIBTHREAD)
+endif
endif
else # USE_PTHREADS
THREADLIBS = $(LIBTHREAD)

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-j2sdk1_3_1_make_java_hpi_native_Makefile,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/make/java/hpi/native/Makefile.orig Wed Apr 20 13:15:59 2005
+++ j2sdk1.3.1/make/java/hpi/native/Makefile Wed Apr 20 13:16:04 2005
@@ -65,7 +65,13 @@ OTHER_CFLAGS = -pthread
# When debugging with libc_r and it's internals, use the following line.
#OTHER_CFLAGS = -pthread -DDEBUG_BSD_NATIVE_THREADS -I/usr/src/lib/libc_r/uthread -I/usr/src/lib/libc/include
else
+ifeq ($(TRUE_PLATFORM), OpenBSD)
+OTHER_CPPFLAGS += -DUSE_MUTEX_HANDSHAKE
+OTHER_CFLAGS = -pthread
+LIBPTHREAD = -pthread
+else
LIBPTHREAD = -lpthread
+endif
endif
OTHER_LDLIBS += $(LIBPTHREAD) $(LIBPOSIX4)
endif

View File

@ -0,0 +1,36 @@
$OpenBSD: patch-j2sdk1_3_1_make_java_jvm_Makefile,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/make/java/jvm/Makefile.orig Mon Nov 22 18:24:20 2004
+++ j2sdk1.3.1/make/java/jvm/Makefile Mon Nov 22 18:29:26 2004
@@ -51,6 +51,15 @@ ifeq ($(TRUE_PLATFORM),OpenBSD)
ifeq ($(ARCH),i386)
USE_C_INTERPRETER = true
endif
+ ifeq ($(ARCH),arm)
+ USE_C_INTERPRETER = true
+ endif
+ ifeq ($(ARCH),powerpc)
+ USE_C_INTERPRETER = true
+ endif
+ ifeq ($(ARCH),sparc64)
+ USE_C_INTERPRETER = true
+ endif
endif
ifeq ($(TRUE_PLATFORM),NetBSD)
@@ -125,6 +134,16 @@ ifeq ($(ARCH),i386)
ARCHNAME = p5
FILES_c += $(TARGDIR)machgc_nonsparc.c
FILES_s += $(TARGDIR)invokeNative_x86.s
+endif
+ifeq ($(ARCH),arm)
+ARCHNAME = arm
+FILES_c += $(TARGDIR)machgc_nonsparc.c
+FILES_s += $(TARGDIR)invokeNative_arm.s
+endif
+ifeq ($(ARCH),sparc64)
+ARCHNAME = sparc64
+FILES_c += $(TARGDIR)machgc_nonsparc.c
+FILES_s += $(TARGDIR)invokeNative_sparc64.s
endif
ifeq ($(USE_ASSEMBLY_INTERPRETER),true)

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-j2sdk1_3_1_make_sun_cmm_Makefile,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/make/sun/cmm/Makefile.orig Wed Apr 20 13:15:59 2005
+++ j2sdk1.3.1/make/sun/cmm/Makefile Wed Apr 20 13:16:04 2005
@@ -88,7 +88,12 @@ OTHER_LDLIBS = -pthread $(LIBM)
endif
CFLAGS += -pthread
else
+ifeq ($(TRUE_PLATFORM),OpenBSD)
+OTHER_LDLIBS = -pthread $(LIBM)
+CFLAGS += -pthread
+else
OTHER_LDLIBS = -lpthread $(LIBM)
+endif
endif
else
OTHER_LDLIBS = $(LIBM)

View File

@ -0,0 +1,5 @@
$OpenBSD: patch-j2sdk1_3_1_src_share_classes_com_sun_tools_javah_resources_OpenBSD_arm_properties,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/share/classes/com/sun/tools/javah/resources/OpenBSD_arm.properties.orig Fri May 27 17:34:59 2005
+++ j2sdk1.3.1/src/share/classes/com/sun/tools/javah/resources/OpenBSD_arm.properties Fri May 27 17:34:50 2005
@@ -0,0 +1 @@
+# OpenBSD arm specific properties

View File

@ -0,0 +1,7 @@
$OpenBSD: patch-j2sdk1_3_1_src_share_classes_com_sun_tools_javah_resources_OpenBSD_powerpc_properties,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/share/classes/com/sun/tools/javah/resources/OpenBSD_powerpc.properties.orig Fri May 27 17:35:31 2005
+++ j2sdk1.3.1/src/share/classes/com/sun/tools/javah/resources/OpenBSD_powerpc.properties Fri May 27 17:35:27 2005
@@ -0,0 +1,3 @@
+# OpenBSD powerpc specific properties
+pack.pragma.start=\#pragma pack(4)\n
+pack.pragma.end=\#pragma pack()\n

View File

@ -0,0 +1,11 @@
$OpenBSD: patch-j2sdk1_3_1_src_share_javavm_runtime_classresolver_c,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/share/javavm/runtime/classresolver.c.orig Mon Jul 19 12:22:10 2004
+++ j2sdk1.3.1/src/share/javavm/runtime/classresolver.c Mon Jul 19 12:22:19 2004
@@ -1382,7 +1382,6 @@ PrepareInterfaces(ClassClass *cb)
mcount++;
}
}
- sysAssert(0 == count);
}
cbMethodTable(cb) = new_table;
cbMethodTableSize(cb) = (unsigned short)mcount;

View File

@ -0,0 +1,97 @@
$OpenBSD: patch-j2sdk1_3_1_src_share_javavm_runtime_jni_c,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/share/javavm/runtime/jni.c.orig Sun May 6 08:18:43 2001
+++ j2sdk1.3.1/src/share/javavm/runtime/jni.c Mon May 23 23:50:35 2005
@@ -570,20 +570,17 @@ jni_FindMethodBlock(JNIEnv *env, jclass
typedef char*
(*JNI_PushArguments_t)(JNIEnv *env, char *terse_signature,
- JavaFrame *current_frame, void *args);
+ JavaFrame *current_frame, void *orig_args);
static char*
jni_PushArgumentsVararg(JNIEnv *env, char *terse_signature,
- JavaFrame *current_frame, void *a)
+ JavaFrame *current_frame, void *orig_args)
{
char *p = terse_signature;
jvalue tdub;
va_list args;
- /* Assignment to va_list does not work on certain platforms:
- * args = *(va_list *)a;
- */
- memcpy(&args, a, sizeof(va_list));
+ va_copy(args, *(va_list *)orig_args);
while (1) {
switch (*p++) {
@@ -592,7 +589,7 @@ jni_PushArgumentsVararg(JNIEnv *env, cha
case TERSE_SIG_BYTE:
case TERSE_SIG_CHAR:
case TERSE_SIG_INT:
- (current_frame->optop++)->i = va_arg(args, long);
+ (current_frame->optop++)->i = va_arg(args, int);
continue;
case TERSE_SIG_FLOAT:
(current_frame->optop++)->f = (float)va_arg(args, double);
@@ -621,49 +618,45 @@ jni_PushArgumentsVararg(JNIEnv *env, cha
static char*
jni_PushArgumentsArray(JNIEnv *env, char *terse_signature,
- JavaFrame *current_frame, void *a)
+ JavaFrame *current_frame, void *orig_args)
{
char *p = terse_signature;
jvalue tdub;
- jvalue *args = *(jvalue **)a;
+ va_list args;
+ va_copy(args, *(va_list *)orig_args);
+
/*CONSTCOND*/
while (1) {
switch (*p++) {
case TERSE_SIG_BOOLEAN:
- (current_frame->optop++)->i = (*args++).z;
- continue;
case TERSE_SIG_SHORT:
- (current_frame->optop++)->i = (*args++).s;
- continue;
case TERSE_SIG_BYTE:
- (current_frame->optop++)->i = (*args++).b;
- continue;
case TERSE_SIG_CHAR:
- (current_frame->optop++)->i = (*args++).c;
- continue;
case TERSE_SIG_INT:
- (current_frame->optop++)->i = (*args++).i;
+ (current_frame->optop++)->i = va_arg(args, int);
continue;
case TERSE_SIG_FLOAT:
- (current_frame->optop++)->f = (*args++).f;
+ (current_frame->optop++)->f = (float)va_arg(args,double);
continue;
case TERSE_SIG_OBJECT: {
- jobject obj = (*args++).l;
+ jobject obj = va_arg(args,jobject);
(current_frame->optop++)->h = (JHandle *)DeRef(env, obj);
continue;
}
case TERSE_SIG_LONG:
- SET_INT64(tdub, current_frame->optop, (*args++).j);
+ SET_INT64(tdub, current_frame->optop, va_arg(args,int64_t));
current_frame->optop += 2;
continue;
case TERSE_SIG_DOUBLE:
- SET_DOUBLE(tdub, current_frame->optop, (*args++).d);
+ SET_DOUBLE(tdub, current_frame->optop, va_arg(args,double));
current_frame->optop += 2;
continue;
case TERSE_SIG_ENDFUNC:
+ va_end(args);
return p;
default:
+ va_end(args);
sysAssert(FALSE);
return NULL;
}

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_bin_java_wrapper_bsd_sh,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/bin/java_wrapper_bsd.sh.orig Fri Apr 22 12:24:11 2005
+++ j2sdk1.3.1/src/solaris/bin/java_wrapper_bsd.sh Fri Apr 22 12:27:39 2005
@@ -18,7 +18,7 @@ PRG=$0
progname=`basename $0`
case `uname -s` in
OpenBSD)
- proc=`/usr/bin/uname -m`
+ proc=`/usr/bin/arch -s`
;;
*)
proc=`/usr/bin/uname -p`

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_bin_realpath_sh,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/bin/realpath.sh.orig Mon Nov 22 18:11:43 2004
+++ j2sdk1.3.1/src/solaris/bin/realpath.sh Mon Nov 22 18:11:31 2004
@@ -27,6 +27,12 @@ case "`uname -m`" in
;;
esac
+case "`uname`" in
+ OpenBSD)
+ proc="`arch -s`"
+ ;;
+esac
+
PATH="$SVPATH"
exec `dirname $0`/$proc/`basename $0` $@

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_green_threads_include_context_md_bsd_h,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/hpi/green_threads/include/context_md_bsd.h.orig Fri May 27 17:32:10 2005
+++ j2sdk1.3.1/src/solaris/hpi/green_threads/include/context_md_bsd.h Fri May 27 17:38:09 2005
@@ -59,7 +59,7 @@ typedef struct lj_ucontext {
# endif
#define BSD_STACK_POINTER 34
-#elif defined(__arm32__)
+#elif defined(__arm32__) || defined(__arm__)
#define BSD_FPU_MASK 0
#define BSD_SIGNAL_MASK 21
@@ -90,7 +90,7 @@ typedef lj_ucontext_t inner_ucontext_t;
typedef struct {
unsigned int unix_errno;
-#if defined(__NetBSD__) && defined(__powerpc__)
+#if defined(__powerpc__)
void *current_sp;
#endif
inner_ucontext_t lj_ucontext;

View File

@ -0,0 +1,44 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_green_threads_src_context_c,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/hpi/green_threads/src/context.c.orig Fri May 27 17:32:10 2005
+++ j2sdk1.3.1/src/solaris/hpi/green_threads/src/context.c Fri May 27 17:40:41 2005
@@ -183,7 +183,7 @@ currentStackPointer(sys_thread_t *tp)
#if (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__))
context_t *context = &tp->mdcontext;
lj_ucontext_t *uc = &(context->lj_ucontext);
-#if defined(__NetBSD__) && defined(__powerpc__)
+#if defined(__powerpc__)
return (void *)CONTEXT(tp)->current_sp;
#elif defined(__NetBSD__) || defined(__OpenBSD__)
return (void *)(uc->jmpbuf[BSD_STACK_POINTER]);
@@ -579,7 +579,30 @@ initContext(lj_ucontext_t *uc, gstack_t
uc->jmpbuf->_sjb[35] = (long)0xACEDBADD; /* magic number for longjmp */
}
-#elif defined(__NetBSD__) && defined(__powerpc__)
+#elif defined(__OpenBSD__) && defined(__arm__)
+
+void
+initContext(lj_ucontext_t *uc, gstack_t *stack, unsigned int pc,
+ void (*death_func)(void), unsigned int arg)
+{
+ unsigned char *sp;
+
+ memset(uc, 0, sizeof(lj_ucontext_t));
+
+ sp = (unsigned char *)stack->base;
+ sp -= sizeof(sys_thread_t *);
+ /* Force sp to be double aligned! */
+ sp = (unsigned char *)((unsigned long)(sp) & ~7L);
+
+ /* We use registers on the Alpha to pass args to death_func. */
+ uc->jmpbuf->_sjb[2] = (long)death_func; /* sc_pc */
+ uc->jmpbuf->_sjb[20] = (long)pc; /* sc_regs[R_A0] */
+ uc->jmpbuf->_sjb[21] = (long)arg; /* sc_regs[R_A1] */
+ uc->jmpbuf->_sjb[34] = (long)sp; /* sc_regs[R_SP] */
+ uc->jmpbuf->_sjb[35] = (long)0xACEDBADD; /* magic number for longjmp */
+}
+
+#elif (defined(__NetBSD__) || defined(__OpenBSD__)) && defined(__powerpc__)
/* NetBSD/powerpc version */

View File

@ -0,0 +1,32 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_green_threads_src_threads_md_c,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/hpi/green_threads/src/threads_md.c.orig Fri May 27 17:40:57 2005
+++ j2sdk1.3.1/src/solaris/hpi/green_threads/src/threads_md.c Fri May 27 17:42:24 2005
@@ -80,8 +80,11 @@ sysThreadCheckStack()
{
sys_thread_t *tid = greenThreadSelf();
+ /* workaround a gcc optimization bug on powerpc */
+ char *currentSP = &currentSP;
+
/* Stacks grow toward lower addresses on Solaris... */
- if ((char *)(tid)->stack.base - (char *)&(tid) + STACK_REDZONE <
+ if ((char *)(tid)->stack.base - currentSP + STACK_REDZONE <
tid->stack.size) {
return 1;
} else {
@@ -327,13 +330,13 @@ start_func(void (*func)(int), start_args
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__)
static void
-#if defined(__NetBSD__) && defined(__powerpc__)
+#if defined(__powerpc__)
start_func(lj_ucontext_t *uc)
#else
start_func(void (*func)(int), start_args *args)
#endif
{
-#if defined(__NetBSD__) && defined(__powerpc__)
+#if defined(__powerpc__)
start_args *args = (start_args *)uc->arg;
void (*func)() = (void (*)())uc->pc;
int arg = args->arg;

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_native_threads_include_threads_md_h,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/hpi/native_threads/include/threads_md.h.orig Mon Nov 22 20:25:24 2004
+++ j2sdk1.3.1/src/solaris/hpi/native_threads/include/threads_md.h Tue Nov 23 14:47:07 2004
@@ -17,7 +17,7 @@
#include "porting.h"
-#ifdef sparc
+#if defined(sparc) || defined(sparc64)
#define N_TRACED_REGS 12
#elif i386
#define N_TRACED_REGS 7
@@ -25,6 +25,10 @@
#define N_TRACED_REGS 1
#elif m68k
#define N_TRACED_REGS 8
+#elif __arm__
+#define N_TRACED_REGS 16 /* XXX */
+#elif __powerpc__
+#define N_TRACED_REGS 12 /* XXX */
#else
#error "Can't define for N_TRACED_REGS"
#endif

View File

@ -0,0 +1,93 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_native_threads_src_threads_bsd_c,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/hpi/native_threads/src/threads_bsd.c.orig Wed Apr 20 13:16:02 2005
+++ j2sdk1.3.1/src/solaris/hpi/native_threads/src/threads_bsd.c Wed Apr 20 13:16:04 2005
@@ -93,7 +93,22 @@ void np_initialize_thread(sys_thread_t *
/*
* Internal helper function to get stack information about specified thread.
*/
+#ifdef __OpenBSD__
static int
+get_stackinfo(pthread_t tid, void **addr, long *sizep)
+{
+ stack_t ss;
+
+ if (pthread_stackseg_np(tid, &ss) == 0) {
+ *addr = (void *)(ss.ss_sp) - ss.ss_size;
+ *sizep = (long)(ss.ss_size);
+ return SYS_OK;
+ } else {
+ return SYS_ERR; /* pthreads_stackinfo_np failed. */
+ }
+}
+#else
+static int
get_stackinfo(pthread_t tid, pthread_attr_t attr, void **addr, long *sizep)
{
size_t s;
@@ -113,14 +128,17 @@ err:
return (ret);
}
+#endif
-
/*
* Get the stack start address, and max stack size for the current thread.
*/
int
np_stackinfo(void **addr, long *sizep)
{
+#ifdef __OpenBSD__
+ return(get_stackinfo(pthread_self(), addr, sizep));
+#else
pthread_attr_t attr;
int ret = SYS_ERR;
@@ -130,6 +148,7 @@ np_stackinfo(void **addr, long *sizep)
}
return (ret);
+#endif
}
/*
@@ -193,13 +212,15 @@ record_thread_regs()
{
struct pthread *self = pthread_self();
sys_thread_t *tid = ThreadQueue;
- pthread_attr_t attr = NULL;
void *addr;
long sz;
int i;
+#ifndef __OpenBSD__
+ pthread_attr_t attr = NULL;
if (pthread_attr_init(&attr) != 0)
attr = NULL;
+#endif
for (i = 0; i < ActiveThreadCount && tid != NULL; i++, tid = tid->next) {
struct pthread *thread = tid->sys_thread;
@@ -214,7 +235,11 @@ record_thread_regs()
continue;
}
+#ifdef __OpenBSD__
+ if (get_stackinfo(thread, &addr, &sz) == SYS_OK)
+#else
if (get_stackinfo(thread, attr, &addr, &sz) == SYS_OK)
+#endif
tid->sp = addr;
else
tid->sp = 0;
@@ -247,8 +272,10 @@ record_thread_regs()
#endif
}
+#ifndef __OpenBSD__
if (attr != NULL)
pthread_attr_destroy(&attr);
+#endif
#ifdef DEBUG_BSD_NATIVE_THREADS
fprintf(stderr, "\n\n\nCalling GC thread\n\n\n"); fflush(stderr);

View File

@ -0,0 +1,32 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_native_threads_src_threads_md_c,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/hpi/native_threads/src/threads_md.c.orig Mon Nov 8 11:41:54 2004
+++ j2sdk1.3.1/src/solaris/hpi/native_threads/src/threads_md.c Mon Nov 8 11:45:53 2004
@@ -77,11 +77,17 @@ static thread_key_t tid_key = (thread_ke
#ifdef __linux__
thread_key_t intrJmpbufkey;
static sigset_t squm = {{sigmask(SIGUSR1), 0, 0, 0}};
+#elif defined(__OpenBSD__)
+thread_key_t sigusr1Jmpbufkey;
+sigset_t sigusr1Mask = sigmask(SIGUSR1);
+static sigset_t squm = sigmask(SIGUSR1);
#else
thread_key_t sigusr1Jmpbufkey;
sigset_t sigusr1Mask = {{sigmask(SIGUSR1), 0, 0, 0}};
+static sigset_t squm = {{sigmask(SIGUSR1), 0, 0, 0}};
#endif
+
/*
* Thread C stack overflow check
*
@@ -148,10 +154,6 @@ sysThreadCheckStack()
return 0;
}
}
-
-#ifndef __linux__
-static sigset_t squm = {{sigmask(SIGUSR1), 0, 0, 0}};
-#endif
/*

View File

@ -1,12 +1,52 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_src_memory_md_c,v 1.1.1.1 2004/01/29 22:02:20 pvalchev Exp $ $OpenBSD: patch-j2sdk1_3_1_src_solaris_hpi_src_memory_md_c,v 1.2 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/hpi/src/memory_md.c.orig 2004-01-03 22:05:00.000000000 -0500 --- j2sdk1.3.1/src/solaris/hpi/src/memory_md.c.orig Wed Apr 20 13:23:19 2005
+++ j2sdk1.3.1/src/solaris/hpi/src/memory_md.c 2004-01-03 22:07:55.000000000 -0500 +++ j2sdk1.3.1/src/solaris/hpi/src/memory_md.c Wed Apr 20 13:25:51 2005
@@ -157,7 +157,7 @@ mapChunk(long length) @@ -110,7 +110,9 @@ InitializeMem(void)
#endif
}
-#ifdef __linux__
+#ifdef __OpenBSD__
+ devZeroFD = -1;
+#elif defined(__linux__)
#if !defined(USE_MALLOC) && !defined(MAP_ANONYMOUS)
devZeroFD = open("/dev/zero", O_RDWR);
if (devZeroFD == -1) {
@@ -140,6 +142,10 @@ InitializeMem(void)
#define MAP_NORESERVE 0
#endif
+#ifndef MAP_ANON
+#define MAP_ANON 0
+#endif
+
/*
* Map a chunk of memory. Return the address of the base if successful,
* 0 otherwise. We do not care where the mapped memory is, and can't
@@ -157,7 +163,7 @@ mapChunk(long length)
MAP_NORESERVE | MAP_PRIVATE | MAP_ANONYMOUS, MAP_NORESERVE | MAP_PRIVATE | MAP_ANONYMOUS,
-1, (off_t) 0); -1, (off_t) 0);
#else #else
- ret = (char *) mmap(0, length, PROT_ALL, MAP_NORESERVE|MAP_PRIVATE, - ret = (char *) mmap(0, length, PROT_ALL, MAP_NORESERVE|MAP_PRIVATE,
+ ret = (char *) mmap(0, length, PROT_READ|PROT_WRITE, MAP_NORESERVE|MAP_PRIVATE, + ret = (char *) mmap(0, length, PROT_READ|PROT_WRITE, MAP_NORESERVE|MAP_PRIVATE|MAP_ANON,
devZeroFD, (off_t) 0); devZeroFD, (off_t) 0);
#endif #endif
return (ret == MAP_FAILED ? 0 : ret); return (ret == MAP_FAILED ? 0 : ret);
@@ -179,7 +185,7 @@ mapChunkReserve(char *addr, long length)
MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS,
-1, (off_t) 0);
#else
- ret = (char *) mmap(addr, length, PROT_ALL, MAP_FIXED|MAP_PRIVATE,
+ ret = (char *) mmap(addr, length, PROT_ALL, MAP_FIXED|MAP_PRIVATE|MAP_ANON,
devZeroFD, (off_t) 0);
#endif
return (ret == MAP_FAILED ? 0 : ret);
@@ -204,7 +210,7 @@ mapChunkNoreserve(char *addr, long lengt
-1, (off_t) 0);
#else
ret = (char *) mmap(addr, length, PROT_ALL,
- MAP_FIXED|MAP_PRIVATE|MAP_NORESERVE,
+ MAP_FIXED|MAP_PRIVATE|MAP_NORESERVE|MAP_ANON,
devZeroFD, (off_t) 0);
#endif
return (ret == MAP_FAILED ? 0 : ret);

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_javavm_include_sysmacros_md_h,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/javavm/include/sysmacros_md.h.orig Wed Nov 3 19:40:18 2004
+++ j2sdk1.3.1/src/solaris/javavm/include/sysmacros_md.h Wed Nov 3 19:40:51 2004
@@ -75,6 +75,8 @@ void panic (const char *, ...);
*/
#elif defined(__powerpc__)
#define sysMemoryFlush() 0
+#elif defined(__arm__)
+#define sysMemoryFlush() __asm__ __volatile__ ("" : : : "memory")
#else
#error No definition for sysMemoryFlush!
#endif

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_javavm_include_typedefs_md_h,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/javavm/include/typedefs_md.h.orig Fri May 27 17:42:42 2005
+++ j2sdk1.3.1/src/solaris/javavm/include/typedefs_md.h Fri May 27 17:43:39 2005
@@ -41,11 +41,11 @@
#endif
/* Fix for varargs differences on PowerPC */
-#if defined(__linux__) && defined(__powerpc__)
+#if (defined(__linux__) || defined(__OpenBSD__)) && defined(__powerpc__)
#define VARGS(x) (x)
#else
#define VARGS(x) (&x)
-#endif /* __linux__ && __powerpc__ */
+#endif /* (__linux__ || __OpenBSD__) && __powerpc__ */
/* temporary scaffolding, to allow for back and forth testing */

View File

@ -0,0 +1,276 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_javavm_runtime_invokeNative_arm_s,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/javavm/runtime/invokeNative_arm.s.orig Fri May 27 20:00:30 2005
+++ j2sdk1.3.1/src/solaris/javavm/runtime/invokeNative_arm.s Fri May 27 21:18:05 2005
@@ -0,0 +1,272 @@
+//
+// @(#)invokeNative_arm.s 0.00 05/04/25
+//
+// Copyright 1996, 1997 by Sun Microsystems, Inc.,
+// 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
+// All rights reserved.
+//
+// This software is the confidential and proprietary information
+// of Sun Microsystems, Inc. ("Confidential Information"). You
+// shall not disclose such Confidential Information and shall use
+// it only in accordance with the terms of the license agreement
+// you entered into with Sun.
+//
+
+// ARM version adopted from invokeNative_x86.s and sparc version by Dale Rahn.
+
+// XXX Likely other BSD's have a similar header, but since I do not know that
+// XXX I have taken the safe path and provided ELF-style defaults.
+#ifdef __OpenBSD__
+#include <machine/asm.h>
+#else
+
+#define _C_LABEL(x) x
+#define _ENTRY(x) \
+ .section .text; .align 4; .globl x; .type x,@function; x:
+#define ENTRY(y) _ENTRY(_C_LABEL(y))
+
+#endif
+
+ .file "invokeNative_arm.s"
+
+// This function translates the "Java" calling convention into the
+// C convention used in native methods. Java VM passes all the
+// arguments in the Java stack, and expects the results to be placed there
+// as well. We therefore have to copy the arguments into the C stack (or
+// registers), and place the return values back into the Java stack.
+//
+// With a small sacrifise in efficiency, this approach avoids having to
+// generate a stub function for every native method.
+//
+// The arm processor passes initial arguments in registers r0-r3 , with
+// additional arguments appearing on the stack,
+//
+// The first argument to sysInvokeNative is a pointer to the JNI
+// environment, which should be passed unmodified as the first argument
+// to the native method.
+//
+// The second argument is a pointer to the "real" native method function.
+//
+// The third argument (stk) is a pointer to the Java stack, where all
+// the arguments are stored (as stk[0], stk[1], etc.).
+//
+// The fourth argument is the "terse" signature of the native method,
+// which basically collapses all objects in the long signature into
+// one byte, since they're all treated the same. This makes the parsing
+// in this routine simpler and faster. See classload.c and classruntime.c
+// for details.
+//
+// The fifth argument is the total size (in 32-bit words) of the
+// arguments on the Java stack. Note that the Java stack does not have
+// any alignment requirement, and stores all arguments consecutively in
+// words and double words. The argument size includes the "this" pointer
+// for non-static methods.
+//
+// The sixth argument is 0 for non-static methods, or a jclass
+// for static methods. Non-static native methods receive an object
+// reference as the second argument (passed in the Java stack as
+// stk[0]). The "real" method arguments to non-static methods begin at
+// stk[1]. Static native methods receive a class reference as the second
+// argument.
+//
+// The return value of the native method is placed at stk[0] for
+// word-sized results, or at stk[0] and stk[1] for
+// double-word-sized results. The return value of sysInvokeNative is
+// stk if the native method returns void, stk+1 if the native
+// method returns a word, or stk+2 if the native method returns a
+// double word.
+
+// #define args_again \ // I don't know how to do a macro w/ this assembler
+// movb (%ebx), %cl \
+// incl %ebx \
+// jmp *arg_jumps(,%ecx,4)
+
+
+
+// Arguments
+// r0 ; JNI environment
+// r1 ; native method function
+// r2 ; Java stack
+// r3 ; method signature
+// stk1 ; total argument size
+// stk2 ; class (if static)
+//
+// Results:
+// r0 the adjusted Java stack top
+
+#define JSTKPTR r4 // local java stack addr
+#define SWITCHBASE r5 // pointer to jump table address
+#define SIGBYTE r6 // scratch to load signature (4 bits)
+#define OSTKPTR r7 // old java stack
+#define SIGVAL r8 // scratch to load signature (byte)
+#define SIGPTR r9 // pointer to signature byte (string)
+#define RETTYPE r9 // pointer to signature byte (string)
+#define CSTKPTR r10 // address on C stack to push args
+
+#define FUNC r12
+
+#define SAVEREG r4-r10,fp
+#define SAVESPACE (8*4)
+
+#define nargs_stk [fp, #SAVESPACE+4]
+#define class_stk [fp, #SAVESPACE+8]
+#define result_stk [fp, #SAVESPACE+12]
+
+#define TYPEMASK #0xf
+
+ENTRY(sysInvokeNative)
+ stmfd sp!, {SAVEREG, lr} // save all volatile regs
+
+ mov fp, sp
+
+// first 4 args in register
+// first arg is already in r0, JNI env
+
+ mov FUNC, r1
+ mov JSTKPTR, r2
+ mov OSTKPTR, r2 // save copy
+ mov SIGPTR, r3
+
+ adr SWITCHBASE, arg_jumps // load jump table address
+
+ ldr r1, nargs_stk
+ mov r1, r1, asl #2 // nargs -> words
+ sub sp, sp, r1
+ mov CSTKPTR,sp
+
+ ldr r1, class_stk
+ cmp r1, #0 // check if static
+ moveq r1, JSTKPTR // static
+ addeq JSTKPTR, JSTKPTR, #4
+
+args_loop:
+ ldrb SIGVAL, [SIGPTR], #1
+ and SIGBYTE, SIGVAL, TYPEMASK
+ ldr SIGBYTE, [SWITCHBASE, SIGBYTE, lsl #2] // load offset
+ add pc, SWITCHBASE, SIGBYTE
+
+arg_32: // move a 32-bit value from [JSTKPTR] to [CSTKPTR].
+ ldr r2, [JSTKPTR], #4
+ str r2, [CSTKPTR], #4
+
+ b args_loop
+
+arg_64:
+ ldmia JSTKPTR!, {r2, SIGBYTE}
+ stmia CSTKPTR!, {r2, SIGBYTE}
+
+ b args_loop
+
+arg_object:
+ ldr r2, [JSTKPTR], #4
+ cmp r2, #0
+ subne r2, JSTKPTR, #4 // pass address of object on java stk
+ str r2, [CSTKPTR], #4
+
+ b args_loop
+
+args_done:
+ // load first arguments into registers, according to ABI
+ // r0 and r1 were already set
+ ldr r2, [sp, #0]
+ ldr r3, [sp, #4]
+
+ // CSTKPTR used as scratch now
+ ldr CSTKPTR, nargs_stk
+ cmp CSTKPTR, #2
+ addge sp, sp, #8 // if more than two args, adjust stack
+
+ adr SWITCHBASE, ret_jumps
+
+ mov lr,pc
+ mov pc, FUNC
+
+ ldrb SIGVAL, [SIGPTR]
+
+ and RETTYPE, SIGVAL, TYPEMASK // save return value
+ mov r3, OSTKPTR // original java stack
+ mov sp, fp // restore original C stack
+
+ ldr RETTYPE, [SWITCHBASE, RETTYPE, lsl #2]
+ add pc, SWITCHBASE, RETTYPE
+
+ret_obj:
+ cmp r0, #0
+ ldrne r0,[r0]
+ str r0,[r3]
+ add r0, r3, #4
+ ldmfd sp!, {SAVEREG, pc}
+
+ret_s32:
+ str r0, [r3]
+ add r0, r3, #4
+ ldmfd sp!, {SAVEREG, pc}
+
+ret_s64:
+ stmia r3, {r0,r1}
+ add r0, r3, #8
+ ldmfd sp!, {SAVEREG, pc}
+
+ret_s8:
+ mov r0, r0, asl #24
+ mov r0, r0, asr #24
+ str r0, [r3]
+ add r0, r3, #4
+ ldmfd sp!, {SAVEREG, pc}
+
+ret_u8:
+ and r0, r0, #0xff
+ str r0, [r3]
+ add r0, r3, #4
+ ldmfd sp!, {SAVEREG, pc}
+
+ret_s16:
+ mov r0, r0, asl #16
+ mov r0, r0, asr #16
+ str r0, [r3]
+ add r0, r3, #4
+ ldmfd sp!, {SAVEREG, pc}
+
+ret_u16:
+ mov r0, r0, lsl #16
+ mov r0, r0, lsr #16
+ str r0, [r3]
+ add r0, r3, #4
+ ldmfd sp!, {SAVEREG, pc}
+
+ret_void:
+ mov r0, r3
+ ldmfd sp!, {SAVEREG, pc}
+
+ // keep these offsets in sync with the enum in signature.h
+ // these tables have -<base> to make the PIC happy
+ret_jumps:
+ .long ret_void-ret_jumps // this is bogus and shouldn't get called
+ .long ret_obj-ret_jumps
+ .long ret_s64-ret_jumps
+ .long ret_s64-ret_jumps // arm does soft float
+ .long ret_u8-ret_jumps
+ .long ret_s8-ret_jumps
+ .long ret_s16-ret_jumps
+ .long ret_u16-ret_jumps
+ .long ret_s32-ret_jumps
+ .long ret_s32-ret_jumps // arm does soft float
+ .long ret_void-ret_jumps
+
+ // keep these offsets in sync with the enum in signature.h
+arg_jumps:
+ .long args_done-arg_jumps // this is bogus and shouldn't get called
+ .long arg_object-arg_jumps
+ .long arg_64-arg_jumps
+ .long arg_64-arg_jumps
+ .long arg_32-arg_jumps // bool
+ .long arg_32-arg_jumps // byte
+ .long arg_32-arg_jumps // short
+ .long arg_32-arg_jumps // char
+ .long arg_32-arg_jumps // int
+ .long arg_32-arg_jumps // float
+ .long args_done-arg_jumps // for void - remind: shouldn't happen
+ .long args_done-arg_jumps // end-of-args
+
+ .align 4
+ .size _C_LABEL(sysInvokeNative),.-_C_LABEL(sysInvokeNative)

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_javavm_runtime_invokeNative_ppc_s,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/javavm/runtime/invokeNative_ppc.s.orig Mon Nov 22 19:46:23 2004
+++ j2sdk1.3.1/src/solaris/javavm/runtime/invokeNative_ppc.s Mon Nov 22 19:46:42 2004
@@ -224,7 +224,7 @@ floatarg:
spillfltargs:
lfs 0,0(30) // f0 = (r30)
- andi. 25,11,4 // r25 = r10 & 4, set cr from r25
+ andi. 25,10,4 // r25 = r10 & 4, set cr from r25
addi 9,10,4 // r9 = r10 + 4
mfcr 0 // r0 = cr
rlwinm 0,0,3,31,31 // r0 = (r0 rol 3) & 0x1 (test cr0 EQ)

View File

@ -0,0 +1,27 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_javavm_runtime_javai_md_c,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/javavm/runtime/javai_md.c.orig Fri May 27 17:43:56 2005
+++ j2sdk1.3.1/src/solaris/javavm/runtime/javai_md.c Fri May 27 17:45:04 2005
@@ -167,7 +167,7 @@ GetPropertiesMD()
return &sprops;
}
-#if (defined(__linux__) || defined(__NetBSD__)) && \
+#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)) && \
(defined(__powerpc__) || defined(__mc68000__))
/* PORT: do casts properly - machine dependent */
@@ -259,7 +259,7 @@ int64_t double2ll(double f)
}
}
-#else /* (Linux || NetBSD) && (powerpc || m68k) */ */
+#else /* (Linux || NetBSD || OpenBSD) && (powerpc || m68k) */ */
int32_t float2l(float f)
{
@@ -341,4 +341,4 @@ int64_t double2ll(double f)
#endif /* sparc || alpha */
}
-#endif /* !(Linux || NetBSD) && (powerpc || m68k) */
+#endif /* !(Linux || NetBSD || OpenBSD) && (powerpc || m68k) */

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-j2sdk1_3_1_src_solaris_native_common_jlong_md_h,v 1.1 2005/06/03 17:27:54 kurt Exp $
--- j2sdk1.3.1/src/solaris/native/common/jlong_md.h.orig Sun May 6 08:27:31 2001
+++ j2sdk1.3.1/src/solaris/native/common/jlong_md.h Wed Apr 20 13:18:38 2005
@@ -13,6 +13,9 @@
/* Make sure ptrdiff_t is defined */
#include <stddef.h>
+#if defined(__OpenBSD__)
+#include <inttypes.h> /* For intptr_t */
+#endif
#define jlong_high(a) ((jint)((a)>>32))
#define jlong_low(a) ((jint)(a))

View File

@ -1,12 +0,0 @@
To use the Java plugin with Mozilla or Mozilla-firefox you must create
a symbolic link from
${PREFIX}/${JDKHOME}/jre/plugin/i386/ns600/libjavaplugin_oji.so
to your local Mozilla plugins directory, which is found at
~/.mozilla/plugins/
or to the shared Mozilla plugins directory, which is found at
${PREFIX}/lib/mozilla-plugins/

View File

@ -1,12 +0,0 @@
To use the Java plugin with Mozilla or Mozilla-firefox you must create
a symbolic link from
${PREFIX}/${JREHOME}/plugin/i386/ns600/libjavaplugin_oji.so
to your local Mozilla plugins directory, which is found at
~/.mozilla/plugins/
or to the shared Mozilla plugins directory, which is found at
${PREFIX}/lib/mozilla-plugins/

View File

@ -1,57 +0,0 @@
@comment $OpenBSD: PFRAG.no-no_plugin,v 1.2 2004/09/14 23:43:56 espie Exp $
${JDKHOME}/bin/ControlPanel
${JDKHOME}/bin/HtmlConverter
${JDKHOME}/bin/${MACHINE_ARCH}/green_threads/java_vm
${JDKHOME}/bin/${MACHINE_ARCH}/green_threads/java_vm_g
${JDKHOME}/jre/ControlPanel.html
${JDKHOME}/jre/bin/ControlPanel
${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/java_vm
${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/java_vm_g
${JDKHOME}/jre/lib/${MACHINE_ARCH}/libjavaplugin_jni.so
${JDKHOME}/jre/lib/${MACHINE_ARCH}/libjavaplugin_jni_g.so
${JDKHOME}/jre/lib/javaplugin.jar
${JDKHOME}/jre/lib/locale/
${JDKHOME}/jre/lib/locale/de/
${JDKHOME}/jre/lib/locale/de/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/de/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/es/
${JDKHOME}/jre/lib/locale/es/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/es/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/fr/
${JDKHOME}/jre/lib/locale/fr/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/fr/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/it/
${JDKHOME}/jre/lib/locale/it/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/it/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/ja/
${JDKHOME}/jre/lib/locale/ja/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/ja/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/ko/
${JDKHOME}/jre/lib/locale/ko.UTF-8/
${JDKHOME}/jre/lib/locale/ko.UTF-8/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/ko.UTF-8/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/ko/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/ko/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/sv/
${JDKHOME}/jre/lib/locale/sv/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/sv/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/zh/
${JDKHOME}/jre/lib/locale/zh.GBK/
${JDKHOME}/jre/lib/locale/zh.GBK/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/zh.GBK/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/zh/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/zh/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/zh_TW/
${JDKHOME}/jre/lib/locale/zh_TW.BIG5/
${JDKHOME}/jre/lib/locale/zh_TW.BIG5/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/zh_TW.BIG5/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/lib/locale/zh_TW/LC_MESSAGES/
${JDKHOME}/jre/lib/locale/zh_TW/LC_MESSAGES/sunw_java_plugin.mo
${JDKHOME}/jre/plugin/${MACHINE_ARCH}/
${JDKHOME}/jre/plugin/${MACHINE_ARCH}/ns4/
${JDKHOME}/jre/plugin/${MACHINE_ARCH}/ns4/javaplugin.so
${JDKHOME}/jre/plugin/${MACHINE_ARCH}/ns4/javaplugin_g.so
${JDKHOME}/jre/plugin/${MACHINE_ARCH}/ns600/
${JDKHOME}/jre/plugin/${MACHINE_ARCH}/ns600/libjavaplugin_oji.so
${JDKHOME}/jre/plugin/${MACHINE_ARCH}/ns600/libjavaplugin_oji_g.so
${JDKHOME}/lib/htmlconverter.jar

View File

@ -1,50 +0,0 @@
@comment $OpenBSD: PFRAG.no-no_plugin-jre,v 1.2 2004/09/14 23:43:56 espie Exp $
${JREHOME}/ControlPanel.html
${JREHOME}/bin/ControlPanel
${JREHOME}/bin/${MACHINE_ARCH}/green_threads/java_vm
${JREHOME}/lib/${MACHINE_ARCH}/libjavaplugin_jni.so
${JREHOME}/lib/javaplugin.jar
${JREHOME}/lib/locale/
${JREHOME}/lib/locale/de/
${JREHOME}/lib/locale/de/LC_MESSAGES/
${JREHOME}/lib/locale/de/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/es/
${JREHOME}/lib/locale/es/LC_MESSAGES/
${JREHOME}/lib/locale/es/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/fr/
${JREHOME}/lib/locale/fr/LC_MESSAGES/
${JREHOME}/lib/locale/fr/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/it/
${JREHOME}/lib/locale/it/LC_MESSAGES/
${JREHOME}/lib/locale/it/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/ja/
${JREHOME}/lib/locale/ja/LC_MESSAGES/
${JREHOME}/lib/locale/ja/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/ko/
${JREHOME}/lib/locale/ko.UTF-8/
${JREHOME}/lib/locale/ko.UTF-8/LC_MESSAGES/
${JREHOME}/lib/locale/ko.UTF-8/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/ko/LC_MESSAGES/
${JREHOME}/lib/locale/ko/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/sv/
${JREHOME}/lib/locale/sv/LC_MESSAGES/
${JREHOME}/lib/locale/sv/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh/
${JREHOME}/lib/locale/zh.GBK/
${JREHOME}/lib/locale/zh.GBK/LC_MESSAGES/
${JREHOME}/lib/locale/zh.GBK/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh/LC_MESSAGES/
${JREHOME}/lib/locale/zh/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh_TW/
${JREHOME}/lib/locale/zh_TW.BIG5/
${JREHOME}/lib/locale/zh_TW.BIG5/LC_MESSAGES/
${JREHOME}/lib/locale/zh_TW.BIG5/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh_TW/LC_MESSAGES/
${JREHOME}/lib/locale/zh_TW/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/plugin/${MACHINE_ARCH}/
${JREHOME}/plugin/${MACHINE_ARCH}/ns4/
${JREHOME}/plugin/${MACHINE_ARCH}/ns4/javaplugin.so
${JREHOME}/plugin/${MACHINE_ARCH}/ns4/javaplugin_g.so
${JREHOME}/plugin/${MACHINE_ARCH}/ns600/
${JREHOME}/plugin/${MACHINE_ARCH}/ns600/libjavaplugin_oji.so
${JREHOME}/plugin/${MACHINE_ARCH}/ns600/libjavaplugin_oji_g.so

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.5 2004/10/12 20:46:22 naddy Exp $ @comment $OpenBSD: PLIST,v 1.6 2005/06/03 17:27:54 kurt Exp $
@option no-default-conflict @option no-default-conflict
@conflict jdk->=1.3,<1.4 @conflict jdk->=1.3,<1.4
${JDKHOME}/ ${JDKHOME}/
@ -815,7 +815,6 @@ ${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/serialver
${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/serialver_g ${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/serialver_g
${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/tnameserv ${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/tnameserv
${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/tnameserv_g ${JDKHOME}/jre/bin/${MACHINE_ARCH}/green_threads/tnameserv_g
@comment ${JDKHOME}/jre/bin/${MACHINE_ARCH}/native_threads/
${JDKHOME}/jre/bin/java ${JDKHOME}/jre/bin/java
${JDKHOME}/jre/bin/keytool ${JDKHOME}/jre/bin/keytool
${JDKHOME}/jre/bin/policytool ${JDKHOME}/jre/bin/policytool
@ -952,4 +951,3 @@ ${JDKHOME}/man/man1/
@man ${JDKHOME}/man/man1/serialver.1 @man ${JDKHOME}/man/man1/serialver.1
@man ${JDKHOME}/man/man1/tnameserv.1 @man ${JDKHOME}/man/man1/tnameserv.1
${JDKHOME}/src.jar ${JDKHOME}/src.jar
!%%no_plugin%%

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST-jre,v 1.4 2004/10/12 20:46:22 naddy Exp $ @comment $OpenBSD: PLIST-jre,v 1.5 2005/06/03 17:27:54 kurt Exp $
@option no-default-conflict @option no-default-conflict
@conflict jre->=1.3,<1.4 @conflict jre->=1.3,<1.4
${JREHOME}/ ${JREHOME}/
@ -35,7 +35,6 @@ ${JREHOME}/bin/${MACHINE_ARCH}/green_threads/rmid
${JREHOME}/bin/${MACHINE_ARCH}/green_threads/rmiregistry ${JREHOME}/bin/${MACHINE_ARCH}/green_threads/rmiregistry
${JREHOME}/bin/${MACHINE_ARCH}/green_threads/serialver ${JREHOME}/bin/${MACHINE_ARCH}/green_threads/serialver
${JREHOME}/bin/${MACHINE_ARCH}/green_threads/tnameserv ${JREHOME}/bin/${MACHINE_ARCH}/green_threads/tnameserv
@comment ${JREHOME}/bin/${MACHINE_ARCH}/native_threads/
${JREHOME}/bin/java ${JREHOME}/bin/java
${JREHOME}/bin/keytool ${JREHOME}/bin/keytool
${JREHOME}/bin/policytool ${JREHOME}/bin/policytool
@ -130,4 +129,3 @@ ${JREHOME}/man/man1/
@man ${JREHOME}/man/man1/rmiregistry.1 @man ${JREHOME}/man/man1/rmiregistry.1
@man ${JREHOME}/man/man1/tnameserv.1 @man ${JREHOME}/man/man1/tnameserv.1
${JREHOME}/plugin/ ${JREHOME}/plugin/
!%%no_plugin%%

View File

@ -1,163 +0,0 @@
# $OpenBSD: systrace.policy,v 1.1 2005/02/20 11:18:55 sturm Exp $
Policy: ${LOCALBASE}/jdk1.3.1-linux/bin/i386/green_threads/jar, Emulation: linux
linux-brk: permit
linux-close: permit
linux-exit: permit
linux-fcntl64: permit
linux-fsread: true then permit
linux-fstat64: permit
linux-fswrite: filename match "${WRKDIR}" then permit
linux-fswrite: filename match "/tmp" then permit
linux-getcwd: permit
linux-getdents64: permit
linux-getegid: permit
linux-geteuid: permit
linux-getgid: permit
linux-getpid: permit
linux-getrlimit: permit
linux-gettimeofday: permit
linux-getuid: permit
linux-ioctl: permit
linux-llseek: permit
linux-lstat64: permit
linux-mmap: permit
linux-mprotect: permit
linux-mremap: permit
linux-munmap: permit
linux-read: permit
linux-rt_sigaction: permit
linux-rt_sigprocmask: permit
linux-setrlimit: permit
linux-socketcall: permit
linux-stat64: permit
linux-time: permit
linux-uname: permit
linux-write: permit
linux-writev: permit
Policy: ${LOCALBASE}/jdk1.3.1-linux/bin/i386/green_threads/java, Emulation: linux
linux-brk: permit
linux-close: permit
linux-exit: permit
linux-fcntl64: permit
linux-fsread: true then permit
linux-fstat64: permit
linux-fswrite: filename match "${WRKDIR}" then permit
linux-fswrite: filename match "/tmp" then permit
linux-getcwd: permit
linux-getdents64: permit
linux-getegid: permit
linux-geteuid: permit
linux-getgid: permit
linux-getpid: permit
linux-getrlimit: permit
linux-gettimeofday: permit
linux-getuid: permit
linux-ioctl: permit
linux-llseek: permit
linux-lstat64: permit
linux-mmap: permit
linux-mprotect: permit
linux-munmap: permit
linux-read: permit
linux-rt_sigaction: permit
linux-rt_sigprocmask: permit
linux-setrlimit: permit
linux-socketcall: permit
linux-stat64: permit
linux-time: permit
linux-uname: permit
linux-write: permit
linux-writev: permit
Policy: ${LOCALBASE}/jdk1.3.1-linux/bin/i386/green_threads/javac, Emulation: linux
linux-brk: permit
linux-close: permit
linux-exit: permit
linux-fcntl64: permit
linux-fsread: true then permit
linux-fstat64: permit
linux-fswrite: filename match "${WRKDIR}" then permit
linux-fswrite: filename match "/tmp" then permit
linux-getcwd: permit
linux-getdents64: permit
linux-getegid: permit
linux-geteuid: permit
linux-getgid: permit
linux-getpid: permit
linux-getrlimit: permit
linux-gettimeofday: permit
linux-getuid: permit
linux-ioctl: permit
linux-llseek: permit
linux-lstat64: permit
linux-mmap: permit
linux-mprotect: permit
linux-munmap: permit
linux-read: permit
linux-rt_sigaction: permit
linux-rt_sigprocmask: permit
linux-setrlimit: permit
linux-socketcall: permit
linux-stat64: permit
linux-time: permit
linux-uname: permit
linux-write: permit
linux-writev: permit
Policy: ${LOCALBASE}/jdk1.3.1-linux/bin/i386/green_threads/javah, Emulation: linux
linux-brk: permit
linux-close: permit
linux-exit: permit
linux-fcntl64: permit
linux-fsread: true then permit
linux-fstat64: permit
linux-fswrite: filename match "${WRKDIR}" then permit
linux-fswrite: filename match "/tmp" then permit
linux-getcwd: permit
linux-getdents64: permit
linux-getegid: permit
linux-geteuid: permit
linux-getgid: permit
linux-getpid: permit
linux-getrlimit: permit
linux-gettimeofday: permit
linux-getuid: permit
linux-ioctl: permit
linux-llseek: permit
linux-lstat64: permit
linux-mmap: permit
linux-mprotect: permit
linux-munmap: permit
linux-read: permit
linux-rt_sigaction: permit
linux-rt_sigprocmask: permit
linux-setrlimit: permit
linux-socketcall: permit
linux-stat64: permit
linux-time: permit
linux-uname: permit
linux-write: permit
linux-writev: permit
Policy: ${LOCALBASE}/jdk1.3.1-linux/jre/bin/i386/realpath, Emulation: linux
linux-brk: permit
linux-close: permit
linux-exit: permit
linux-fsread: true then permit
linux-fstat64: permit
linux-fswrite: filename match "${WRKDIR}" then permit
linux-fswrite: filename match "/tmp" then permit
linux-getegid: permit
linux-geteuid: permit
linux-getgid: permit
linux-getuid: permit
linux-lstat64: permit
linux-mmap: permit
linux-mremap: permit
linux-munmap: permit
linux-read: permit
linux-uname: permit
linux-write: permit
linux-writev: permit