Patch: fix __NO_MATH_INLINES botch, and move FirstThread.
Anthony Green
green@cygnus.com
Sun Mar 5 14:34:00 GMT 2000
My previous __NO_MATH_INLINES patch was botched. This patches fixes it.
It also moves FirstThread from java.lang to gnu.gcj.runtime. The plan
is to keep the java namespace clean.
I'm going to close PR libgcj/45.
AG
--
Anthony Green Red Hat
Sunnyvale, California
2000-03-08 Anthony Green <green@redhat.com>
* gcj/javaprims.h ("Java"): Remove FirstThread.
* configure.host: Fix __NO_MATH_INLNES botch.
* Makefile.in: Rebuilt.
* Makefile.am (nat_source_files): Move natFirstThread.cc.
(gnu/gcj/runtime/FirstThread.h): Moved.
(ordinary_java_source_files): Move FirstThread.java.
* prims.cc: Deal with FirstThread movement.
(JvRunMain): Ditto.
(_Jv_RunMain): Ditto.
* gnu/gcj/runtime/FirstThread.java: Moved from java/lang.
* gnu/gcj/runtime/natFirstThread.cc: Ditto.
Index: libjava/Makefile.am
===================================================================
RCS file: /cvs/java/libgcj/libjava/Makefile.am,v
retrieving revision 1.49
diff -p -r1.49 Makefile.am
*** Makefile.am 2000/03/02 20:25:19 1.49
--- Makefile.am 2000/03/05 22:10:16
*************** java/lang/ClassLoader.h: java/lang/Class
*** 215,221 ****
$(basename $<)
## Our internal main program needs to be able to create a FirstThread.
! java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
--- 215,221 ----
$(basename $<)
## Our internal main program needs to be able to create a FirstThread.
! gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.zip
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
*************** gnu/gcj/io/DefaultMimeTypes.java \
*** 521,526 ****
--- 521,527 ----
gnu/gcj/io/MimeTypes.java \
gnu/gcj/jni/NativeThread.java \
gnu/gcj/runtime/VMClassLoader.java \
+ gnu/gcj/runtime/FirstThread.java \
gnu/gcj/text/BaseBreakIterator.java \
gnu/gcj/text/CharacterBreakIterator.java \
gnu/gcj/text/LineBreakIterator.java \
*************** java/lang/Double.java \
*** 611,617 ****
java/lang/Error.java \
java/lang/Exception.java \
java/lang/ExceptionInInitializerError.java \
- java/lang/FirstThread.java \
java/lang/Float.java \
java/lang/IllegalAccessError.java \
java/lang/IllegalAccessException.java \
--- 612,617 ----
*************** gnu/gcj/convert/natInput_SJIS.cc \
*** 804,809 ****
--- 804,810 ----
gnu/gcj/convert/natOutput_EUCJIS.cc \
gnu/gcj/convert/natOutput_SJIS.cc \
gnu/gcj/jni/natNativeThread.cc \
+ gnu/gcj/runtime/natFirstThread.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
java/lang/natCharacter.cc \
*************** java/lang/natClass.cc \
*** 811,817 ****
java/lang/natClassLoader.cc \
java/lang/natConcreteProcess.cc \
java/lang/natDouble.cc \
- java/lang/natFirstThread.cc \
java/lang/natFloat.cc \
java/lang/natMath.cc \
java/lang/natObject.cc \
--- 812,817 ----
Index: libjava/Makefile.in
===================================================================
RCS file: /cvs/java/libgcj/libjava/Makefile.in,v
retrieving revision 1.53
diff -p -r1.53 Makefile.in
*** Makefile.in 2000/03/02 20:25:19 1.53
--- Makefile.in 2000/03/05 22:10:17
*************** GCINCS = @GCINCS@
*** 82,89 ****
--- 82,91 ----
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+ GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+ LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
*************** ZDEPS = @ZDEPS@
*** 107,112 ****
--- 109,115 ----
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
*************** gnu/gcj/io/DefaultMimeTypes.java \
*** 330,335 ****
--- 333,339 ----
gnu/gcj/io/MimeTypes.java \
gnu/gcj/jni/NativeThread.java \
gnu/gcj/runtime/VMClassLoader.java \
+ gnu/gcj/runtime/FirstThread.java \
gnu/gcj/text/BaseBreakIterator.java \
gnu/gcj/text/CharacterBreakIterator.java \
gnu/gcj/text/LineBreakIterator.java \
*************** java/lang/Double.java \
*** 420,426 ****
java/lang/Error.java \
java/lang/Exception.java \
java/lang/ExceptionInInitializerError.java \
- java/lang/FirstThread.java \
java/lang/Float.java \
java/lang/IllegalAccessError.java \
java/lang/IllegalAccessException.java \
--- 424,429 ----
*************** gnu/gcj/convert/natInput_SJIS.cc \
*** 613,618 ****
--- 616,622 ----
gnu/gcj/convert/natOutput_EUCJIS.cc \
gnu/gcj/convert/natOutput_SJIS.cc \
gnu/gcj/jni/natNativeThread.cc \
+ gnu/gcj/runtime/natFirstThread.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
java/lang/natCharacter.cc \
*************** java/lang/natClass.cc \
*** 620,626 ****
java/lang/natClassLoader.cc \
java/lang/natConcreteProcess.cc \
java/lang/natDouble.cc \
- java/lang/natFirstThread.cc \
java/lang/natFloat.cc \
java/lang/natMath.cc \
java/lang/natObject.cc \
--- 624,629 ----
*************** cygnus_hack =
*** 697,703 ****
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = ./include/config.h
! CONFIG_CLEAN_FILES = libgcj.spec
LIBRARIES = $(toolexeclib_LIBRARIES)
--- 700,706 ----
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = ./include/config.h
! CONFIG_CLEAN_FILES = libgcj.spec libgcj-test.spec
LIBRARIES = $(toolexeclib_LIBRARIES)
*************** LINK = $(LIBTOOL) --mode=link $(CCLD) $(
*** 733,744 ****
DATA = $(data_DATA) $(toolexeclib_DATA)
DIST_COMMON = README COPYING.LIB ChangeLog Makefile.am Makefile.in NEWS \
! THANKS acinclude.m4 aclocal.m4 configure configure.in libgcj.spec.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = tar
GZIP_ENV = --best
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
--- 736,748 ----
DATA = $(data_DATA) $(toolexeclib_DATA)
DIST_COMMON = README COPYING.LIB ChangeLog Makefile.am Makefile.in NEWS \
! THANKS acinclude.m4 aclocal.m4 configure configure.in \
! libgcj-test.spec.in libgcj.spec.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = gtar
GZIP_ENV = --best
DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
*************** DEP_FILES = .deps/$(srcdir)/$(CONVERT_D
*** 764,769 ****
--- 768,774 ----
.deps/gnu/gcj/protocol/http/Handler.P \
.deps/gnu/gcj/protocol/jar/Connection.P \
.deps/gnu/gcj/protocol/jar/Handler.P \
+ .deps/gnu/gcj/runtime/FirstThread.P \
.deps/gnu/gcj/runtime/VMClassLoader.P \
.deps/gnu/gcj/text/BaseBreakIterator.P \
.deps/gnu/gcj/text/CharacterBreakIterator.P \
*************** DEP_FILES = .deps/$(srcdir)/$(CONVERT_D
*** 816,823 ****
.deps/java/lang/Compiler.P .deps/java/lang/ConcreteProcess.P \
.deps/java/lang/Double.P .deps/java/lang/Error.P \
.deps/java/lang/Exception.P \
! .deps/java/lang/ExceptionInInitializerError.P \
! .deps/java/lang/FirstThread.P .deps/java/lang/Float.P \
.deps/java/lang/IllegalAccessError.P \
.deps/java/lang/IllegalAccessException.P \
.deps/java/lang/IllegalArgumentException.P \
--- 821,827 ----
.deps/java/lang/Compiler.P .deps/java/lang/ConcreteProcess.P \
.deps/java/lang/Double.P .deps/java/lang/Error.P \
.deps/java/lang/Exception.P \
! .deps/java/lang/ExceptionInInitializerError.P .deps/java/lang/Float.P \
.deps/java/lang/IllegalAccessError.P \
.deps/java/lang/IllegalAccessException.P \
.deps/java/lang/IllegalArgumentException.P \
*************** $(srcdir)/configure: @MAINTAINER_MODE_TR
*** 961,966 ****
--- 965,972 ----
cd $(srcdir) && $(AUTOCONF)
libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+ libgcj-test.spec: $(top_builddir)/config.status libgcj-test.spec.in
+ cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-toolexeclibLIBRARIES:
*************** distdir: $(DISTFILES)
*** 1282,1288 ****
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
--- 1288,1294 ----
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
*************** java/lang/ClassLoader.h: java/lang/Class
*** 1512,1518 ****
-friend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \
$(basename $<)
! java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
--- 1518,1524 ----
-friend 'jclass _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader);' \
$(basename $<)
! gnu/gcj/runtime/FirstThread.h: gnu/gcj/runtime/FirstThread.class libgcj.zip
$(GCJH) -classpath $(top_builddir) \
-friend 'void JvRunMain (jclass, int, const char **);' \
-friend 'void _Jv_RunMain (const char*, int, const char **);' \
Index: libjava/configure.host
===================================================================
RCS file: /cvs/java/libgcj/libjava/configure.host,v
retrieving revision 1.9
diff -p -r1.9 configure.host
*** configure.host 2000/03/05 08:32:51 1.9
--- configure.host 2000/03/05 22:10:17
*************** case "${host}" in
*** 58,65 ****
enable_getenv_properties_default=no
;;
i686-*|i586-*|i486-*|i386-*)
! libgcj_flags="${libgcj_flags} -ffloat-store -D__NO_MATH_INLINES"
libgcj_interpreter=yes
DIVIDESPEC=-fno-use-divide-subroutine
;;
sparc-*)
--- 58,67 ----
enable_getenv_properties_default=no
;;
i686-*|i586-*|i486-*|i386-*)
! libgcj_flags="${libgcj_flags} -ffloat-store"
libgcj_interpreter=yes
+ libgcj_cxxflags="-D__NO_MATH_INLINES"
+ libgcj_cflags="-D__NO_MATH_INLINES"
DIVIDESPEC=-fno-use-divide-subroutine
;;
sparc-*)
Index: libjava/prims.cc
===================================================================
RCS file: /cvs/java/libgcj/libjava/prims.cc,v
retrieving revision 1.20
diff -p -r1.20 prims.cc
*** prims.cc 2000/02/01 06:14:25 1.20
--- prims.cc 2000/03/05 22:10:21
*************** details. */
*** 38,44 ****
#include <java/lang/String.h>
#include <java/lang/Thread.h>
#include <java/lang/ThreadGroup.h>
! #include <java/lang/FirstThread.h>
#include <java/lang/ArrayIndexOutOfBoundsException.h>
#include <java/lang/ArithmeticException.h>
#include <java/lang/ClassFormatError.h>
--- 38,44 ----
#include <java/lang/String.h>
#include <java/lang/Thread.h>
#include <java/lang/ThreadGroup.h>
! #include <gnu/gcj/runtime/FirstThread.h>
#include <java/lang/ArrayIndexOutOfBoundsException.h>
#include <java/lang/ArithmeticException.h>
#include <java/lang/ClassFormatError.h>
*************** JvRunMain (jclass klass, int argc, const
*** 850,856 ****
arg_vec = JvConvertArgv (argc - 1, argv + 1);
main_group = new java::lang::ThreadGroup (23);
! main_thread = new java::lang::FirstThread (main_group, klass, arg_vec);
main_thread->start();
_Jv_ThreadWait ();
--- 850,857 ----
arg_vec = JvConvertArgv (argc - 1, argv + 1);
main_group = new java::lang::ThreadGroup (23);
! main_thread = new gnu::gcj::runtime::FirstThread (main_group,
! klass, arg_vec);
main_thread->start();
_Jv_ThreadWait ();
*************** _Jv_RunMain (const char *class_name, int
*** 873,881 ****
arg_vec = JvConvertArgv (argc - 1, argv + 1);
main_group = new java::lang::ThreadGroup (23);
! main_thread = new java::lang::FirstThread (main_group,
! JvNewStringLatin1 (class_name),
! arg_vec);
main_thread->start();
_Jv_ThreadWait ();
--- 874,882 ----
arg_vec = JvConvertArgv (argc - 1, argv + 1);
main_group = new java::lang::ThreadGroup (23);
! main_thread = new gnu::gcj::runtime::FirstThread (main_group,
! JvNewStringLatin1 (class_name),
! arg_vec);
main_thread->start();
_Jv_ThreadWait ();
Index: libjava/gcj/Makefile.in
===================================================================
RCS file: /cvs/java/libgcj/libjava/gcj/Makefile.in,v
retrieving revision 1.4
diff -p -r1.4 Makefile.in
*** Makefile.in 2000/01/17 19:22:20 1.4
--- Makefile.in 2000/03/05 22:10:22
*************** GCINCS = @GCINCS@
*** 83,90 ****
--- 83,92 ----
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+ GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+ LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
*************** ZDEPS = @ZDEPS@
*** 108,113 ****
--- 110,116 ----
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
*************** DIST_COMMON = Makefile.am Makefile.in
*** 125,131 ****
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
--- 128,134 ----
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
*************** distdir: $(DISTFILES)
*** 194,200 ****
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
--- 197,203 ----
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
Index: libjava/include/Makefile.in
===================================================================
RCS file: /cvs/java/libgcj/libjava/include/Makefile.in,v
retrieving revision 1.4
diff -p -r1.4 Makefile.in
*** Makefile.in 2000/01/17 19:22:20 1.4
--- Makefile.in 2000/03/05 22:10:22
*************** GCINCS = @GCINCS@
*** 83,90 ****
--- 83,92 ----
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+ GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+ LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
*************** ZDEPS = @ZDEPS@
*** 108,113 ****
--- 110,116 ----
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
*************** DIST_COMMON = ./stamp-h.in Makefile.am
*** 120,126 ****
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
--- 123,129 ----
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
*************** distdir: $(DISTFILES)
*** 176,182 ****
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
--- 179,185 ----
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
Index: libjava/testsuite/Makefile.in
===================================================================
RCS file: /cvs/java/libgcj/libjava/testsuite/Makefile.in,v
retrieving revision 1.16
diff -p -r1.16 Makefile.in
*** Makefile.in 2000/01/17 19:22:20 1.16
--- Makefile.in 2000/03/05 22:10:22
*************** GCINCS = @GCINCS@
*** 83,90 ****
--- 83,92 ----
GCLIBS = @GCLIBS@
GCOBJS = @GCOBJS@
GCSPEC = @GCSPEC@
+ GCTESTSPEC = @GCTESTSPEC@
INCLTDL = @INCLTDL@
LIBDATASTARTSPEC = @LIBDATASTARTSPEC@
+ LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
*************** ZDEPS = @ZDEPS@
*** 108,113 ****
--- 110,116 ----
ZINCS = @ZINCS@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
+ ZLIBTESTSPEC = @ZLIBTESTSPEC@
here = @here@
libgcj_basedir = @libgcj_basedir@
*************** DIST_COMMON = ChangeLog Makefile.am Mak
*** 133,139 ****
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
--- 136,142 ----
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
! TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
*************** distdir: $(DISTFILES)
*** 161,167 ****
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
--- 164,170 ----
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
! cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
Index: libjava/gcj/javaprims.h
===================================================================
RCS file: /cvs/java/libgcj/libjava/gcj/javaprims.h,v
retrieving revision 1.4
diff -p -r1.4 javaprims.h
*** javaprims.h 2000/01/19 18:39:24 1.4
--- javaprims.h 2000/03/05 22:29:55
*************** extern "Java"
*** 119,125 ****
class Error;
class Exception;
class ExceptionInInitializerError;
- class FirstThread;
class Float;
class IllegalAccessError;
class IllegalAccessException;
--- 119,124 ----
More information about the Java-patches
mailing list