From dc9f8d59effacbdd8d1193cf000393dd8561206b Mon Sep 17 00:00:00 2001
From: green <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 10 Aug 1999 05:32:23 +0000
Subject: [PATCH] Mon Aug  9 18:33:38 1999  Rainer Orth 
 <ro@TechFak.Uni-Bielefeld.DE>

        * Makefile: Rebuilt.
	* Makefile.am (toolexeclibdir): Add $(MULTISUBDIR) even for native
	builds.

	* java/net/natPlainSocketImpl.cc: Include <sys/select.h> only if
	present.

	* configure: Rebuilt.
	* configure.in: Properly align --help output, fix capitalization
	and punctuation.
	* acinclude.m4: Likewise.

1999-08-09  Kresten Krab Thorup  <krab@gnu.org>

	* include/javaprims.h (_Jv_word, _Jv_word2): New types.

	* include/java-interp.h (_Jv_InterpMethodInvocation): Use _Jv_word.
	(_Jv_callInterpretedMethod): Unused. Remove.
	(_Jv_InterpMethod::run,run_normal,run_synch_object,run_synch_class):
	Use ffi_raw.
	* include/java-cpool.h (_Jv_get, _Jv_put): Remove.
	(_Jv_{store,load}{Indexes,Int,Float,Long,Double}): Use _Jv_word.
	* boehm.cc (_Jv_MarkObj): Use _Jv_word.
	* interpret.cc: use _Jv_word.
	* defineclass.cc: use_Jv_word.
	* resolve.cc: Use _Jv_word.
	(_Jv_ResolvePoolEntry): Return _Jv_word.
	* java/lang/Class.h (_Jv_Constants): Use _Jv_word for cpool.
	* java/lang/natClassLoader.cc (_Jv_InternClassStrings): Use _Jv_word.

	* interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1):
	Change comment.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28641 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libjava/ChangeLog                      |  36 +++
 libjava/Makefile.am                    |   2 +-
 libjava/Makefile.in                    |   2 +-
 libjava/THANKS                         |   2 +-
 libjava/acinclude.m4                   |   2 +-
 libjava/boehm.cc                       |   3 +-
 libjava/configure                      | 414 +++++++++++++------------
 libjava/configure.in                   |  19 +-
 libjava/defineclass.cc                 |  56 ++--
 libjava/include/java-cpool.h           | 128 +++-----
 libjava/include/java-interp.h          |  21 +-
 libjava/include/javaprims.h            |  21 ++
 libjava/interpret.cc                   | 169 +++++-----
 libjava/java/lang/Class.h              |   4 +-
 libjava/java/lang/natClassLoader.cc    |   4 +-
 libjava/java/net/natPlainSocketImpl.cc |   2 +
 libjava/resolve.cc                     |  50 ++-
 17 files changed, 471 insertions(+), 464 deletions(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 13d1400c91a3..9b04792a1e58 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,41 @@
 Mon Aug  9 18:33:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
+        * Makefile: Rebuilt.
+	* Makefile.am (toolexeclibdir): Add $(MULTISUBDIR) even for native
+	builds.
+
+	* java/net/natPlainSocketImpl.cc: Include <sys/select.h> only if
+	present.
+
+	* configure: Rebuilt.
+	* configure.in: Properly align --help output, fix capitalization
+	and punctuation.
+	* acinclude.m4: Likewise.
+
+1999-08-09  Kresten Krab Thorup  <krab@gnu.org>
+
+	* include/javaprims.h (_Jv_word, _Jv_word2): New types.
+
+	* include/java-interp.h (_Jv_InterpMethodInvocation): Use _Jv_word.
+	(_Jv_callInterpretedMethod): Unused. Remove.
+	(_Jv_InterpMethod::run,run_normal,run_synch_object,run_synch_class):
+	Use ffi_raw.
+	* include/java-cpool.h (_Jv_get, _Jv_put): Remove.
+	(_Jv_{store,load}{Indexes,Int,Float,Long,Double}): Use _Jv_word.
+	* boehm.cc (_Jv_MarkObj): Use _Jv_word.
+	* interpret.cc: use _Jv_word.
+	* defineclass.cc: use_Jv_word.
+	* resolve.cc: Use _Jv_word.
+	(_Jv_ResolvePoolEntry): Return _Jv_word.
+	* java/lang/Class.h (_Jv_Constants): Use _Jv_word for cpool.
+	* java/lang/natClassLoader.cc (_Jv_InternClassStrings): Use _Jv_word.
+
+	* interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1): 
+	Change comment.
+
+Mon Aug  9 18:33:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	* configure: Rebuilt.
 	* configure.in (sched_yield): Try librt first, then libposix4.
 	Add -lrt, -lposix4 to THREADSPEC.
 
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 83217c894923..ce6c32ee8eb9 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -15,7 +15,7 @@ endif
 ## Install a library built with a cross compiler in tooldir, not
 ## libdir.
 if USE_LIBDIR
-toolexeclibdir = $(libdir)
+toolexeclibdir = $(libdir)$(MULTISUBDIR)
 else
 toolexecdir = $(exec_prefix)/$(target_alias)
 toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index c03c3223311b..d0c1ab25ae04 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -110,7 +110,7 @@ AUTOMAKE_OPTIONS = foreign no-installinfo
 @TESTSUBDIR_TRUE@SUBDIRS = \
 @TESTSUBDIR_TRUE@testsuite
 @USE_LIBDIR_TRUE@toolexeclibdir = \
-@USE_LIBDIR_TRUE@$(libdir)
+@USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
 @USE_LIBDIR_FALSE@toolexeclibdir = \
 @USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
 @USE_LIBDIR_FALSE@toolexecdir = \
diff --git a/libjava/THANKS b/libjava/THANKS
index 5b9b9f8cf076..1a75a6d5e57e 100644
--- a/libjava/THANKS
+++ b/libjava/THANKS
@@ -13,7 +13,7 @@ Gilles Zunino		Gilles.Zunino@hei.fr
 Kresten Krab Thorup	krab@gnu.org
 Per Bothner		per@bothner.com
 Rainer Orth		ro@TechFak.Uni-Bielefeld.DE
-Stu Grossman		grossman@juniper.com
+Stu Grossman		grossman@juniper.net
 Tom Tromey		tromey@cygnus.com
 Urban Widmark		urban@svenskatest.se
 Warren Levy		warrenl@cygnus.com
diff --git a/libjava/acinclude.m4 b/libjava/acinclude.m4
index ff8513458a41..1b7186a8d19a 100644
--- a/libjava/acinclude.m4
+++ b/libjava/acinclude.m4
@@ -8,7 +8,7 @@ AC_DEFUN(LIBGCJ_CONFIGURE,
 [
 dnl Default to --enable-multilib
 AC_ARG_ENABLE(multilib,
-[  --enable-multilib         build many library versions (default)],
+[  --enable-multilib       build many library versions (default)],
 [case "${enableval}" in
   yes) multilib=yes ;;
   no)  multilib=no ;;
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
index 2e1b5f23cf79..f73bf868017c 100644
--- a/libjava/boehm.cc
+++ b/libjava/boehm.cc
@@ -112,7 +112,8 @@ _Jv_MarkObj (void *addr, void *msp, void *msl, void * /*env*/)
       MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c4label);
       for (int i = 0; i < c->constants.size; ++i)
 	{
-	  w = (word) c->constants.data[i];
+	  /* FIXME: We could make this more precise by using the tags -KKT */
+	  w = (word) c->constants.data[i].p;
 	  MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c5label);
 	}
 
diff --git a/libjava/configure b/libjava/configure
index e7c7df89b86e..39914da96e96 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -12,9 +12,10 @@ ac_help=
 ac_default_prefix=/usr/local
 # Any additions from configure.in:
 ac_help="$ac_help
-  --with-target-subdir=SUBDIR      Configuring in a subdirectory"
+  --with-target-subdir=SUBDIR
+                          configuring in a subdirectory"
 ac_help="$ac_help
-  --with-cross-host=HOST           Configuring with a cross compiler"
+  --with-cross-host=HOST  configuring with a cross compiler"
 ac_help="$ac_help
   --enable-multilib         build many library versions (default)"
 ac_help="$ac_help
@@ -31,19 +32,19 @@ ac_help="$ac_help
 ac_help="$ac_help
   --disable-libtool-lock  avoid locking (might break parallel builds)"
 ac_help="$ac_help
-  --enable-fast-character          Prefer speed over size for Character"
+  --enable-fast-character prefer speed over size for Character"
 ac_help="$ac_help
-  --enable-libgcj-debug           Enable runtime debugging code"
+  --enable-libgcj-debug   enable runtime debugging code"
 ac_help="$ac_help
-  --enable-interpreter            Enable interpreter"
+  --enable-interpreter    enable interpreter"
 ac_help="$ac_help
-  --with-ecos      Enable runtime eCos target support."
+  --with-ecos             enable runtime eCos target support"
 ac_help="$ac_help
-  --with-system-zlib               Use installed libz"
+  --with-system-zlib      use installed libz"
 ac_help="$ac_help
-  --enable-java-gc=TYPE    choose garbage collector [boehm]"
+  --enable-java-gc=TYPE   choose garbage collector [boehm]"
 ac_help="$ac_help
-  --enable-threads=TYPE    choose threading package"
+  --enable-threads=TYPE   choose threading package"
 
 # Initialize some variables set by options.
 # The variables have the same names as the options, with
@@ -61,6 +62,7 @@ program_suffix=NONE
 program_transform_name=s,x,x,
 silent=
 site=
+sitefile=
 srcdir=
 target=NONE
 verbose=
@@ -175,6 +177,7 @@ Configuration:
   --help                  print this message
   --no-create             do not create output files
   --quiet, --silent       do not print \`checking...' messages
+  --site-file=FILE        use FILE as the site file
   --version               print the version of autoconf that created configure
 Directory and file names:
   --prefix=PREFIX         install architecture-independent files in PREFIX
@@ -345,6 +348,11 @@ EOF
   -site=* | --site=* | --sit=*)
     site="$ac_optarg" ;;
 
+  -site-file | --site-file | --site-fil | --site-fi | --site-f)
+    ac_prev=sitefile ;;
+  -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+    sitefile="$ac_optarg" ;;
+
   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
     ac_prev=srcdir ;;
   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -510,12 +518,16 @@ fi
 srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
 
 # Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+if test -z "$sitefile"; then
+  if test -z "$CONFIG_SITE"; then
+    if test "x$prefix" != xNONE; then
+      CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+    else
+      CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+    fi
   fi
+else
+  CONFIG_SITE="$sitefile"
 fi
 for ac_site_file in $CONFIG_SITE; do
   if test -r "$ac_site_file"; then
@@ -603,7 +615,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:607: checking host system type" >&5
+echo "configure:619: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -624,7 +636,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
 echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:628: checking target system type" >&5
+echo "configure:640: checking target system type" >&5
 
 target_alias=$target
 case "$target_alias" in
@@ -642,7 +654,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$target" 1>&6
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:646: checking build system type" >&5
+echo "configure:658: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -690,7 +702,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:694: checking for a BSD compatible install" >&5
+echo "configure:706: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -743,7 +755,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:747: checking whether build environment is sane" >&5
+echo "configure:759: checking whether build environment is sane" >&5
 # Just in case
 sleep 1
 echo timestamp > conftestfile
@@ -800,7 +812,7 @@ test "$program_suffix" != NONE &&
 test "$program_transform_name" = "" && program_transform_name="s,x,x,"
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:804: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:816: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -833,12 +845,12 @@ else
 fi
 
 echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:837: checking for Cygwin environment" >&5
+echo "configure:849: checking for Cygwin environment" >&5
 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 842 "configure"
+#line 854 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -849,7 +861,7 @@ int main() {
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:853: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:865: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -866,19 +878,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
 CYGWIN=
 test "$ac_cv_cygwin" = yes && CYGWIN=yes
 echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:870: checking for mingw32 environment" >&5
+echo "configure:882: checking for mingw32 environment" >&5
 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 875 "configure"
+#line 887 "configure"
 #include "confdefs.h"
 
 int main() {
 return __MINGW32__;
 ; return 0; }
 EOF
-if { (eval echo configure:882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_mingw32=yes
 else
@@ -926,7 +938,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:930: checking host system type" >&5
+echo "configure:942: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -968,7 +980,7 @@ EOF
 
 missing_dir=`cd $ac_aux_dir && pwd`
 echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:972: checking for working aclocal" >&5
+echo "configure:984: checking for working aclocal" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -981,7 +993,7 @@ else
 fi
 
 echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:985: checking for working autoconf" >&5
+echo "configure:997: checking for working autoconf" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -994,7 +1006,7 @@ else
 fi
 
 echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:998: checking for working automake" >&5
+echo "configure:1010: checking for working automake" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -1007,7 +1019,7 @@ else
 fi
 
 echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:1011: checking for working autoheader" >&5
+echo "configure:1023: checking for working autoheader" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -1020,7 +1032,7 @@ else
 fi
 
 echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1024: checking for working makeinfo" >&5
+echo "configure:1036: checking for working makeinfo" >&5
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
@@ -1045,7 +1057,7 @@ fi
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1049: checking for $ac_word" >&5
+echo "configure:1061: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1075,7 +1087,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1079: checking for $ac_word" >&5
+echo "configure:1091: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1124,7 +1136,7 @@ fi
 fi
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1128: checking whether we are using GNU C" >&5
+echo "configure:1140: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1133,7 +1145,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1137: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1149: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1148,7 +1160,7 @@ if test $ac_cv_prog_gcc = yes; then
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1152: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1164: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1184,7 +1196,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1188: checking for $ac_word" >&5
+echo "configure:1200: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1217,7 +1229,7 @@ test -n "$CXX" || CXX="gcc"
 test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1221: checking whether we are using GNU C++" >&5
+echo "configure:1233: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1226,7 +1238,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -1241,7 +1253,7 @@ if test $ac_cv_prog_gxx = yes; then
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1245: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1257: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1274,7 +1286,7 @@ fi
 # LIBGCJ_CONFIGURE, which doesn't work because that means that it will
 # be run before AC_CANONICAL_HOST.
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1278: checking build system type" >&5
+echo "configure:1290: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -1295,7 +1307,7 @@ echo "$ac_t""$build" 1>&6
 # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
 set dummy ${ac_tool_prefix}as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1299: checking for $ac_word" >&5
+echo "configure:1311: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1327,7 +1339,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1331: checking for $ac_word" >&5
+echo "configure:1343: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1359,7 +1371,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1363: checking for $ac_word" >&5
+echo "configure:1375: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1391,7 +1403,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1395: checking for $ac_word" >&5
+echo "configure:1407: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1436,7 +1448,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1440: checking for a BSD compatible install" >&5
+echo "configure:1452: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1490,7 +1502,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:1494: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:1506: checking whether to enable maintainer-specific portions of Makefiles" >&5
     # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
@@ -1524,7 +1536,7 @@ if false; then
   
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1528: checking for executable suffix" >&5
+echo "configure:1540: checking for executable suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1534,7 +1546,7 @@ else
   rm -f conftest*
   echo 'int main () { return 0; }' > conftest.$ac_ext
   ac_cv_exeext=
-  if { (eval echo configure:1538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  if { (eval echo configure:1550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
       *.c | *.o | *.obj | *.ilk | *.pdb) ;;
@@ -1656,7 +1668,7 @@ fi
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1660: checking for $ac_word" >&5
+echo "configure:1672: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1686,7 +1698,7 @@ fi
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1690: checking for $ac_word" >&5
+echo "configure:1702: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1716,7 +1728,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1720: checking for $ac_word" >&5
+echo "configure:1732: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1767,7 +1779,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1771: checking for $ac_word" >&5
+echo "configure:1783: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1799,7 +1811,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1803: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1815: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1810,12 +1822,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1814 "configure"
+#line 1826 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1841,12 +1853,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1845: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1857: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1850: checking whether we are using GNU C" >&5
+echo "configure:1862: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1855,7 +1867,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1859: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1871: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1874,7 +1886,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1878: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1890: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1917,7 +1929,7 @@ ac_prog=ld
 if test "$ac_cv_prog_gcc" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
   echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1921: checking for ld used by GCC" >&5
+echo "configure:1933: checking for ld used by GCC" >&5
   ac_prog=`($CC -print-prog-name=ld) 2>&5`
   case "$ac_prog" in
     # Accept absolute paths.
@@ -1941,10 +1953,10 @@ echo "configure:1921: checking for ld used by GCC" >&5
   esac
 elif test "$with_gnu_ld" = yes; then
   echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1945: checking for GNU ld" >&5
+echo "configure:1957: checking for GNU ld" >&5
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1948: checking for non-GNU ld" >&5
+echo "configure:1960: checking for non-GNU ld" >&5
 fi
 if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1980,7 +1992,7 @@ fi
 test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
 
 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1984: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:1996: checking if the linker ($LD) is GNU ld" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1996,7 +2008,7 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
 
 
 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:2000: checking for BSD-compatible nm" >&5
+echo "configure:2012: checking for BSD-compatible nm" >&5
 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2033,7 +2045,7 @@ echo "$ac_t""$NM" 1>&6
 
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:2037: checking whether ln -s works" >&5
+echo "configure:2049: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2077,8 +2089,8 @@ test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
 case "$host" in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 2081 "configure"' > conftest.$ac_ext
-  if { (eval echo configure:2082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  echo '#line 2093 "configure"' > conftest.$ac_ext
+  if { (eval echo configure:2094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     case "`/usr/bin/file conftest.o`" in
     *32-bit*)
       LD="${LD-ld} -32"
@@ -2099,19 +2111,19 @@ case "$host" in
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
   echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2103: checking whether the C compiler needs -belf" >&5
+echo "configure:2115: checking whether the C compiler needs -belf" >&5
 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2108 "configure"
+#line 2120 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   lt_cv_cc_needs_belf=yes
 else
@@ -2295,7 +2307,7 @@ EOF
 esac
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2299: checking how to run the C preprocessor" >&5
+echo "configure:2311: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -2310,13 +2322,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 2314 "configure"
+#line 2326 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2320: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2332: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2327,13 +2339,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 2331 "configure"
+#line 2343 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2344,13 +2356,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 2348 "configure"
+#line 2360 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2366: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2375,7 +2387,7 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 cat > conftest.$ac_ext <<EOF
-#line 2379 "configure"
+#line 2391 "configure"
 #include "confdefs.h"
 #include <stdint.h>
 EOF
@@ -2390,7 +2402,7 @@ fi
 rm -f conftest*
 
 cat > conftest.$ac_ext <<EOF
-#line 2394 "configure"
+#line 2406 "configure"
 #include "confdefs.h"
 #include <inttypes.h>
 EOF
@@ -2405,7 +2417,7 @@ fi
 rm -f conftest*
 
 cat > conftest.$ac_ext <<EOF
-#line 2409 "configure"
+#line 2421 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -2420,7 +2432,7 @@ fi
 rm -f conftest*
 
 cat > conftest.$ac_ext <<EOF
-#line 2424 "configure"
+#line 2436 "configure"
 #include "confdefs.h"
 #include <sys/config.h>
 EOF
@@ -2437,7 +2449,7 @@ rm -f conftest*
 
 
 cat > conftest.$ac_ext <<EOF
-#line 2441 "configure"
+#line 2453 "configure"
 #include "confdefs.h"
 #include <time.h>
 EOF
@@ -2452,7 +2464,7 @@ fi
 rm -f conftest*
 
 cat > conftest.$ac_ext <<EOF
-#line 2456 "configure"
+#line 2468 "configure"
 #include "confdefs.h"
 #include <time.h>
 EOF
@@ -2490,7 +2502,7 @@ ZLIBSPEC=
 libsubdir=.libs
 
 echo $ac_n "checking for garbage collector to use""... $ac_c" 1>&6
-echo "configure:2494: checking for garbage collector to use" >&5
+echo "configure:2506: checking for garbage collector to use" >&5
 # Check whether --enable-java-gc or --disable-java-gc was given.
 if test "${enable_java_gc+set}" = set; then
   enableval="$enable_java_gc"
@@ -2540,7 +2552,7 @@ esac
 
 
 echo $ac_n "checking for threads package to use""... $ac_c" 1>&6
-echo "configure:2544: checking for threads package to use" >&5
+echo "configure:2556: checking for threads package to use" >&5
 # Check whether --enable-threads or --disable-threads was given.
 if test "${enable_threads+set}" = set; then
   enableval="$enable_threads"
@@ -2732,12 +2744,12 @@ else
    for ac_func in strerror ioctl select open fsync sleep
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2736: checking for $ac_func" >&5
+echo "configure:2748: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2741 "configure"
+#line 2753 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2760,7 +2772,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2787,12 +2799,12 @@ done
    for ac_func in ctime_r ctime
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2791: checking for $ac_func" >&5
+echo "configure:2803: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2796 "configure"
+#line 2808 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2815,7 +2827,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2842,12 +2854,12 @@ done
    for ac_func in gmtime_r localtime_r readdir_r getpwuid_r
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2846: checking for $ac_func" >&5
+echo "configure:2858: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2851 "configure"
+#line 2863 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2870,7 +2882,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2897,12 +2909,12 @@ done
    for ac_func in access stat mkdir rename rmdir unlink realpath
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2901: checking for $ac_func" >&5
+echo "configure:2913: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2906 "configure"
+#line 2918 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2925,7 +2937,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2952,12 +2964,12 @@ done
    for ac_func in inet_aton inet_addr
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2956: checking for $ac_func" >&5
+echo "configure:2968: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2961 "configure"
+#line 2973 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2980,7 +2992,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3007,12 +3019,12 @@ done
    for ac_func in inet_pton uname inet_ntoa
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3011: checking for $ac_func" >&5
+echo "configure:3023: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3016 "configure"
+#line 3028 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3035,7 +3047,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3063,12 +3075,12 @@ done
    for ac_func in gethostbyname_r
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3067: checking for $ac_func" >&5
+echo "configure:3079: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3072 "configure"
+#line 3084 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3091,7 +3103,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3118,7 +3130,7 @@ EOF
      # We look for the one that returns `int'.
      # Hopefully this check is robust enough.
      cat > conftest.$ac_ext <<EOF
-#line 3122 "configure"
+#line 3134 "configure"
 #include "confdefs.h"
 #include <netdb.h>
 EOF
@@ -3138,7 +3150,7 @@ rm -f conftest*
      *" -D_REENTRANT "*) ;;
      *)
 		echo $ac_n "checking whether gethostbyname_r declaration requires -D_REENTRANT""... $ac_c" 1>&6
-echo "configure:3142: checking whether gethostbyname_r declaration requires -D_REENTRANT" >&5
+echo "configure:3154: checking whether gethostbyname_r declaration requires -D_REENTRANT" >&5
 if eval "test \"`echo '$''{'libjava_cv_gethostbyname_r_needs_reentrant'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3151,14 +3163,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
 	  cat > conftest.$ac_ext <<EOF
-#line 3155 "configure"
+#line 3167 "configure"
 #include "confdefs.h"
 #include <netdb.h>
 int main() {
 gethostbyname_r("", 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:3162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3174: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libjava_cv_gethostbyname_r_needs_reentrant=no
 else
@@ -3168,14 +3180,14 @@ else
   		CPPFLAGS_SAVE="$CPPFLAGS"
 		CPPFLAGS="$CPPFLAGS -D_REENTRANT"
 		cat > conftest.$ac_ext <<EOF
-#line 3172 "configure"
+#line 3184 "configure"
 #include "confdefs.h"
 #include <netdb.h>
 int main() {
 gethostbyname_r("", 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:3179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3191: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libjava_cv_gethostbyname_r_needs_reentrant=yes
 else
@@ -3210,12 +3222,12 @@ EOF
      esac
 
      echo $ac_n "checking for struct hostent_data""... $ac_c" 1>&6
-echo "configure:3214: checking for struct hostent_data" >&5
+echo "configure:3226: checking for struct hostent_data" >&5
 if eval "test \"`echo '$''{'libjava_cv_struct_hostent_data'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   	cat > conftest.$ac_ext <<EOF
-#line 3219 "configure"
+#line 3231 "configure"
 #include "confdefs.h"
 
 #if GETHOSTBYNAME_R_NEEDS_REENTRANT && !defined(_REENTRANT)
@@ -3226,7 +3238,7 @@ int main() {
 struct hostent_data data;
 ; return 0; }
 EOF
-if { (eval echo configure:3230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3242: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libjava_cv_struct_hostent_data=yes
 else
@@ -3255,12 +3267,12 @@ done
    for ac_func in gethostbyaddr_r
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3259: checking for $ac_func" >&5
+echo "configure:3271: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3264 "configure"
+#line 3276 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3283,7 +3295,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3310,7 +3322,7 @@ EOF
      # We look for the one that returns `int'.
      # Hopefully this check is robust enough.
      cat > conftest.$ac_ext <<EOF
-#line 3314 "configure"
+#line 3326 "configure"
 #include "confdefs.h"
 #include <netdb.h>
 EOF
@@ -3334,12 +3346,12 @@ done
    for ac_func in gethostname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3338: checking for $ac_func" >&5
+echo "configure:3350: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3343 "configure"
+#line 3355 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3362,7 +3374,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3386,7 +3398,7 @@ EOF
 EOF
 
      cat > conftest.$ac_ext <<EOF
-#line 3390 "configure"
+#line 3402 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 EOF
@@ -3413,12 +3425,12 @@ done
    for ac_func in pthread_mutexattr_settype pthread_mutexattr_setkind_np
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3417: checking for $ac_func" >&5
+echo "configure:3429: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3422 "configure"
+#line 3434 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3441,7 +3453,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3471,12 +3483,12 @@ done
    for ac_func in sched_yield
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3475: checking for $ac_func" >&5
+echo "configure:3487: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3480 "configure"
+#line 3492 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3499,7 +3511,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3521,7 +3533,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for sched_yield in -lrt""... $ac_c" 1>&6
-echo "configure:3525: checking for sched_yield in -lrt" >&5
+echo "configure:3537: checking for sched_yield in -lrt" >&5
 ac_lib_var=`echo rt'_'sched_yield | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3529,7 +3541,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lrt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3533 "configure"
+#line 3545 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3540,7 +3552,7 @@ int main() {
 sched_yield()
 ; return 0; }
 EOF
-if { (eval echo configure:3544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3566,7 +3578,7 @@ else
   echo "$ac_t""no" 1>&6
 
        echo $ac_n "checking for sched_yield in -lposix4""... $ac_c" 1>&6
-echo "configure:3570: checking for sched_yield in -lposix4" >&5
+echo "configure:3582: checking for sched_yield in -lposix4" >&5
 ac_lib_var=`echo posix4'_'sched_yield | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3574,7 +3586,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lposix4  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3578 "configure"
+#line 3590 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3585,7 +3597,7 @@ int main() {
 sched_yield()
 ; return 0; }
 EOF
-if { (eval echo configure:3589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3623,12 +3635,12 @@ done
    for ac_func in gettimeofday time ftime
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3627: checking for $ac_func" >&5
+echo "configure:3639: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3632 "configure"
+#line 3644 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3651,7 +3663,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3682,12 +3694,12 @@ done
    for ac_func in memmove
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3686: checking for $ac_func" >&5
+echo "configure:3698: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3691 "configure"
+#line 3703 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3710,7 +3722,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3740,12 +3752,12 @@ done
    for ac_func in memcpy
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3744: checking for $ac_func" >&5
+echo "configure:3756: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3749 "configure"
+#line 3761 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3768,7 +3780,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3816,7 +3828,7 @@ done
    #--------------------------------------------------------------------
 
    echo $ac_n "checking for socket libraries""... $ac_c" 1>&6
-echo "configure:3820: checking for socket libraries" >&5
+echo "configure:3832: checking for socket libraries" >&5
 if eval "test \"`echo '$''{'gcj_cv_lib_sockets'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3824,12 +3836,12 @@ else
      gcj_checkBoth=0
      unset ac_cv_func_connect
      echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:3828: checking for connect" >&5
+echo "configure:3840: checking for connect" >&5
 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3833 "configure"
+#line 3845 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -3852,7 +3864,7 @@ connect();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -3875,7 +3887,7 @@ fi
      if test "$gcj_checkSocket" = 1; then
 	 unset ac_cv_func_connect
 	 echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
-echo "configure:3879: checking for main in -lsocket" >&5
+echo "configure:3891: checking for main in -lsocket" >&5
 ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3883,14 +3895,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3887 "configure"
+#line 3899 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3917,12 +3929,12 @@ fi
 	 LIBS="$LIBS -lsocket -lnsl"
 	 unset ac_cv_func_accept
 	 echo $ac_n "checking for accept""... $ac_c" 1>&6
-echo "configure:3921: checking for accept" >&5
+echo "configure:3933: checking for accept" >&5
 if eval "test \"`echo '$''{'ac_cv_func_accept'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3926 "configure"
+#line 3938 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char accept(); below.  */
@@ -3945,7 +3957,7 @@ accept();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_accept=yes"
 else
@@ -3972,12 +3984,12 @@ fi
      gcj_oldLibs=$LIBS
      LIBS="$LIBS $gcj_cv_lib_sockets"
      echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:3976: checking for gethostbyname" >&5
+echo "configure:3988: checking for gethostbyname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3981 "configure"
+#line 3993 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -4000,7 +4012,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -4018,7 +4030,7 @@ if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
-echo "configure:4022: checking for main in -lnsl" >&5
+echo "configure:4034: checking for main in -lnsl" >&5
 ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4026,14 +4038,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4030 "configure"
+#line 4042 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:4037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4069,7 +4081,7 @@ echo "$ac_t""$gcj_cv_lib_sockets" 1>&6
 
    if test "$with_system_zlib" = yes; then
       echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
-echo "configure:4073: checking for deflate in -lz" >&5
+echo "configure:4085: checking for deflate in -lz" >&5
 ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4077,7 +4089,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lz  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4081 "configure"
+#line 4093 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4088,7 +4100,7 @@ int main() {
 deflate()
 ; return 0; }
 EOF
-if { (eval echo configure:4092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4117,7 +4129,7 @@ fi
    # requires -ldl.
    if test "$GC" = boehm; then
       echo $ac_n "checking for main in -ldl""... $ac_c" 1>&6
-echo "configure:4121: checking for main in -ldl" >&5
+echo "configure:4133: checking for main in -ldl" >&5
 ac_lib_var=`echo dl'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4125,14 +4137,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4129 "configure"
+#line 4141 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:4136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4242,17 +4254,17 @@ for ac_hdr in unistd.h bstring.h sys/time.h sys/types.h fcntl.h sys/ioctl.h sys/
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4246: checking for $ac_hdr" >&5
+echo "configure:4258: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4251 "configure"
+#line 4263 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4256: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4268: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4282,17 +4294,17 @@ for ac_hdr in dirent.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4286: checking for $ac_hdr" >&5
+echo "configure:4298: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4291 "configure"
+#line 4303 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4308: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4320,16 +4332,16 @@ done
 
 
 echo $ac_n "checking whether struct sockaddr_in6 is in netinet/in.h""... $ac_c" 1>&6
-echo "configure:4324: checking whether struct sockaddr_in6 is in netinet/in.h" >&5
+echo "configure:4336: checking whether struct sockaddr_in6 is in netinet/in.h" >&5
 cat > conftest.$ac_ext <<EOF
-#line 4326 "configure"
+#line 4338 "configure"
 #include "confdefs.h"
 #include <netinet/in.h>
 int main() {
 struct sockaddr_in6 addr6;
 ; return 0; }
 EOF
-if { (eval echo configure:4333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define HAVE_INET6 1
@@ -4345,16 +4357,16 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for socklen_t in sys/socket.h""... $ac_c" 1>&6
-echo "configure:4349: checking for socklen_t in sys/socket.h" >&5
+echo "configure:4361: checking for socklen_t in sys/socket.h" >&5
 cat > conftest.$ac_ext <<EOF
-#line 4351 "configure"
+#line 4363 "configure"
 #include "confdefs.h"
 #include <sys/socket.h>
 int main() {
 socklen_t x = 5;
 ; return 0; }
 EOF
-if { (eval echo configure:4358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define HAVE_SOCKLEN_T 1
@@ -4370,16 +4382,16 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6
-echo "configure:4374: checking for tm_gmtoff in struct tm" >&5
+echo "configure:4386: checking for tm_gmtoff in struct tm" >&5
 cat > conftest.$ac_ext <<EOF
-#line 4376 "configure"
+#line 4388 "configure"
 #include "confdefs.h"
 #include <time.h>
 int main() {
 struct tm tim; tim.tm_gmtoff = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4383: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define STRUCT_TM_HAS_GMTOFF 1
@@ -4392,16 +4404,16 @@ else
   rm -rf conftest*
   echo "$ac_t""no" 1>&6
    echo $ac_n "checking for global timezone variable""... $ac_c" 1>&6
-echo "configure:4396: checking for global timezone variable" >&5
+echo "configure:4408: checking for global timezone variable" >&5
             cat > conftest.$ac_ext <<EOF
-#line 4398 "configure"
+#line 4410 "configure"
 #include "confdefs.h"
 #include <time.h>
 int main() {
 long z2 = timezone;
 ; return 0; }
 EOF
-if { (eval echo configure:4405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4417: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define HAVE_TIMEZONE 1
@@ -4421,19 +4433,19 @@ rm -f conftest*
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:4425: checking for working alloca.h" >&5
+echo "configure:4437: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4430 "configure"
+#line 4442 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:4437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -4454,12 +4466,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:4458: checking for alloca" >&5
+echo "configure:4470: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4463 "configure"
+#line 4475 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -4487,7 +4499,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:4491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -4519,12 +4531,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:4523: checking whether alloca needs Cray hooks" >&5
+echo "configure:4535: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4528 "configure"
+#line 4540 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -4549,12 +4561,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4553: checking for $ac_func" >&5
+echo "configure:4565: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4558 "configure"
+#line 4570 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4577,7 +4589,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4604,7 +4616,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:4608: checking stack direction for C alloca" >&5
+echo "configure:4620: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4612,7 +4624,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 4616 "configure"
+#line 4628 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -4631,7 +4643,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:4635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -4658,7 +4670,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4662: checking for $ac_word" >&5
+echo "configure:4674: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
diff --git a/libjava/configure.in b/libjava/configure.in
index 9a3f95e3cb98..caff68164b0d 100644
--- a/libjava/configure.in
+++ b/libjava/configure.in
@@ -8,9 +8,10 @@ AC_CANONICAL_SYSTEM
 
 dnl We use these options to decide which functions to include.
 AC_ARG_WITH(target-subdir,
-[  --with-target-subdir=SUBDIR      Configuring in a subdirectory])
+[  --with-target-subdir=SUBDIR
+                          configuring in a subdirectory])
 AC_ARG_WITH(cross-host,
-[  --with-cross-host=HOST           Configuring with a cross compiler])
+[  --with-cross-host=HOST  configuring with a cross compiler])
 
 LIBGCJ_CONFIGURE(.)
 
@@ -31,20 +32,20 @@ AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
 dnl See whether the user prefers size or speed for Character.
 dnl The default is size.
 AC_ARG_ENABLE(fast-character,
-[  --enable-fast-character          Prefer speed over size for Character],
+[  --enable-fast-character prefer speed over size for Character],
 # Nothing
 , AC_DEFINE(COMPACT_CHARACTER))
 
 dnl See if the user has requested runtime debugging.
 AC_ARG_ENABLE(libgcj-debug,
-[  --enable-libgcj-debug           Enable runtime debugging code],
+[  --enable-libgcj-debug   enable runtime debugging code],
   if test "$enable_libgcj_debug" = yes; then
      AC_DEFINE(DEBUG)
   fi)
 
 dnl See if the user has the enterpreter included.
 AC_ARG_ENABLE(interpreter,
-[  --enable-interpreter            Enable interpreter],
+[  --enable-interpreter    enable interpreter],
   if test "$enable_interpreter" = yes; then
      AC_DEFINE(INTERPRETER)
   fi)
@@ -59,7 +60,7 @@ dnl FIXME: this should not be a local option but a global target
 dnl system; at present there is no eCos target.
 TARGET_ECOS="no"
 AC_ARG_WITH(ecos,
-[  --with-ecos      Enable runtime eCos target support.],
+[  --with-ecos             enable runtime eCos target support],
 TARGET_ECOS="$with_ecos"
 )
 
@@ -101,7 +102,7 @@ SYSTEMSPEC=
 AC_SUBST(SYSTEMSPEC)
 
 AC_ARG_WITH(system-zlib,
-[  --with-system-zlib               Use installed libz])
+[  --with-system-zlib      use installed libz])
 ZLIBSPEC=
 AC_SUBST(ZLIBSPEC)
 
@@ -112,7 +113,7 @@ dnl Allow the GC to be disabled.  Can be useful when debugging.
 AC_MSG_CHECKING([for garbage collector to use])
 AC_ARG_ENABLE(java-gc,
 changequote(<<,>>)dnl
-<<  --enable-java-gc=TYPE    choose garbage collector [boehm]>>,
+<<  --enable-java-gc=TYPE   choose garbage collector [boehm]>>,
 changequote([,])
   GC=$enableval,
   GC=boehm)
@@ -159,7 +160,7 @@ dnl Note that this code is kept in sync with similar code in gcc/configure.in.
 dnl In particular both packages must make the same decision about which
 dnl thread package to use.
 AC_MSG_CHECKING([for threads package to use])
-AC_ARG_ENABLE(threads, [  --enable-threads=TYPE    choose threading package],
+AC_ARG_ENABLE(threads, [  --enable-threads=TYPE   choose threading package],
   THREADS=$enableval,
   dnl FIXME: figure out native threads to use here.
   THREADS=no)
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc
index e062fb2e7566..46f2a66d3452 100644
--- a/libjava/defineclass.cc
+++ b/libjava/defineclass.cc
@@ -614,7 +614,8 @@ void _Jv_ClassReader::handleConstantPool ()
 
   // the pool is scanned explicitly by the collector
   jbyte *pool_tags = (jbyte*) _Jv_AllocBytesChecked (pool_count);
-  void **pool_data = (void**) _Jv_AllocBytesChecked (pool_count * sizeof (void*));
+  _Jv_word *pool_data
+    = (_Jv_word*) _Jv_AllocBytesChecked (pool_count * sizeof (_Jv_word));
   
   def->constants.tags = pool_tags;
   def->constants.data = pool_data;
@@ -634,7 +635,7 @@ void _Jv_ClassReader::handleConstantPool ()
 	  check_tag (utf_index, JV_CONSTANT_Utf8);
 	  unsigned char *utf_data = bytes + offsets[utf_index];
 	  int len = get2u (utf_data);
-	  pool_data[i] = (void*)_Jv_makeUtf8Const ((char*)(utf_data+2), len);
+	  pool_data[i].utf8 = _Jv_makeUtf8Const ((char*)(utf_data+2), len);
 	  pool_tags[i] = JV_CONSTANT_String;
 	}
       else
@@ -671,7 +672,7 @@ _Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag)
      structure we are currently defining */
 
   unsigned char *pool_tags = (unsigned char*) def->constants.tags;
-  void         **pool_data = (void**) def->constants.data;
+  _Jv_word      *pool_data = def->constants.data;
 
   /* this entry was already prepared */
   if (pool_tags[index] == this_tag)
@@ -703,7 +704,7 @@ _Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag)
 	      buffer[i] = (char) s[i];
 	  }
 	
-	pool_data[index] = (void*)_Jv_makeUtf8Const (buffer, len);
+	pool_data[index].utf8 = _Jv_makeUtf8Const (buffer, len);
 	pool_tags[index] = JV_CONSTANT_Utf8;
       }
       break;
@@ -715,9 +716,9 @@ _Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag)
 	prepare_pool_entry (utf_index, JV_CONSTANT_Utf8);
 
 	if (verify)
-	  _Jv_VerifyClassName ((_Jv_Utf8Const*)pool_data[utf_index]);
+	  _Jv_VerifyClassName (pool_data[utf_index].utf8);
 		
-	pool_data[index] = pool_data[utf_index];
+	pool_data[index].utf8 = pool_data[utf_index].utf8;
 	pool_tags[index] = JV_CONSTANT_Class;
       }
       break;
@@ -743,24 +744,22 @@ _Jv_ClassReader::prepare_pool_entry (int index, unsigned char this_tag)
 	if (verify)
 	{
 	  _Jv_ushort name_index, type_index;
-	  _Jv_loadIndexes ((const void**)&pool_data[nat_index],
+	  _Jv_loadIndexes (&pool_data[nat_index],
 			   name_index, type_index);
 
 	  if (this_tag == JV_CONSTANT_Fieldref)
-	    _Jv_VerifyFieldSignature
-	      ((_Jv_Utf8Const*)pool_data[type_index]);
+	    _Jv_VerifyFieldSignature (pool_data[type_index].utf8);
 	  else
-	    _Jv_VerifyMethodSignature
-	      ((_Jv_Utf8Const*)pool_data[type_index]);
+	    _Jv_VerifyMethodSignature (pool_data[type_index].utf8);
 
-	  _Jv_Utf8Const* name = (_Jv_Utf8Const*)pool_data[name_index];
+	  _Jv_Utf8Const* name = pool_data[name_index].utf8;
 
 	  if (this_tag != JV_CONSTANT_Fieldref
 	      && (   _Jv_equalUtf8Consts (name, clinit_name)
 		  || _Jv_equalUtf8Consts (name, init_name)))
 	    /* ignore */;
 	  else
-	    _Jv_VerifyIdentifier ((_Jv_Utf8Const*)pool_data[name_index]);
+	    _Jv_VerifyIdentifier (pool_data[name_index].utf8);
 	}
 	    
 	_Jv_storeIndexes (&pool_data[index], class_index, nat_index);
@@ -827,10 +826,10 @@ _Jv_ClassReader::handleClassBegin
   (int access_flags, int this_class, int super_class)
 {
   unsigned char *pool_tags = (unsigned char*) def->constants.tags;
-  void         **pool_data = (void**) def->constants.data;
+  _Jv_word      *pool_data = def->constants.data;
 
   check_tag (this_class, JV_CONSTANT_Class);
-  _Jv_Utf8Const *loadedName = (_Jv_Utf8Const*)pool_data[this_class];
+  _Jv_Utf8Const *loadedName = pool_data[this_class].utf8;
 
   // was ClassLoader.defineClass called with an expected class name?
   if (def->name == 0)
@@ -865,7 +864,7 @@ _Jv_ClassReader::handleClassBegin
     }
 
   def->accflags = access_flags;
-  pool_data[this_class] = (void*)def;
+  pool_data[this_class].clazz = def;
   pool_tags[this_class] = JV_CONSTANT_ResolvedClass;
 
   if (super_class == 0)
@@ -894,8 +893,7 @@ _Jv_ClassReader::handleClassBegin
     {
       // load the super class
       check_tag (super_class, JV_CONSTANT_Class);
-      _Jv_Utf8Const* super_name =
-	(_Jv_Utf8Const*)pool_data[super_class]; 
+      _Jv_Utf8Const* super_name = pool_data[super_class].utf8; 
 
       // load the super class using our defining loader
       jclass the_super = _Jv_FindClass (super_name,
@@ -906,7 +904,7 @@ _Jv_ClassReader::handleClassBegin
       checkExtends (def, the_super);
 
       def->superclass = the_super;
-      pool_data[super_class] = (void*) the_super;
+      pool_data[super_class].clazz = the_super;
       pool_tags[super_class] = JV_CONSTANT_ResolvedClass;
     }
 	    
@@ -956,19 +954,19 @@ void _Jv_ClassReader::handleInterfacesBegin (int count)
 
 void _Jv_ClassReader::handleInterface (int if_number, int offset)
 {
-  void          ** pool_data = def->constants.data;
+  _Jv_word       * pool_data = def->constants.data;
   unsigned char  * pool_tags = (unsigned char*) def->constants.tags;
 
   jclass the_interface;
 
   if (pool_tags[offset] == JV_CONSTANT_Class)
     {
-      _Jv_Utf8Const* name = (_Jv_Utf8Const*) pool_data[offset];
+      _Jv_Utf8Const* name = pool_data[offset].utf8;
       the_interface =  _Jv_FindClass (name, def->loader);
     }
   else if (pool_tags[offset] == JV_CONSTANT_ResolvedClass)
     {
-      the_interface = (jclass)pool_data[offset];
+      the_interface = pool_data[offset].clazz;
     }
   else
     {
@@ -979,7 +977,7 @@ void _Jv_ClassReader::handleInterface (int if_number, int offset)
   // allowed to implement that interface.
   checkImplements (def, the_interface);
   
-  pool_data[offset] = (void*)the_interface;
+  pool_data[offset].clazz = the_interface;
   pool_tags[offset] = JV_CONSTANT_ResolvedClass;
   
   def->interfaces[if_number] = the_interface;
@@ -1028,10 +1026,10 @@ void _Jv_ClassReader::handleField (int field_no,
 				   int name,
 				   int desc)
 {
-  void **const pool_data = def->constants.data;
+  _Jv_word *pool_data = def->constants.data;
 
   _Jv_Field *field = &def->fields[field_no];
-  _Jv_Utf8Const *field_name = (_Jv_Utf8Const*) pool_data[name];
+  _Jv_Utf8Const *field_name = pool_data[name].utf8;
 
 #ifndef COMPACT_FIELDS
   field->name      = field_name;
@@ -1056,7 +1054,7 @@ void _Jv_ClassReader::handleField (int field_no,
 	throw_class_format_error ("erroneous field access flags");
     }
 
-  _Jv_Utf8Const* sig = (_Jv_Utf8Const*) pool_data[desc];
+  _Jv_Utf8Const* sig = pool_data[desc].utf8;
 
   if (verify)
     _Jv_VerifyFieldSignature (sig);
@@ -1158,16 +1156,16 @@ void _Jv_ClassReader::handleMethodsBegin (int count)
 void _Jv_ClassReader::handleMethod 
     (int mth_index, int accflags, int name, int desc)
 { 
-  void **const pool_data = def->constants.data;
+  _Jv_word *pool_data = def->constants.data;
   _Jv_Method *method = &def->methods[mth_index];
 
   check_tag (name, JV_CONSTANT_Utf8);
   prepare_pool_entry (name, JV_CONSTANT_Utf8);
-  method->name = (_Jv_Utf8Const*)pool_data[name];
+  method->name = pool_data[name].utf8;
 
   check_tag (desc, JV_CONSTANT_Utf8);
   prepare_pool_entry (desc, JV_CONSTANT_Utf8);
-  method->signature = (_Jv_Utf8Const*)pool_data[desc];
+  method->signature = pool_data[desc].utf8;
 
   // ignore unknown flags
   method->accflags = accflags & ALL_FLAGS;
diff --git a/libjava/include/java-cpool.h b/libjava/include/java-cpool.h
index f4d7ef9910a0..b5e3ab36db7b 100644
--- a/libjava/include/java-cpool.h
+++ b/libjava/include/java-cpool.h
@@ -31,142 +31,86 @@ details.  */
 #define JV_CONSTANT_ResolvedString (16L | 8L)
 #define JV_CONSTANT_ResolvedClass  (16L | 7L)
 
-/* We use the following two operations uniformly for all put/get operations
- * in the runtime system (constant pool & stack), to assure that we keep
- * everything in the same format.  The idea is, that these should be inlined
- * away, into just a simple store (for small data types, and a pair of stores
- * if double or long has alignment greater than void *.  On an 64-bit
- * architecture, all operations should be simple stores; on a 32-bit
- * architecture it depends on the alignment requirement for the specific
- * type.  */
-
-template <class T>
-static inline void _Jv_put (void *dst, T value)
-{
-#if 0
-  if (sizeof (T) == 8 && __alignof__ (T) > __alignof__ (void*))
-    {
-      jint *v_dst  = (jint*)(dst);
-      jint *v_src  = (jint*)&value;
-
-      v_dst[0] = v_src[0];
-      v_dst[1] = v_src[1];
-    }
-  else 
-#endif
-    {
-      *((T*) (dst)) = value;
-    }
-}
-
-template <class T>
-static inline T _Jv_get (void *src)
-{
-#if 0
-  if (sizeof (T) == 8 && __alignof__ (T) > __alignof__ (void*))
-    {
-      T     value;
-      jint *v_dst  = (jint*)&value;
-      jint *v_src  = (jint*)src;
-
-      v_dst[0] = v_src[0];
-      v_dst[1] = v_src[1];
-
-      return value;
-    }
-  else 
-#endif
-    {
-      return *((T*) (src));
-    }
-}
-
-/** needed to keep the CONSTANT_XXXRef & CONSTANT_NameAndType entries */
 extern inline void 
-_Jv_storeIndexes (void **data,
+_Jv_storeIndexes (_Jv_word *data,
 		 _Jv_ushort index0,
 		 _Jv_ushort index1)
 {
-  // accomodate 64bit machines...
-  if (sizeof (void*) == (2 * sizeof (jint)))
-    {
-      ((jint*)data)[0] = index0;
-      ((jint*)data)[1] = index0;
-    }
-  else
-    {
-      _Jv_put<jint>(data, ((jint)index0 << 16) | (jint)index1);
-    }
+  data->i = (((jint)index0) << 16) | (jint) index1;
 }
 
 extern inline void 
-_Jv_loadIndexes (const void **data,
+_Jv_loadIndexes (const _Jv_word *data,
 		 _Jv_ushort& index0,
 		 _Jv_ushort& index1)
 {
-  if (sizeof (void*) == (2*sizeof (jint)))
-    {
-      index0 = ((jint*)data)[0];
-      index0 = ((jint*)data)[1];
-    }
-  else
-    {
-      jint udata = _Jv_get<jint>(data);
+  jint udata = data->i;
       
-      _Jv_uint uindex0 = ((udata >> 16) & 0xffff);
-      _Jv_uint uindex1 = udata & 0xffff;
+  _Jv_uint uindex0 = ((udata >> 16) & 0xffff);
+  _Jv_uint uindex1 = udata & 0xffff;
       
-      index0 = uindex0;
-      index1 = uindex1;
-    }
+  index0 = uindex0;
+  index1 = uindex1;
 }
 
 extern inline void
-_Jv_storeFloat (void **data, jfloat f)
+_Jv_storeFloat (_Jv_word *data, jfloat f)
 {
-  _Jv_put<jfloat>(data, f);
+  data->f = f;
 }
 
 extern inline jfloat
-_Jv_loadFloat (void **data)
+_Jv_loadFloat (_Jv_word *data)
 {
-  return _Jv_get<jfloat>(data);
+  return data->f;
 }
 
 extern inline void
-_Jv_storeInt (void **data, jint i)
+_Jv_storeInt (_Jv_word *data, jint i)
 {
-  _Jv_put<jint>(data, i);
+  data->i = i;
 }
 
 extern inline jint
-_Jv_loadInt (void **data)
+_Jv_loadInt (_Jv_word *data)
 {
-  return _Jv_get<jint>(data);
+  return data->i;
 }
 
 extern inline void
-_Jv_storeLong (void **data, jlong l)
+_Jv_storeLong (_Jv_word *data, jlong l)
 {
-  return _Jv_put<jlong>(data, l);
+  _Jv_word2 tmp;
+  tmp.l = l;
+  data[0].ia[0] = tmp.ia[0];
+  data[1].ia[0] = tmp.ia[1];
 }
 
 extern inline jlong
-_Jv_loadLong (void **data)
+_Jv_loadLong (_Jv_word *data)
 {
-  return _Jv_get<jlong>(data);
+  _Jv_word2 tmp;
+  tmp.ia[0] = data[0].ia[0];
+  tmp.ia[1] = data[1].ia[0];
+  return tmp.l;
 }
 
 extern inline void
-_Jv_storeDouble (void **data, jdouble d)
+_Jv_storeDouble (_Jv_word *data, jdouble d)
 {
-  _Jv_put<jdouble>(data, d);
+  _Jv_word2 tmp;
+  tmp.d = d;
+  data[0].ia[0] = tmp.ia[0];
+  data[1].ia[0] = tmp.ia[1];
 }
 
 extern inline jdouble
-_Jv_loadDouble (void **data)
+_Jv_loadDouble (_Jv_word *data)
 {
-  return _Jv_get<jdouble> (data);
+  _Jv_word2 tmp;
+  tmp.ia[0] = data[0].ia[0];
+  tmp.ia[1] = data[1].ia[0];
+  return tmp.d;
 }
 
 
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h
index 70feec19beb3..ffd53a868ab0 100644
--- a/libjava/include/java-interp.h
+++ b/libjava/include/java-interp.h
@@ -105,11 +105,11 @@ class _Jv_InterpMethod {
   void *ncode ();
   void continue1 (_Jv_InterpMethodInvocation *inv);
 
-  static void run_normal (ffi_cif*, void*, void**, void*);
-  static void run_synch_object (ffi_cif*, void*, void**, void*);
-  static void run_synch_class (ffi_cif*, void*, void**, void*);
+  static void run_normal (ffi_cif*, void*, ffi_raw*, void*);
+  static void run_synch_object (ffi_cif*, void*, ffi_raw*, void*);
+  static void run_synch_class (ffi_cif*, void*, ffi_raw*, void*);
 
-  inline jobject run (ffi_cif*, void*, void**, 
+  inline jobject run (ffi_cif*, void*, ffi_raw*, 
 		      _Jv_InterpMethodInvocation*);
 
   bool find_exception (jobject ex,
@@ -123,21 +123,16 @@ class _Jv_InterpMethod {
   friend class gnu::gcj::runtime::MethodInvocation;
 
   friend void _Jv_PrepareClass(jclass);
-
-  friend void _Jv_callInterpretedMethod (ffi_cif*,
-					 void*,
-					 void **,
-					 void*);
 };
 
 class _Jv_InterpMethodInvocation {
   _Jv_InterpMethod *running;
-  void            **sp;
+  _Jv_word         *sp;
   unsigned char    *pc;
-  void*             state[0];
+  _Jv_word          state[0];
 
-  void**            stack_base () { return &state[0]; }
-  void**            local_base () { return &state[running->max_stack]; }
+  _Jv_word*         stack_base () { return &state[0]; }
+  _Jv_word*         local_base () { return &state[running->max_stack]; }
 
   friend class _Jv_InterpMethod;
 };
diff --git a/libjava/include/javaprims.h b/libjava/include/javaprims.h
index 9d8c0a6eab5c..ef87519d9c51 100644
--- a/libjava/include/javaprims.h
+++ b/libjava/include/javaprims.h
@@ -261,6 +261,27 @@ extern "C" void _Jv_Free (void*);
 typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
 typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
 
+typedef union {
+  jobject o;
+  jint i;			// Also stores smaller integral types.
+  jfloat f;
+  jint ia[1];			// Half of _Jv_word2.
+  void* p;
+
+  // these are things we will store in the constant 
+  jclass                     clazz;
+  jstring                    string;
+  struct _Jv_Field          *field;
+  struct _Jv_Utf8Const      *utf8;
+  struct _Jv_ResolvedMethod *rmethod;
+} _Jv_word;
+
+typedef union {
+  jint ia[2];
+  jlong l;
+  jdouble d;
+} _Jv_word2;                              
+
 struct _Jv_Utf8Const
 {
   _Jv_ushort hash;
diff --git a/libjava/interpret.cc b/libjava/interpret.cc
index 1b9b8006da7b..6ca6f0da606a 100644
--- a/libjava/interpret.cc
+++ b/libjava/interpret.cc
@@ -47,7 +47,7 @@ details.  */
 
 #include <gnu/gcj/runtime/MethodInvocation.h>
 
-/* this is the exception handler hack, for the interpreter */
+/* This should never happen. */
 void 
 gnu::gcj::runtime::MethodInvocation::continue1 (gnu::gcj::RawData *,
 						gnu::gcj::RawData *)
@@ -89,7 +89,7 @@ static void throw_arithmetic_exception ()
 #endif
 
 
-static inline void dupx (void **&sp, int n, int x)
+static inline void dupx (_Jv_word *&sp, int n, int x)
 {
   // first "slide" n+x elements n to the right
   int top = n-1;
@@ -110,36 +110,43 @@ static inline void dupx (void **&sp, int n, int x)
 
 
 #define PUSHA(V)  \
- ({ jobject __v=(V); *(jobject*)sp++ = __v; })
+ ({ jobject __v=(V); (sp++)->o = __v; })
 #define PUSHI(V)  \
- ({ jint __v=(V); *(jint*)sp++ = __v; })
+ ({ jint __v=(V); (sp++)->i = __v; })
 #define PUSHF(V)  \
- ({ jfloat __v=(V); *(jfloat*)sp++ = __v; })
+ ({ jfloat __v=(V); (sp++)->f = __v; })
 #define PUSHL(V)  \
- ({ jlong __v=(V); memcpy ((void*)sp, (void*)&__v, 8); sp+=2; })
+ ({ jlong __v=(V); _Jv_storeLong(sp,__v); sp+=2; })
 #define PUSHD(V)  \
- ({ jdouble __v=(V); memcpy ((void*)sp, (void*)&__v, 8); sp+=2; })
-
-#define POPA()    (*(jobject*)--sp)
-#define POPI()    (*(jint*)--sp)
-#define POPF()    (*(jfloat*)--sp)
-#define POPL()    ({ jlong __r; sp-=2; memcpy ((void*)&__r, sp, 8); __r; })
-#define POPD()    ({ jdouble __r; sp-=2; memcpy ((void*)&__r, sp, 8); __r; })
-
-#define LOADA(I)  *sp++ = locals[I]
-#define LOADI(I)  *sp++ = locals[I]
-#define LOADF(I)  *sp++ = locals[I]
-#define LOADL(I)  ({ memcpy (sp, locals+(I), 8); sp+=2; })
-#define LOADD(I)  ({ memcpy (sp, locals+(I), 8); sp+=2; })
-
-#define STOREA(I) locals[I] = *--sp
-#define STOREI(I) locals[I] = *--sp
-#define STOREF(I) locals[I] = *--sp
-#define STOREL(I) ({ sp-=2; memcpy (locals+(I), sp, 8); })
-#define STORED(I) ({ sp-=2; memcpy (locals+(I), sp, 8); })
-
-#define PEEKI(I)  (*(jint*) (locals+(I)))
-#define PEEKA(I)  (*(jobject*) (locals+(I)))
+ ({ jdouble __v=(V); _Jv_storeDouble(sp,__v); sp+=2; })
+
+#define POPA()    ((--sp)->o)
+#define POPI()    ((jint) (--sp)->i) // cast since it may be promoted
+#define POPF()    ((jfloat) (--sp)->f)
+#define POPL()    ({ sp-=2; _Jv_loadLong (sp); })
+#define POPD()    ({ sp-=2; _Jv_loadDouble (sp); })
+
+#define LOADA(I)  (sp++)->o = locals[I].o
+#define LOADI(I)  (sp++)->i = locals[I].i
+#define LOADF(I)  (sp++)->f = locals[I].f
+#define LOADL(I)  ({ jint __idx = (I); \
+    (sp++)->ia[0] = locals[__idx].ia[0]; \
+    (sp++)->ia[0] = locals[__idx+1].ia[0]; \
+ })
+#define LOADD(I)  LOADL(I)
+
+
+#define STOREA(I) locals[I].o = (--sp)->o
+#define STOREI(I) locals[I].i = (--sp)->i
+#define STOREF(I) locals[I].f = (--sp)->f
+#define STOREL(I) ({ jint __idx = (I); \
+    locals[__idx+1].ia[0] = (--sp)->ia[0]; \
+    locals[__idx].ia[0] = (--sp)->ia[0]; \
+ })
+#define STORED(I) STOREL(I)
+
+#define PEEKI(I)  (locals+(I))->i
+#define PEEKA(I)  (locals+(I))->o
 
 #define POKEI(I,V)  (*(jint*) (locals+(I)) = (V))
 
@@ -215,16 +222,16 @@ static jint get4(unsigned char* loc) {
 inline jobject
 _Jv_InterpMethod::run (ffi_cif* cif,
 		       void *retp,
-		       void**args,
+		       ffi_raw *args,
 		       _Jv_InterpMethodInvocation *inv)
 {
   inv->running  = this;
   inv->pc       = bytecode ();
   inv->sp       = inv->stack_base ();
-  void **locals = inv->local_base ();
+  _Jv_word *locals = inv->local_base ();
 
   /* Go straight at it!  the ffi raw format matches the internal
-     stack representation exactly!
+     stack representation exactly.  At leat, that's the idea.
   */
   memcpy ((void*) locals, (void*) args, args_raw_size);
 
@@ -237,7 +244,7 @@ _Jv_InterpMethod::run (ffi_cif* cif,
   if (ex == 0)			// no exception...
     {
       /* define sp locally, so the POP? macros will pick it up */
-      void **sp = (void**)inv->sp;
+      _Jv_word *sp = inv->sp;
       int rtype = cif->rtype->type;
 
       if (rtype == FFI_TYPE_POINTER)
@@ -320,9 +327,8 @@ bool _Jv_InterpMethod::find_exception (jobject ex,
 	  jclass handler;
 
 	  if (exc[i].handler_type != 0)
-	    handler = (jclass)
-	      _Jv_ResolvePoolEntry (defining_class, 
-				    exc[i].handler_type);
+	    handler = (_Jv_ResolvePoolEntry (defining_class, 
+					     exc[i].handler_type)).clazz;
 	  else
 	    handler = NULL;
 	  
@@ -330,7 +336,7 @@ bool _Jv_InterpMethod::find_exception (jobject ex,
 	    {
 	      inv->pc = bytecode () + exc[i].handler_pc;
 	      inv->sp = inv->stack_base (); // reset stack
-	      *(jobject*) (inv->sp ++) = ex;
+	      (inv->sp++)->o = ex; // push exception
 	      return true;
 	    }
 	}
@@ -340,7 +346,7 @@ bool _Jv_InterpMethod::find_exception (jobject ex,
 
 void _Jv_InterpMethod::run_normal (ffi_cif* cif,
 				   void* ret,
-				   void** args,
+				   ffi_raw * args,
 				   void* __this)
 {
   _Jv_InterpMethod* _this = (_Jv_InterpMethod*)__this;
@@ -350,7 +356,7 @@ void _Jv_InterpMethod::run_normal (ffi_cif* cif,
   int storage_size = _this->max_stack+_this->max_locals;
   _Jv_InterpMethodInvocation* inv = (_Jv_InterpMethodInvocation*) 
     alloca (sizeof (_Jv_InterpMethodInvocation)
-	    + storage_size * sizeof (void*));
+	    + storage_size * sizeof (_Jv_word));
 
   jobject ex = _this->run (cif, ret, args, inv);
   if (ex != 0) _Jv_Throw (ex);
@@ -358,16 +364,16 @@ void _Jv_InterpMethod::run_normal (ffi_cif* cif,
 
 void _Jv_InterpMethod::run_synch_object (ffi_cif* cif,
 					 void* ret,
-					 void** args,
+					 ffi_raw * args,
 					 void* __this)
 {
   _Jv_InterpMethod* _this = (_Jv_InterpMethod*)__this;
-  jobject rcv = (jobject)args[0];
+  jobject rcv = (jobject)args[0].ptr;
 
   int storage_size = _this->max_stack+_this->max_locals;
   _Jv_InterpMethodInvocation* inv = (_Jv_InterpMethodInvocation*) 
     alloca (sizeof (_Jv_InterpMethodInvocation)
-	    + storage_size * sizeof (void*));
+	    + storage_size * sizeof (_Jv_word));
 
   _Jv_MonitorEnter (rcv);
   jobject ex = _this->run (cif, ret, args, inv);
@@ -378,7 +384,7 @@ void _Jv_InterpMethod::run_synch_object (ffi_cif* cif,
 
 void _Jv_InterpMethod::run_synch_class (ffi_cif* cif,
 					void* ret,
-					void** args,
+					ffi_raw * args,
 					void* __this)
 {
   _Jv_InterpMethod* _this = (_Jv_InterpMethod*)__this;
@@ -387,7 +393,7 @@ void _Jv_InterpMethod::run_synch_class (ffi_cif* cif,
   int storage_size = _this->max_stack+_this->max_locals;
   _Jv_InterpMethodInvocation* inv = (_Jv_InterpMethodInvocation*) 
     alloca (sizeof (_Jv_InterpMethodInvocation)
-	    + storage_size * sizeof (void*));
+	    + storage_size * sizeof (_Jv_word));
 
   _Jv_MonitorEnter (sync);
   jobject ex = _this->run (cif, ret, args, inv);
@@ -461,13 +467,13 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
    * gcc, why isn't there a -fpack-stack, allowing reuse of stack
    * locations?  */
   
-  void**         sp     = inv->sp;
+  _Jv_word      *sp     = inv->sp;
   unsigned char *pc     = inv->pc;
-  void**         locals = inv->local_base ();
+  _Jv_word      *locals = inv->local_base ();
   int            opcode;
 
   jclass defining_class = this->defining_class;
-  void **pool_data      = defining_class->constants.data;
+  _Jv_word *pool_data   = defining_class->constants.data;
   
   /* these two are used in the invokeXXX instructions */
   void (*fun)(...);
@@ -581,8 +587,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	 * JV_CONSTANT_ResolvedFlag in the tag directly.  For now, I
 	 * don't think it is worth it.  */
 
-	rmeth = (_Jv_ResolvedMethod*)
-	  _Jv_ResolvePoolEntry (defining_class, index);
+	rmeth = (_Jv_ResolvePoolEntry (defining_class, index)).rmethod;
 
 	sp -= rmeth->stack_item_count;
 	NULLCHECK(sp[0]);
@@ -595,7 +600,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	  }
 	else
 	  {
-	    jobject rcv = (jobject)sp[0];
+	    jobject rcv = sp[0].o;
 	    _Jv_VTable *table = *(_Jv_VTable**)rcv;
 	    fun = (void (*) (...))table->method[rmeth->vtable_index];
 	  }
@@ -606,12 +611,12 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	/* here goes the magic again... */
 	ffi_cif *cif = &rmeth->cif;
-	void **raw = sp;
+	ffi_raw *raw = (ffi_raw*) sp;
 
 	jdouble rvalue;
 
 	TIME_SUSPEND;
-	ffi_raw_call (cif, fun, (void*)&rvalue, (ffi_raw*) raw);
+	ffi_raw_call (cif, fun, (void*)&rvalue, raw);
 	TIME_RESUME;
 
 	int rtype = cif->rtype->type;
@@ -717,21 +722,21 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_ldc:
       {
 	int index = get1u (pc++);
-	PUSHA((jobject) pool_data[index]);
+	PUSHA(pool_data[index].o);
       }
       goto next_insn;
 
     case op_ldc_w:
       {
 	int index = get2u (pc); pc += 2;
-	PUSHA((jobject) pool_data[index]);
+	PUSHA(pool_data[index].o);
       }
       goto next_insn;
 
     case op_ldc2_w:
       {
 	int index = get2u (pc); pc += 2;
-	memcpy (sp, &pool_data[index], 8);
+	memcpy (sp, &pool_data[index], 2*sizeof (_Jv_word));
 	sp += 2;
       }
       goto next_insn;
@@ -1715,7 +1720,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	unsigned char *base_pc = pc-1;
 	jint fieldref_index = get2u (pc); pc += 2;
 	_Jv_ResolvePoolEntry (defining_class, fieldref_index);
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 
 	if ((field->flags & STATIC) == 0)
 	  throw_incompatible_class_change_error 
@@ -1761,7 +1766,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	unsigned char *base_pc = pc-1;
 	jint fieldref_index = get2u (pc); pc += 2;
 	_Jv_ResolvePoolEntry (defining_class, fieldref_index);
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 
 	if ((field->flags & STATIC) != 0)
 	  throw_incompatible_class_change_error 
@@ -1813,7 +1818,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	unsigned char* base_pc = pc-1;
 	jint fieldref_index = get2u (pc); pc += 2;
 	_Jv_ResolvePoolEntry (defining_class, fieldref_index);
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 
 	jclass type = field->type;
 
@@ -1862,7 +1867,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	unsigned char* base_pc = pc-1;
 	jint fieldref_index = get2u (pc); pc += 2;
 	_Jv_ResolvePoolEntry (defining_class, fieldref_index);
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 
 	jclass type = field->type;
 
@@ -1947,7 +1952,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_getstatic_1:
       {
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	PUSHI (*(jbyte*) (field->u.addr));
       }
       goto next_insn;
@@ -1955,7 +1960,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_getstatic_2s:
       {
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	PUSHI(*(jshort*) (field->u.addr));
       }
       goto next_insn;
@@ -1963,7 +1968,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_getstatic_2u:
       {
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	PUSHI(*(jchar*) (field->u.addr));
       }
       goto next_insn;
@@ -1971,7 +1976,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_getstatic_4:
       {
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	PUSHI(*(jint*) (field->u.addr));
       }
       goto next_insn;
@@ -1979,7 +1984,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_getstatic_8:
       {
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	PUSHL(*(jlong*) (field->u.addr));
       }
       goto next_insn;
@@ -1987,7 +1992,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_getstatic_a:
       {
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	PUSHA(*(jobject*) (field->u.addr));
       }
       goto next_insn;
@@ -2046,7 +2051,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	jint    value = POPI();
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	*(jbyte*) (field->u.addr) = value;
       }
       goto next_insn;
@@ -2055,7 +2060,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	jint    value = POPI();
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	*(jchar*) (field->u.addr) = value;
       }
       goto next_insn;
@@ -2064,7 +2069,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	jint    value = POPI();
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	*(jint*) (field->u.addr) = value;
       }
       goto next_insn;
@@ -2073,7 +2078,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	jlong    value = POPL();
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	*(jlong*) (field->u.addr) = value;
       }
       goto next_insn;
@@ -2082,7 +2087,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	jobject value = POPA();
 	jint fieldref_index = get2u (pc); pc += 2;
-	_Jv_Field *field = (_Jv_Field*) pool_data[fieldref_index];
+	_Jv_Field *field = pool_data[fieldref_index].field;
 	*(jobject*) (field->u.addr) = value;
       }
       goto next_insn;
@@ -2091,8 +2096,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	int index = get2u (pc); pc += 2;
 
-	rmeth = (_Jv_ResolvedMethod*)
-	  _Jv_ResolvePoolEntry (defining_class, index);
+	rmeth = (_Jv_ResolvePoolEntry (defining_class, index)).rmethod;
 
 	sp -= rmeth->stack_item_count;
 	
@@ -2106,8 +2110,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	int index = get2u (pc); pc += 2;
 
-	rmeth = (_Jv_ResolvedMethod*)
-	  _Jv_ResolvePoolEntry (defining_class, index);
+	rmeth = (_Jv_ResolvePoolEntry (defining_class, index)).rmethod;
 
 	sp -= rmeth->stack_item_count;
 	
@@ -2123,13 +2126,12 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	// invokeinterface has two unused bytes...
 	pc += 2;
 
-	rmeth = (_Jv_ResolvedMethod*)
-	    _Jv_ResolvePoolEntry (defining_class, index);
+	rmeth = (_Jv_ResolvePoolEntry (defining_class, index)).rmethod;
 
 	sp -= rmeth->stack_item_count;
 	NULLCHECK(sp[0]);
 	
-	jobject rcv = (jobject)sp[0];
+	jobject rcv = sp[0].o;
 
 	fun = (void (*) (...))
 	  _Jv_LookupInterfaceMethod (rcv->getClass (),
@@ -2142,8 +2144,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_new:
       {
 	int index = get2u (pc); pc += 2;
-	jclass klass = (jclass) _Jv_ResolvePoolEntry (defining_class,
-						      index);
+	jclass klass = (_Jv_ResolvePoolEntry (defining_class, index)).clazz;
 	_Jv_InitClass (klass);
 	jobject res = _Jv_AllocObject (klass, klass->size_in_bytes);
 	PUSHA (res);
@@ -2162,7 +2163,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
     case op_anewarray:
       {
 	int index = get2u (pc); pc += 2;
-	jclass klass = (jclass) _Jv_ResolvePoolEntry (defining_class, index);
+	jclass klass = (_Jv_ResolvePoolEntry (defining_class, index)).clazz;
 	int size  = POPI();
 	_Jv_InitClass (klass);
 	jobject result = _Jv_NewObjectArray (size, klass, 0);
@@ -2189,8 +2190,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	jobject value = POPA();
 	jint index = get2u (pc); pc += 2;
-	jclass to = (jclass)_Jv_ResolvePoolEntry (defining_class,
-						  index);
+	jclass to = (_Jv_ResolvePoolEntry (defining_class, index)).clazz;
 
 	if (value != NULL && ! to->isInstance (value))
 	  {
@@ -2207,8 +2207,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
       {
 	jobject value = POPA();
 	jint index = get2u (pc); pc += 2;
-	jclass to = (jclass)_Jv_ResolvePoolEntry (defining_class,
-						  index);
+	jclass to = (_Jv_ResolvePoolEntry (defining_class, index)).clazz;
 	PUSHI (to->isInstance (value));
       }
       goto next_insn;
@@ -2315,8 +2314,8 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
 	int kind_index = get2u (pc); pc += 2;
 	int dim        = get1u (pc); pc += 1;
 
-	jclass type    = (jclass) _Jv_ResolvePoolEntry (defining_class,
-							kind_index);
+	jclass type    
+	  = (_Jv_ResolvePoolEntry (defining_class, kind_index)).clazz;
 	_Jv_InitClass (type);
 	jint *sizes    = (jint*) alloca (sizeof (jint)*dim);
 
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h
index df55425daeef..c4600bf329d3 100644
--- a/libjava/java/lang/Class.h
+++ b/libjava/java/lang/Class.h
@@ -49,7 +49,7 @@ struct _Jv_Constants
 {
   jint size;
   jbyte *tags;
-  void **data;
+  _Jv_word *data;
 };
 
 struct _Jv_Method
@@ -192,7 +192,7 @@ private:
   friend int _Jv_DetermineVTableIndex (jclass, _Jv_Utf8Const *, 
 				       _Jv_Utf8Const*);
   friend void _Jv_InitField (jobject, jclass, int);
-  friend void* _Jv_ResolvePoolEntry (jclass, int);
+  friend _Jv_word _Jv_ResolvePoolEntry (jclass, int);
   friend void _Jv_PrepareClass (jclass);
 
   friend class _Jv_ClassReader;	
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index 13452eccd99e..0caaa4cbffd8 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -233,8 +233,8 @@ _Jv_InternClassStrings(jclass klass)
       if (pool->tags[i] == JV_CONSTANT_String)
 	{
 	  jstring str;
-	  str = _Jv_NewStringUtf8Const ((_Jv_Utf8Const *) pool->data[i]);
-	  pool->data[i] = (void *) str;
+	  str = _Jv_NewStringUtf8Const (pool->data[i].utf8);
+	  pool->data[i].string = str;
 	  pool->tags[i] |= JV_CONSTANT_ResolvedFlag;
 	}
     }
diff --git a/libjava/java/net/natPlainSocketImpl.cc b/libjava/java/net/natPlainSocketImpl.cc
index e652ba7d8e0a..fc8d814471f7 100644
--- a/libjava/java/net/natPlainSocketImpl.cc
+++ b/libjava/java/net/natPlainSocketImpl.cc
@@ -11,7 +11,9 @@ details.  */
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/time.h>
+#ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
+#endif
 #include <netinet/in.h>
 #include <netinet/tcp.h>
 #include <errno.h>
diff --git a/libjava/resolve.cc b/libjava/resolve.cc
index a2d61c96210b..9a48b6092b0f 100644
--- a/libjava/resolve.cc
+++ b/libjava/resolve.cc
@@ -75,7 +75,7 @@ static void throw_incompatible_class_change_error (jstring msg)
   JvThrow (new java::lang::IncompatibleClassChangeError (msg));
 }
 
-void*
+_Jv_word
 _Jv_ResolvePoolEntry (jclass klass, int index)
 {
   _Jv_Constants *pool = &klass->constants;
@@ -86,7 +86,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
   switch (pool->tags[index]) {
   case JV_CONSTANT_Class:
     {
-      _Jv_Utf8Const *name = (_Jv_Utf8Const *) pool->data[index];
+      _Jv_Utf8Const *name = pool->data[index].utf8;
 
       jclass found;
       if (name->data[0] == '[')
@@ -105,7 +105,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
 	  || (_Jv_ClassNameSamePackage (found->name,
 					klass->name)))
 	{
-	  pool->data[index] = (void *) found;
+	  pool->data[index].clazz = found;
 	  pool->tags[index] |= JV_CONSTANT_ResolvedFlag;
 	}
       else
@@ -118,8 +118,8 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
   case JV_CONSTANT_String:
     {
       jstring str;
-      str = _Jv_NewStringUtf8Const ((_Jv_Utf8Const *) pool->data[index]);
-      pool->data[index] = (void *) str;
+      str = _Jv_NewStringUtf8Const (pool->data[index].utf8);
+      pool->data[index].o = str;
       pool->tags[index] |= JV_CONSTANT_ResolvedFlag;
     }
     break;
@@ -127,22 +127,21 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
   case JV_CONSTANT_Fieldref:
     {
       _Jv_ushort class_index, name_and_type_index;
-      _Jv_loadIndexes ((const void**) &pool->data[index],
+      _Jv_loadIndexes (&pool->data[index],
 		       class_index,
 		       name_and_type_index);
-      jclass owner = (jclass) _Jv_ResolvePoolEntry (klass, class_index);
+      jclass owner = (_Jv_ResolvePoolEntry (klass, class_index)).clazz;
 
       if (owner != klass)
 	_Jv_InitClass (owner);
 
       _Jv_ushort name_index, type_index;
-      _Jv_loadIndexes ((const void**) &pool->data[name_and_type_index],
+      _Jv_loadIndexes (&pool->data[name_and_type_index],
 		       name_index,
 		       type_index);
 
-      _Jv_Utf8Const *field_name = (_Jv_Utf8Const*) pool->data[name_index];
-      _Jv_Utf8Const *field_type_name =
-	(_Jv_Utf8Const*) pool->data[type_index];
+      _Jv_Utf8Const *field_name = pool->data[name_index].utf8;
+      _Jv_Utf8Const *field_type_name = pool->data[type_index].utf8;
 
       // FIXME: The implementation of this function
       // (_Jv_FindClassFromSignature) will generate an instance of
@@ -211,7 +210,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
 	  throw_incompatible_class_change_error (msg);
 	}
 
-      pool->data[index] = (void*)the_field;
+      pool->data[index].field = the_field;
       pool->tags[index] |= JV_CONSTANT_ResolvedFlag;
     }
     break;
@@ -220,22 +219,21 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
   case JV_CONSTANT_InterfaceMethodref:
     {
       _Jv_ushort class_index, name_and_type_index;
-      _Jv_loadIndexes ((const void**) &pool->data[index],
+      _Jv_loadIndexes (&pool->data[index],
 		       class_index,
 		       name_and_type_index);
-      jclass owner = (jclass) _Jv_ResolvePoolEntry (klass, class_index);
+      jclass owner = (_Jv_ResolvePoolEntry (klass, class_index)).clazz;
 
       if (owner != klass)
 	_Jv_InitClass (owner);
 
       _Jv_ushort name_index, type_index;
-      _Jv_loadIndexes ((const void**) &pool->data[name_and_type_index],
+      _Jv_loadIndexes (&pool->data[name_and_type_index],
 		       name_index,
 		       type_index);
 
-      _Jv_Utf8Const *method_name = (_Jv_Utf8Const*) pool->data[name_index];
-      _Jv_Utf8Const *method_signature =
-	(_Jv_Utf8Const*) pool->data[type_index];
+      _Jv_Utf8Const *method_name = pool->data[name_index].utf8;
+      _Jv_Utf8Const *method_signature = pool->data[type_index].utf8;
 
       int vtable_index = -1;
       _Jv_Method *the_method = 0;
@@ -304,7 +302,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
 	  JvThrow(new java::lang::NoSuchFieldError (msg));
 	}
       
-      pool->data[index] = (void*)
+      pool->data[index].rmethod = 
 	_Jv_BuildResolvedMethod(the_method,
 				found_class,
 				((the_method->accflags & STATIC) != 0),
@@ -754,8 +752,8 @@ _Jv_InitField (jobject obj, jclass klass, int index)
       {
 	_Jv_MonitorEnter (clz);
 	jstring str;
-	str = _Jv_NewStringUtf8Const ((_Jv_Utf8Const *) pool->data[init]);
-	pool->data[init] = (void *) str;
+	str = _Jv_NewStringUtf8Const (pool->data[init].utf8);
+	pool->data[init].string = str;
 	pool->tags[init] = JV_CONSTANT_ResolvedString;
 	_Jv_MonitorExit (clz);
       }
@@ -765,12 +763,12 @@ _Jv_InitField (jobject obj, jclass klass, int index)
       if (! (field->type == &StringClass || field->type == &ObjectClass))
 	throw_class_format_error ("string initialiser to non-string field");
 
-      *(jstring*)addr = *(jstring*) (pool->data + init);
+      *(jstring*)addr = pool->data[init].string;
       break;
 
     case JV_CONSTANT_Integer:
       {
-	int value = *(jint*)(pool->data + init);
+	int value = pool->data[init].i;
 
 	if (field->type == JvPrimClass (boolean))
 	  *(jboolean*)addr = (jboolean)value;
@@ -796,21 +794,21 @@ _Jv_InitField (jobject obj, jclass klass, int index)
       if (field->type != JvPrimClass (long))
 	throw_class_format_error ("erroneous field initializer");
 
-      memcpy (addr, pool->data+init, 8);
+      *(jlong*)addr = _Jv_loadLong (&pool->data[init]);
       break;
 
     case JV_CONSTANT_Float:
       if (field->type != JvPrimClass (float))
 	throw_class_format_error ("erroneous field initializer");
 
-      memcpy (addr, pool->data+init, 4);
+      *(jfloat*)addr = pool->data[init].f;
       break;
 
     case JV_CONSTANT_Double:
       if (field->type != JvPrimClass (double))
 	throw_class_format_error ("erroneous field initializer");
 
-      memcpy (addr, pool->data+init, 8);
+      *(jdouble*)addr = _Jv_loadDouble (&pool->data[init]);
       break;
 
     default:
-- 
GitLab