diff options
-rw-r--r-- | libjava/ChangeLog | 36 | ||||
-rw-r--r-- | libjava/Makefile.am | 2 | ||||
-rw-r--r-- | libjava/Makefile.in | 2 | ||||
-rw-r--r-- | libjava/THANKS | 2 | ||||
-rw-r--r-- | libjava/acinclude.m4 | 2 | ||||
-rw-r--r-- | libjava/boehm.cc | 3 | ||||
-rwxr-xr-x | libjava/configure | 414 | ||||
-rw-r--r-- | libjava/configure.in | 19 | ||||
-rw-r--r-- | libjava/defineclass.cc | 56 | ||||
-rw-r--r-- | libjava/include/java-cpool.h | 128 | ||||
-rw-r--r-- | libjava/include/java-interp.h | 21 | ||||
-rw-r--r-- | libjava/include/javaprims.h | 21 | ||||
-rw-r--r-- | libjava/interpret.cc | 169 | ||||
-rw-r--r-- | libjava/java/lang/Class.h | 4 | ||||
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 4 | ||||
-rw-r--r-- | libjava/java/net/natPlainSocketImpl.cc | 2 | ||||
-rw-r--r-- | libjava/resolve.cc | 50 |
17 files changed, 471 insertions, 464 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 13d1400c91a..9b04792a1e5 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 83217c89492..ce6c32ee8eb 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 c03c3223311..d0c1ab25ae0 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 5b9b9f8cf07..1a75a6d5e57 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 ff8513458a4..1b7186a8d19 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 2e1b5f23cf7..f73bf868017 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 e7c7df89b86..39914da96e9 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 9a3f95e3cb9..caff68164b0 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 e062fb2e756..46f2a66d345 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 f4d7ef9910a..b5e3ab36db7 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 70feec19beb..ffd53a868ab 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 9d8c0a6eab5..ef87519d9c5 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 1b9b8006da7..6ca6f0da606 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 df55425daee..c4600bf329d 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 13452eccd99..0caaa4cbffd 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 e652ba7d8e0..fc8d814471f 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 a2d61c96210..9a48b6092b0 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: |