Compare commits
No commits in common. 'c9' and 'i9c-beta' have entirely different histories.
@ -1,2 +1,2 @@
|
||||
SOURCES/shenandoah8u442-b06.tar.xz
|
||||
SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u362-b08-4curve.tar.xz
|
||||
SOURCES/tapsets-icedtea-3.15.0.tar.xz
|
||||
|
@ -1,2 +1,2 @@
|
||||
f5c84eb1dd6c8dba50a2ae89e01ec1d1b4f26fde SOURCES/shenandoah8u442-b06.tar.xz
|
||||
71e5a111b66d7a8e4234d35117e0fd663d39f9ce SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u362-b08-4curve.tar.xz
|
||||
7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,51 +0,0 @@
|
||||
commit 928f3bf4a3017931ecc7012688e62d8a03264e61
|
||||
Author: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
AuthorDate: Thu Jan 16 17:40:36 2025 +0000
|
||||
Commit: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
CommitDate: Thu Jan 16 22:50:24 2025 +0000
|
||||
|
||||
Search /usr/lib64 on architectures other than x86_64
|
||||
|
||||
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
|
||||
index 587b4c2657..5aeebe49a3 100644
|
||||
--- a/common/autoconf/generated-configure.sh
|
||||
+++ b/common/autoconf/generated-configure.sh
|
||||
@@ -4493,7 +4493,7 @@ VS_TOOLSET_SUPPORTED_2022=true
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# Do not change or remove the following line, it is needed for consistency checks:
|
||||
-DATE_WHEN_GENERATED=1737049912
|
||||
+DATE_WHEN_GENERATED=1737067804
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@@ -50590,9 +50590,11 @@ $as_echo_n "checking for libffi lib file location... " >&6; }
|
||||
as_fn_error $? "Could not locate libffi.so.? for bundling" "$LINENO" 5
|
||||
fi
|
||||
else
|
||||
- # Fallback on the default /usr/lib dir
|
||||
+ # Fallback on the default /usr/lib and /usr/lib64 dirs
|
||||
if test -e ${SYSROOT}/usr/lib/libffi.so.? ; then
|
||||
LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/libffi.so.?"
|
||||
+ elif test -e ${SYSROOT}/usr/lib64/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib64/libffi.so.?"
|
||||
else
|
||||
as_fn_error $? "Could not locate libffi.so.? for bundling" "$LINENO" 5
|
||||
fi
|
||||
diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4
|
||||
index 4ed8b4fdd6..6ab6dbc075 100644
|
||||
--- a/common/autoconf/libraries.m4
|
||||
+++ b/common/autoconf/libraries.m4
|
||||
@@ -1121,9 +1121,11 @@ AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP],
|
||||
AC_MSG_ERROR([Could not locate libffi.so.? for bundling])
|
||||
fi
|
||||
else
|
||||
- # Fallback on the default /usr/lib dir
|
||||
+ # Fallback on the default /usr/lib and /usr/lib64 dirs
|
||||
if test -e ${SYSROOT}/usr/lib/libffi.so.? ; then
|
||||
LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/libffi.so.?"
|
||||
+ elif test -e ${SYSROOT}/usr/lib64/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib64/libffi.so.?"
|
||||
else
|
||||
AC_MSG_ERROR([Could not locate libffi.so.? for bundling])
|
||||
fi
|
@ -1,763 +0,0 @@
|
||||
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
|
||||
index ad3f7f232e..587b4c2657 100644
|
||||
--- a/common/autoconf/generated-configure.sh
|
||||
+++ b/common/autoconf/generated-configure.sh
|
||||
@@ -649,6 +649,9 @@ LLVM_LIBS
|
||||
LLVM_LDFLAGS
|
||||
LLVM_CFLAGS
|
||||
LLVM_CONFIG
|
||||
+LIBFFI_LIB_FILE
|
||||
+LIBFFI_LIB_DIR
|
||||
+ENABLE_LIBFFI_BUNDLING
|
||||
LIBFFI_LIBS
|
||||
LIBFFI_CFLAGS
|
||||
STATIC_CXX_SETTING
|
||||
@@ -1117,6 +1120,10 @@ with_fontconfig_include
|
||||
with_giflib
|
||||
with_zlib
|
||||
with_stdc__lib
|
||||
+with_libffi
|
||||
+with_libffi_include
|
||||
+with_libffi_lib
|
||||
+enable_libffi_bundling
|
||||
with_msvcr_dll
|
||||
with_msvcp_dll
|
||||
with_vcruntime_1_dll
|
||||
@@ -1867,6 +1874,9 @@ Optional Features:
|
||||
disable bundling of the freetype library with the
|
||||
build result [enabled on Windows or when using
|
||||
--with-freetype, disabled otherwise]
|
||||
+ --enable-libffi-bundling
|
||||
+ enable bundling of libffi.so to make the built JDK
|
||||
+ runnable on more systems
|
||||
--enable-sjavac use sjavac to do fast incremental compiles
|
||||
[disabled]
|
||||
--disable-precompiled-headers
|
||||
@@ -1996,6 +2006,11 @@ Optional Packages:
|
||||
force linking of the C++ runtime on Linux to either
|
||||
static or dynamic, default is static with dynamic as
|
||||
fallback
|
||||
+ --with-libffi specify prefix directory for the libffi package
|
||||
+ (expecting the libraries under PATH/lib and the
|
||||
+ headers under PATH/include)
|
||||
+ --with-libffi-include specify directory for the libffi include files
|
||||
+ --with-libffi-lib specify directory for the libffi library
|
||||
--with-msvcr-dll path to microsoft C runtime dll (msvcr*.dll)
|
||||
(Windows only) [probed]
|
||||
--with-msvcp-dll path to microsoft C++ runtime dll (msvcp*.dll)
|
||||
@@ -2878,6 +2893,52 @@ $as_echo "$ac_res" >&6; }
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
|
||||
} # ac_fn_c_check_header_compile
|
||||
+
|
||||
+# ac_fn_c_try_link LINENO
|
||||
+# -----------------------
|
||||
+# Try to link conftest.$ac_ext, and return whether this succeeded.
|
||||
+ac_fn_c_try_link ()
|
||||
+{
|
||||
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
+ rm -f conftest.$ac_objext conftest$ac_exeext
|
||||
+ if { { ac_try="$ac_link"
|
||||
+case "(($ac_try" in
|
||||
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
+ *) ac_try_echo=$ac_try;;
|
||||
+esac
|
||||
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
+$as_echo "$ac_try_echo"; } >&5
|
||||
+ (eval "$ac_link") 2>conftest.err
|
||||
+ ac_status=$?
|
||||
+ if test -s conftest.err; then
|
||||
+ grep -v '^ *+' conftest.err >conftest.er1
|
||||
+ cat conftest.er1 >&5
|
||||
+ mv -f conftest.er1 conftest.err
|
||||
+ fi
|
||||
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
+ test $ac_status = 0; } && {
|
||||
+ test -z "$ac_c_werror_flag" ||
|
||||
+ test ! -s conftest.err
|
||||
+ } && test -s conftest$ac_exeext && {
|
||||
+ test "$cross_compiling" = yes ||
|
||||
+ test -x conftest$ac_exeext
|
||||
+ }; then :
|
||||
+ ac_retval=0
|
||||
+else
|
||||
+ $as_echo "$as_me: failed program was:" >&5
|
||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
||||
+
|
||||
+ ac_retval=1
|
||||
+fi
|
||||
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
|
||||
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
|
||||
+ # interfere with the next link command; also delete a directory that is
|
||||
+ # left behind by Apple's compiler. We do this before executing the actions.
|
||||
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
+ as_fn_set_status $ac_retval
|
||||
+
|
||||
+} # ac_fn_c_try_link
|
||||
cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
@@ -4432,7 +4493,7 @@ VS_TOOLSET_SUPPORTED_2022=true
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# Do not change or remove the following line, it is needed for consistency checks:
|
||||
-DATE_WHEN_GENERATED=1716396030
|
||||
+DATE_WHEN_GENERATED=1737049912
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@@ -50215,8 +50276,70 @@ $as_echo "static" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
+
|
||||
+# Check whether --with-libffi was given.
|
||||
+if test "${with_libffi+set}" = set; then :
|
||||
+ withval=$with_libffi;
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+# Check whether --with-libffi-include was given.
|
||||
+if test "${with_libffi_include+set}" = set; then :
|
||||
+ withval=$with_libffi_include;
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+# Check whether --with-libffi-lib was given.
|
||||
+if test "${with_libffi_lib+set}" = set; then :
|
||||
+ withval=$with_libffi_lib;
|
||||
+fi
|
||||
+
|
||||
+ # Check whether --enable-libffi-bundling was given.
|
||||
+if test "${enable_libffi_bundling+set}" = set; then :
|
||||
+ enableval=$enable_libffi_bundling;
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ # Check if ffi is needed
|
||||
if test "x$JVM_VARIANT_ZERO" = xtrue || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
|
||||
- # Figure out LIBFFI_CFLAGS and LIBFFI_LIBS
|
||||
+ NEEDS_LIB_FFI=true
|
||||
+ else
|
||||
+ NEEDS_LIB_FFI=false
|
||||
+ fi
|
||||
+
|
||||
+ if test "x$NEEDS_LIB_FFI" = xfalse; then
|
||||
+ if test "x${with_libffi}" != x || test "x${with_libffi_include}" != x || test "x${with_libffi_lib}" != x; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libffi not used, so --with-libffi is ignored" >&5
|
||||
+$as_echo "$as_me: WARNING: libffi not used, so --with-libffi is ignored" >&2;}
|
||||
+ fi
|
||||
+ LIBFFI_CFLAGS=
|
||||
+ LIBFFI_LIBS=
|
||||
+ else
|
||||
+ LIBFFI_FOUND=no
|
||||
+
|
||||
+ if test "x${with_libffi}" = xno || test "x${with_libffi_include}" = xno || test "x${with_libffi_lib}" = xno; then
|
||||
+ as_fn_error $? "It is not possible to disable the use of libffi. Remove the --without-libffi option." "$LINENO" 5
|
||||
+ fi
|
||||
+
|
||||
+ if test "x${with_libffi}" != x; then
|
||||
+ LIBFFI_LIB_PATH="${with_libffi}/lib"
|
||||
+ LIBFFI_LIBS="-L${with_libffi}/lib -lffi"
|
||||
+ LIBFFI_CFLAGS="-I${with_libffi}/include"
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ fi
|
||||
+ if test "x${with_libffi_include}" != x; then
|
||||
+ LIBFFI_CFLAGS="-I${with_libffi_include}"
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ fi
|
||||
+ if test "x${with_libffi_lib}" != x; then
|
||||
+ LIBFFI_LIB_PATH="${with_libffi_lib}"
|
||||
+ LIBFFI_LIBS="-L${with_libffi_lib} -lffi"
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ fi
|
||||
+ # Do not try pkg-config if we have a sysroot set.
|
||||
+ if test "x$SYSROOT" = x; then
|
||||
+ if test "x$LIBFFI_FOUND" = xno; then
|
||||
+ # Figure out LIBFFI_CFLAGS and LIBFFI_LIBS
|
||||
|
||||
pkg_failed=no
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBFFI" >&5
|
||||
@@ -50272,40 +50395,224 @@ fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$LIBFFI_PKG_ERRORS" >&5
|
||||
|
||||
- as_fn_error $? "Package requirements (libffi) were not met:
|
||||
-
|
||||
-$LIBFFI_PKG_ERRORS
|
||||
-
|
||||
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
-installed software in a non-standard prefix.
|
||||
-
|
||||
-Alternatively, you may set the environment variables LIBFFI_CFLAGS
|
||||
-and LIBFFI_LIBS to avoid the need to call pkg-config.
|
||||
-See the pkg-config man page for more details.
|
||||
-" "$LINENO" 5
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
+$as_echo "no" >&6; }
|
||||
+ LIBFFI_FOUND=no
|
||||
elif test $pkg_failed = untried; then
|
||||
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
|
||||
-is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
-path to pkg-config.
|
||||
-
|
||||
-Alternatively, you may set the environment variables LIBFFI_CFLAGS
|
||||
-and LIBFFI_LIBS to avoid the need to call pkg-config.
|
||||
-See the pkg-config man page for more details.
|
||||
-
|
||||
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
|
||||
-See \`config.log' for more details" "$LINENO" 5; }
|
||||
+ LIBFFI_FOUND=no
|
||||
else
|
||||
LIBFFI_CFLAGS=$pkg_cv_LIBFFI_CFLAGS
|
||||
LIBFFI_LIBS=$pkg_cv_LIBFFI_LIBS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
- :
|
||||
+ LIBFFI_FOUND=yes
|
||||
+fi
|
||||
+ fi
|
||||
+ fi
|
||||
+ if test "x$LIBFFI_FOUND" = xno; then
|
||||
+ for ac_header in ffi.h
|
||||
+do :
|
||||
+ ac_fn_cxx_check_header_mongrel "$LINENO" "ffi.h" "ac_cv_header_ffi_h" "$ac_includes_default"
|
||||
+if test "x$ac_cv_header_ffi_h" = xyes; then :
|
||||
+ cat >>confdefs.h <<_ACEOF
|
||||
+#define HAVE_FFI_H 1
|
||||
+_ACEOF
|
||||
+
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ LIBFFI_CFLAGS=
|
||||
+ LIBFFI_LIBS=-lffi
|
||||
+
|
||||
+else
|
||||
+ LIBFFI_FOUND=no
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+done
|
||||
+
|
||||
+ fi
|
||||
+ if test "x$LIBFFI_FOUND" = xno; then
|
||||
+
|
||||
+ # Print a helpful message on how to acquire the necessary build dependency.
|
||||
+ # ffi is the help tag: freetype, cups, pulse, alsa etc
|
||||
+ MISSING_DEPENDENCY=ffi
|
||||
+
|
||||
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||
+ cygwin_help $MISSING_DEPENDENCY
|
||||
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||
+ msys_help $MISSING_DEPENDENCY
|
||||
+ else
|
||||
+ PKGHANDLER_COMMAND=
|
||||
+
|
||||
+ case $PKGHANDLER in
|
||||
+ apt-get)
|
||||
+ apt_help $MISSING_DEPENDENCY ;;
|
||||
+ yum)
|
||||
+ yum_help $MISSING_DEPENDENCY ;;
|
||||
+ port)
|
||||
+ port_help $MISSING_DEPENDENCY ;;
|
||||
+ pkgutil)
|
||||
+ pkgutil_help $MISSING_DEPENDENCY ;;
|
||||
+ pkgadd)
|
||||
+ pkgadd_help $MISSING_DEPENDENCY ;;
|
||||
+ esac
|
||||
+
|
||||
+ if test "x$PKGHANDLER_COMMAND" != x; then
|
||||
+ HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ as_fn_error $? "Could not find libffi! $HELP_MSG" "$LINENO" 5
|
||||
+ fi
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libffi works" >&5
|
||||
+$as_echo_n "checking if libffi works... " >&6; }
|
||||
+ ac_ext=c
|
||||
+ac_cpp='$CPP $CPPFLAGS'
|
||||
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
+
|
||||
+ OLD_CFLAGS="$CFLAGS"
|
||||
+ CFLAGS="$CFLAGS $LIBFFI_CFLAGS"
|
||||
+ OLD_LIBS="$LIBS"
|
||||
+ LIBS="$LIBS $LIBFFI_LIBS"
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+/* end confdefs.h. */
|
||||
+#include <ffi.h>
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+
|
||||
+ ffi_call(NULL, NULL, NULL, NULL);
|
||||
+ return 0;
|
||||
+
|
||||
+ ;
|
||||
+ return 0;
|
||||
+}
|
||||
+_ACEOF
|
||||
+if ac_fn_c_try_link "$LINENO"; then :
|
||||
+ LIBFFI_WORKS=yes
|
||||
+else
|
||||
+ LIBFFI_WORKS=no
|
||||
+
|
||||
fi
|
||||
+rm -f core conftest.err conftest.$ac_objext \
|
||||
+ conftest$ac_exeext conftest.$ac_ext
|
||||
+ CFLAGS="$OLD_CFLAGS"
|
||||
+ LIBS="$OLD_LIBS"
|
||||
+ ac_ext=cpp
|
||||
+ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBFFI_WORKS" >&5
|
||||
+$as_echo "$LIBFFI_WORKS" >&6; }
|
||||
|
||||
+ if test "x$LIBFFI_WORKS" = xno; then
|
||||
+
|
||||
+ # Print a helpful message on how to acquire the necessary build dependency.
|
||||
+ # ffi is the help tag: freetype, cups, pulse, alsa etc
|
||||
+ MISSING_DEPENDENCY=ffi
|
||||
+
|
||||
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||
+ cygwin_help $MISSING_DEPENDENCY
|
||||
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||
+ msys_help $MISSING_DEPENDENCY
|
||||
+ else
|
||||
+ PKGHANDLER_COMMAND=
|
||||
+
|
||||
+ case $PKGHANDLER in
|
||||
+ apt-get)
|
||||
+ apt_help $MISSING_DEPENDENCY ;;
|
||||
+ yum)
|
||||
+ yum_help $MISSING_DEPENDENCY ;;
|
||||
+ port)
|
||||
+ port_help $MISSING_DEPENDENCY ;;
|
||||
+ pkgutil)
|
||||
+ pkgutil_help $MISSING_DEPENDENCY ;;
|
||||
+ pkgadd)
|
||||
+ pkgadd_help $MISSING_DEPENDENCY ;;
|
||||
+ esac
|
||||
+
|
||||
+ if test "x$PKGHANDLER_COMMAND" != x; then
|
||||
+ HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
|
||||
+ fi
|
||||
fi
|
||||
|
||||
+ as_fn_error $? "Found libffi but could not link and compile with it. $HELP_MSG" "$LINENO" 5
|
||||
+ fi
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libffi should be bundled" >&5
|
||||
+$as_echo_n "checking if libffi should be bundled... " >&6; }
|
||||
+ if test "x$enable_libffi_bundling" = "x"; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
+$as_echo "no" >&6; }
|
||||
+ ENABLE_LIBFFI_BUNDLING=false
|
||||
+ elif test "x$enable_libffi_bundling" = "xno"; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, forced" >&5
|
||||
+$as_echo "no, forced" >&6; }
|
||||
+ ENABLE_LIBFFI_BUNDLING=false
|
||||
+ elif test "x$enable_libffi_bundling" = "xyes"; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, forced" >&5
|
||||
+$as_echo "yes, forced" >&6; }
|
||||
+ ENABLE_LIBFFI_BUNDLING=true
|
||||
+ else
|
||||
+ as_fn_error $? "Invalid value for --enable-libffi-bundling" "$LINENO" 5
|
||||
+ fi
|
||||
+
|
||||
+ # Find the libffi.so.X to bundle
|
||||
+ if test "x${ENABLE_LIBFFI_BUNDLING}" = "xtrue"; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libffi lib file location" >&5
|
||||
+$as_echo_n "checking for libffi lib file location... " >&6; }
|
||||
+ if test "x${LIBFFI_LIB_PATH}" != x; then
|
||||
+ if test -e ${LIBFFI_LIB_PATH}/libffi.so.?; then
|
||||
+ LIBFFI_LIB_FILE="${LIBFFI_LIB_PATH}/libffi.so.?"
|
||||
+ else
|
||||
+ as_fn_error $? "Could not locate libffi.so.? for bundling in ${LIBFFI_LIB_PATH}" "$LINENO" 5
|
||||
+ fi
|
||||
+ else
|
||||
+ # If we don't have an explicit path, look in a few obvious places
|
||||
+ if test "x${OPENJDK_TARGET_CPU}" = "xx86"; then
|
||||
+ if test -e ${SYSROOT}/usr/lib/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/libffi.so.?"
|
||||
+ elif test -e ${SYSROOT}/usr/lib/i386-linux-gnu/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/i386-linux-gnu/libffi.so.?"
|
||||
+ else
|
||||
+ as_fn_error $? "Could not locate libffi.so.? for bundling" "$LINENO" 5
|
||||
+ fi
|
||||
+ elif test "x${OPENJDK_TARGET_CPU}" = "xx86_64"; then
|
||||
+ if test -e ${SYSROOT}/usr/lib64/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib64/libffi.so.?"
|
||||
+ elif test -e ${SYSROOT}/usr/lib/x86_64-linux-gnu/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/x86_64-linux-gnu/libffi.so.?"
|
||||
+ else
|
||||
+ as_fn_error $? "Could not locate libffi.so.? for bundling" "$LINENO" 5
|
||||
+ fi
|
||||
+ else
|
||||
+ # Fallback on the default /usr/lib dir
|
||||
+ if test -e ${SYSROOT}/usr/lib/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/libffi.so.?"
|
||||
+ else
|
||||
+ as_fn_error $? "Could not locate libffi.so.? for bundling" "$LINENO" 5
|
||||
+ fi
|
||||
+ fi
|
||||
+ fi
|
||||
+ # Make sure the wildcard is evaluated
|
||||
+ LIBFFI_LIB_FILE="$(ls ${LIBFFI_LIB_FILE})"
|
||||
+ LIBFFI_LIB_DIR="$(dirname ${LIBFFI_LIB_FILE})"
|
||||
+ LIBFFI_LIB_FILE="$(basename ${LIBFFI_LIB_FILE})"
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${LIBFFI_LIB_FILE} in ${LIBFFI_LIB_DIR}" >&5
|
||||
+$as_echo "${LIBFFI_LIB_FILE} in ${LIBFFI_LIB_DIR}" >&6; }
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
|
||||
# Extract the first word of "llvm-config", so it can be a program name with args.
|
||||
set dummy llvm-config; ac_word=$2
|
||||
diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4
|
||||
index 6efae578ea..4ed8b4fdd6 100644
|
||||
--- a/common/autoconf/libraries.m4
|
||||
+++ b/common/autoconf/libraries.m4
|
||||
@@ -988,12 +988,161 @@ AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP],
|
||||
fi
|
||||
AC_SUBST(STATIC_CXX_SETTING)
|
||||
|
||||
+ AC_ARG_WITH(libffi, [AS_HELP_STRING([--with-libffi],
|
||||
+ [specify prefix directory for the libffi package
|
||||
+ (expecting the libraries under PATH/lib and the headers under PATH/include)])])
|
||||
+ AC_ARG_WITH(libffi-include, [AS_HELP_STRING([--with-libffi-include],
|
||||
+ [specify directory for the libffi include files])])
|
||||
+ AC_ARG_WITH(libffi-lib, [AS_HELP_STRING([--with-libffi-lib],
|
||||
+ [specify directory for the libffi library])])
|
||||
+ AC_ARG_ENABLE(libffi-bundling, [AS_HELP_STRING([--enable-libffi-bundling],
|
||||
+ [enable bundling of libffi.so to make the built JDK runnable on more systems])])
|
||||
+
|
||||
+ # Check if ffi is needed
|
||||
if test "x$JVM_VARIANT_ZERO" = xtrue || test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
|
||||
- # Figure out LIBFFI_CFLAGS and LIBFFI_LIBS
|
||||
- PKG_CHECK_MODULES([LIBFFI], [libffi])
|
||||
+ NEEDS_LIB_FFI=true
|
||||
+ else
|
||||
+ NEEDS_LIB_FFI=false
|
||||
+ fi
|
||||
+
|
||||
+ if test "x$NEEDS_LIB_FFI" = xfalse; then
|
||||
+ if test "x${with_libffi}" != x || test "x${with_libffi_include}" != x || test "x${with_libffi_lib}" != x; then
|
||||
+ AC_MSG_WARN([libffi not used, so --with-libffi is ignored])
|
||||
+ fi
|
||||
+ LIBFFI_CFLAGS=
|
||||
+ LIBFFI_LIBS=
|
||||
+ else
|
||||
+ LIBFFI_FOUND=no
|
||||
|
||||
+ if test "x${with_libffi}" = xno || test "x${with_libffi_include}" = xno || test "x${with_libffi_lib}" = xno; then
|
||||
+ AC_MSG_ERROR([It is not possible to disable the use of libffi. Remove the --without-libffi option.])
|
||||
+ fi
|
||||
+
|
||||
+ if test "x${with_libffi}" != x; then
|
||||
+ LIBFFI_LIB_PATH="${with_libffi}/lib"
|
||||
+ LIBFFI_LIBS="-L${with_libffi}/lib -lffi"
|
||||
+ LIBFFI_CFLAGS="-I${with_libffi}/include"
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ fi
|
||||
+ if test "x${with_libffi_include}" != x; then
|
||||
+ LIBFFI_CFLAGS="-I${with_libffi_include}"
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ fi
|
||||
+ if test "x${with_libffi_lib}" != x; then
|
||||
+ LIBFFI_LIB_PATH="${with_libffi_lib}"
|
||||
+ LIBFFI_LIBS="-L${with_libffi_lib} -lffi"
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ fi
|
||||
+ # Do not try pkg-config if we have a sysroot set.
|
||||
+ if test "x$SYSROOT" = x; then
|
||||
+ if test "x$LIBFFI_FOUND" = xno; then
|
||||
+ # Figure out LIBFFI_CFLAGS and LIBFFI_LIBS
|
||||
+ PKG_CHECK_MODULES([LIBFFI], [libffi], [LIBFFI_FOUND=yes], [LIBFFI_FOUND=no])
|
||||
+ fi
|
||||
+ fi
|
||||
+ if test "x$LIBFFI_FOUND" = xno; then
|
||||
+ AC_CHECK_HEADERS([ffi.h],
|
||||
+ [
|
||||
+ LIBFFI_FOUND=yes
|
||||
+ LIBFFI_CFLAGS=
|
||||
+ LIBFFI_LIBS=-lffi
|
||||
+ ],
|
||||
+ [LIBFFI_FOUND=no]
|
||||
+ )
|
||||
+ fi
|
||||
+ if test "x$LIBFFI_FOUND" = xno; then
|
||||
+ HELP_MSG_MISSING_DEPENDENCY([ffi])
|
||||
+ AC_MSG_ERROR([Could not find libffi! $HELP_MSG])
|
||||
+ fi
|
||||
+
|
||||
+ AC_MSG_CHECKING([if libffi works])
|
||||
+ AC_LANG_PUSH(C)
|
||||
+ OLD_CFLAGS="$CFLAGS"
|
||||
+ CFLAGS="$CFLAGS $LIBFFI_CFLAGS"
|
||||
+ OLD_LIBS="$LIBS"
|
||||
+ LIBS="$LIBS $LIBFFI_LIBS"
|
||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <ffi.h>],
|
||||
+ [
|
||||
+ ffi_call(NULL, NULL, NULL, NULL);
|
||||
+ return 0;
|
||||
+ ])],
|
||||
+ [LIBFFI_WORKS=yes],
|
||||
+ [LIBFFI_WORKS=no]
|
||||
+ )
|
||||
+ CFLAGS="$OLD_CFLAGS"
|
||||
+ LIBS="$OLD_LIBS"
|
||||
+ AC_LANG_POP(C)
|
||||
+ AC_MSG_RESULT([$LIBFFI_WORKS])
|
||||
+
|
||||
+ if test "x$LIBFFI_WORKS" = xno; then
|
||||
+ HELP_MSG_MISSING_DEPENDENCY([ffi])
|
||||
+ AC_MSG_ERROR([Found libffi but could not link and compile with it. $HELP_MSG])
|
||||
+ fi
|
||||
+
|
||||
+ AC_MSG_CHECKING([if libffi should be bundled])
|
||||
+ if test "x$enable_libffi_bundling" = "x"; then
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ ENABLE_LIBFFI_BUNDLING=false
|
||||
+ elif test "x$enable_libffi_bundling" = "xno"; then
|
||||
+ AC_MSG_RESULT([no, forced])
|
||||
+ ENABLE_LIBFFI_BUNDLING=false
|
||||
+ elif test "x$enable_libffi_bundling" = "xyes"; then
|
||||
+ AC_MSG_RESULT([yes, forced])
|
||||
+ ENABLE_LIBFFI_BUNDLING=true
|
||||
+ else
|
||||
+ AC_MSG_ERROR([Invalid value for --enable-libffi-bundling])
|
||||
+ fi
|
||||
+
|
||||
+ # Find the libffi.so.X to bundle
|
||||
+ if test "x${ENABLE_LIBFFI_BUNDLING}" = "xtrue"; then
|
||||
+ AC_MSG_CHECKING([for libffi lib file location])
|
||||
+ if test "x${LIBFFI_LIB_PATH}" != x; then
|
||||
+ if test -e ${LIBFFI_LIB_PATH}/libffi.so.?; then
|
||||
+ LIBFFI_LIB_FILE="${LIBFFI_LIB_PATH}/libffi.so.?"
|
||||
+ else
|
||||
+ AC_MSG_ERROR([Could not locate libffi.so.? for bundling in ${LIBFFI_LIB_PATH}])
|
||||
+ fi
|
||||
+ else
|
||||
+ # If we don't have an explicit path, look in a few obvious places
|
||||
+ if test "x${OPENJDK_TARGET_CPU}" = "xx86"; then
|
||||
+ if test -e ${SYSROOT}/usr/lib/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/libffi.so.?"
|
||||
+ elif test -e ${SYSROOT}/usr/lib/i386-linux-gnu/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/i386-linux-gnu/libffi.so.?"
|
||||
+ else
|
||||
+ AC_MSG_ERROR([Could not locate libffi.so.? for bundling])
|
||||
+ fi
|
||||
+ elif test "x${OPENJDK_TARGET_CPU}" = "xx86_64"; then
|
||||
+ if test -e ${SYSROOT}/usr/lib64/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib64/libffi.so.?"
|
||||
+ elif test -e ${SYSROOT}/usr/lib/x86_64-linux-gnu/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/x86_64-linux-gnu/libffi.so.?"
|
||||
+ else
|
||||
+ AC_MSG_ERROR([Could not locate libffi.so.? for bundling])
|
||||
+ fi
|
||||
+ else
|
||||
+ # Fallback on the default /usr/lib dir
|
||||
+ if test -e ${SYSROOT}/usr/lib/libffi.so.? ; then
|
||||
+ LIBFFI_LIB_FILE="${SYSROOT}/usr/lib/libffi.so.?"
|
||||
+ else
|
||||
+ AC_MSG_ERROR([Could not locate libffi.so.? for bundling])
|
||||
+ fi
|
||||
+ fi
|
||||
+ fi
|
||||
+ # Make sure the wildcard is evaluated
|
||||
+ LIBFFI_LIB_FILE="$(ls ${LIBFFI_LIB_FILE})"
|
||||
+ LIBFFI_LIB_DIR="$(dirname ${LIBFFI_LIB_FILE})"
|
||||
+ LIBFFI_LIB_FILE="$(basename ${LIBFFI_LIB_FILE})"
|
||||
+ AC_MSG_RESULT([${LIBFFI_LIB_FILE} in ${LIBFFI_LIB_DIR}])
|
||||
+ fi
|
||||
fi
|
||||
|
||||
+ AC_SUBST(LIBFFI_CFLAGS)
|
||||
+ AC_SUBST(LIBFFI_LIBS)
|
||||
+ AC_SUBST(ENABLE_LIBFFI_BUNDLING)
|
||||
+ AC_SUBST(LIBFFI_LIB_DIR)
|
||||
+ AC_SUBST(LIBFFI_LIB_FILE)
|
||||
+
|
||||
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
|
||||
AC_CHECK_PROG([LLVM_CONFIG], [llvm-config], [llvm-config])
|
||||
|
||||
diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in
|
||||
index 9573bb2cbd..8da3ac32a0 100644
|
||||
--- a/common/autoconf/spec.gmk.in
|
||||
+++ b/common/autoconf/spec.gmk.in
|
||||
@@ -311,6 +311,11 @@ FONTCONFIG_CFLAGS:=@FONTCONFIG_CFLAGS@
|
||||
CUPS_CFLAGS:=@CUPS_CFLAGS@
|
||||
ALSA_LIBS:=@ALSA_LIBS@
|
||||
ALSA_CFLAGS:=@ALSA_CFLAGS@
|
||||
+LIBFFI_LIBS:=@LIBFFI_LIBS@
|
||||
+LIBFFI_CFLAGS:=@LIBFFI_CFLAGS@
|
||||
+ENABLE_LIBFFI_BUNDLING:=@ENABLE_LIBFFI_BUNDLING@
|
||||
+LIBFFI_LIB_DIR:=@LIBFFI_LIB_DIR@
|
||||
+LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
|
||||
|
||||
PACKAGE_PATH=@PACKAGE_PATH@
|
||||
|
||||
diff --git a/hotspot/make/Makefile b/hotspot/make/Makefile
|
||||
index ad195763be..b9114cb99a 100644
|
||||
--- a/hotspot/make/Makefile
|
||||
+++ b/hotspot/make/Makefile
|
||||
@@ -476,6 +476,8 @@ $(EXPORT_INCLUDE_DIR)/%: $(ZERO_BUILD_DIR)/../generated/jvmtifiles/%
|
||||
# Unix
|
||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_BUILD_DIR)/%.$(LIBRARY_SUFFIX)
|
||||
$(install-file)
|
||||
+$(EXPORT_JRE_LIB_ARCH_DIR)/$(LIBFFI_LIB_FILE): $(LIBFFI_LIB_DIR)/$(LIBFFI_LIB_FILE)
|
||||
+ $(install-file)
|
||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(ZERO_BUILD_DIR)/%.debuginfo
|
||||
$(install-file)
|
||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(ZERO_BUILD_DIR)/%.diz
|
||||
diff --git a/hotspot/make/aix/makefiles/defs.make b/hotspot/make/aix/makefiles/defs.make
|
||||
index b12c9c8df2..db10f6a68f 100644
|
||||
--- a/hotspot/make/aix/makefiles/defs.make
|
||||
+++ b/hotspot/make/aix/makefiles/defs.make
|
||||
@@ -220,4 +220,7 @@ ADD_SA_BINARIES/zero =
|
||||
|
||||
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
|
||||
|
||||
+ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
||||
+ EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/$(LIBFFI_LIB_FILE)
|
||||
+endif
|
||||
|
||||
diff --git a/hotspot/make/bsd/makefiles/defs.make b/hotspot/make/bsd/makefiles/defs.make
|
||||
index 7cd21cc175..23436f12d8 100644
|
||||
--- a/hotspot/make/bsd/makefiles/defs.make
|
||||
+++ b/hotspot/make/bsd/makefiles/defs.make
|
||||
@@ -364,6 +364,10 @@ ADD_SA_BINARIES/zero =
|
||||
|
||||
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
|
||||
|
||||
+ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
||||
+ EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/$(LIBFFI_LIB_FILE)
|
||||
+endif
|
||||
+
|
||||
# Universal build settings
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
# Build universal binaries by default on Mac OS X
|
||||
diff --git a/hotspot/make/linux/makefiles/defs.make b/hotspot/make/linux/makefiles/defs.make
|
||||
index ec414639d2..0baa4f068d 100644
|
||||
--- a/hotspot/make/linux/makefiles/defs.make
|
||||
+++ b/hotspot/make/linux/makefiles/defs.make
|
||||
@@ -333,4 +333,6 @@ ADD_SA_BINARIES/zero =
|
||||
|
||||
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
|
||||
|
||||
-
|
||||
+ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
||||
+ EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/$(LIBFFI_LIB_FILE)
|
||||
+endif
|
||||
diff --git a/hotspot/make/solaris/makefiles/defs.make b/hotspot/make/solaris/makefiles/defs.make
|
||||
index c88351c82b..cb838e854d 100644
|
||||
--- a/hotspot/make/solaris/makefiles/defs.make
|
||||
+++ b/hotspot/make/solaris/makefiles/defs.make
|
||||
@@ -304,3 +304,7 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
endif
|
||||
endif
|
||||
EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||
+
|
||||
+ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
||||
+ EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/$(LIBFFI_LIB_FILE)
|
||||
+endif
|
||||
diff --git a/hotspot/make/windows/makefiles/defs.make b/hotspot/make/windows/makefiles/defs.make
|
||||
index 6b36f0e2bc..6f42c7ad37 100644
|
||||
--- a/hotspot/make/windows/makefiles/defs.make
|
||||
+++ b/hotspot/make/windows/makefiles/defs.make
|
||||
@@ -300,6 +300,10 @@ ifeq ($(BUILD_WIN_SA), 1)
|
||||
MAKE_ARGS += BUILD_WIN_SA=1
|
||||
endif
|
||||
|
||||
+ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
||||
+ EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/$(LIBFFI_LIB_FILE)
|
||||
+endif
|
||||
+
|
||||
# Propagate compiler and tools paths from configure to nmake.
|
||||
# Need to make sure they contain \\ and not /.
|
||||
ifneq ($(SPEC),)
|
||||
diff --git a/jdk/make/Images.gmk b/jdk/make/Images.gmk
|
||||
index 2e378c9134..0edefd7b5c 100644
|
||||
--- a/jdk/make/Images.gmk
|
||||
+++ b/jdk/make/Images.gmk
|
||||
@@ -249,7 +249,8 @@ endif
|
||||
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris),) # If Linux or Solaris
|
||||
JDK_LIB_FILES += $(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX) \
|
||||
- $(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
|
||||
+ $(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX) \
|
||||
+ $(LIBFFI_LIB_FILE)
|
||||
endif
|
||||
|
||||
# Find all files to copy from $(JDK_OUTPUTDIR)/lib
|
||||
diff --git a/jdk/make/Import.gmk b/jdk/make/Import.gmk
|
||||
index b115fa7f86..29fa2662a6 100644
|
||||
--- a/jdk/make/Import.gmk
|
||||
+++ b/jdk/make/Import.gmk
|
||||
@@ -114,7 +114,7 @@ endef
|
||||
#
|
||||
# Import hotspot
|
||||
#
|
||||
-HOTSPOT_IMPORT_FILES := $(addprefix $(LIBRARY_PREFIX), jvm.* saproc.* jsig.* sawindbg.* jvm_db.* jvm_dtrace.*) \
|
||||
+HOTSPOT_IMPORT_FILES := $(addprefix $(LIBRARY_PREFIX), jvm.* saproc.* jsig.* sawindbg.* jvm_db.* jvm_dtrace.* ffi.*) \
|
||||
Xusage.txt sa-jdi.jar
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index c2460105b7..cf2ef251ac 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -82,8 +82,8 @@ RPM_LIST := \
|
||||
libXi libXi-devel \
|
||||
libXdmcp libXdmcp-devel \
|
||||
libXau libXau-devel \
|
||||
- libgcc
|
||||
-
|
||||
+ libgcc \
|
||||
+ libffi libffi-devel
|
||||
|
||||
ifeq ($(ARCH),x86_64)
|
||||
RPM_DIR ?= $(RPM_DIR_x86_64)
|
||||
@@ -203,6 +203,18 @@ $(libs) : $(rpms)
|
||||
@mkdir -p $(SYSROOT)/usr/lib
|
||||
@touch $@
|
||||
|
||||
+##########################################################################################
|
||||
+# Create links for ffi header files so that they become visible by default when using the
|
||||
+# devkit.
|
||||
+
|
||||
+$(SYSROOT)/usr/include/ffi.h: $(rpms)
|
||||
+ cd $(@D) && rm $(@F) && ln -s ../lib/libffi-*/include/$(@F) .
|
||||
+
|
||||
+$(SYSROOT)/usr/include/ffitarget.h: $(rpms)
|
||||
+ cd $(@D) && rm $(@F) && ln -s ../lib/libffi-*/include/$(@F) .
|
||||
+
|
||||
+SYSROOT_LINKS += $(SYSROOT)/usr/include/ffi.h $(SYSROOT)/usr/include/ffitarget.h
|
||||
+
|
||||
##########################################################################################
|
||||
|
||||
# Define marker files for each source package to be compiled
|
||||
@@ -479,7 +491,7 @@ rpms : $(rpms)
|
||||
libs : $(libs)
|
||||
sysroot : rpms libs
|
||||
gcc : sysroot $(gcc) $(gccpatch)
|
||||
-all : binutils gcc bfdlib $(PREFIX)/devkit.info
|
||||
+all : binutils gcc bfdlib $(PREFIX)/devkit.info $(SYSROOT_LINKS)
|
||||
|
||||
# this is only built for host. so separate.
|
||||
ccache : $(ccache)
|
@ -1,286 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User sherman
|
||||
# Date 1505950914 25200
|
||||
# Wed Sep 20 16:41:54 2017 -0700
|
||||
# Node ID 723486922bfe4c17e3f5c067ce5e97229842fbcd
|
||||
# Parent c8ac05bbe47771b3dafa2e7fc9a95d86d68d7c07
|
||||
8186464: ZipFile cannot read some InfoZip ZIP64 zip files
|
||||
Reviewed-by: martin
|
||||
|
||||
diff --git openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
index 26e2a5bf9e9..2630c118817 100644
|
||||
--- openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
+++ openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
@@ -92,6 +92,7 @@ public class ZipFileSystem extends FileSystem {
|
||||
private final boolean createNew; // create a new zip if not exists
|
||||
private static final boolean isWindows =
|
||||
System.getProperty("os.name").startsWith("Windows");
|
||||
+ private final boolean forceEnd64;
|
||||
|
||||
// a threshold, in bytes, to decide whether to create a temp file
|
||||
// for outputstream of a zip entry
|
||||
@@ -112,12 +113,13 @@ public class ZipFileSystem extends FileSystem {
|
||||
if (this.defaultDir.charAt(0) != '/')
|
||||
throw new IllegalArgumentException("default dir should be absolute");
|
||||
|
||||
+ this.forceEnd64 = "true".equals(env.get("forceZIP64End"));
|
||||
this.provider = provider;
|
||||
this.zfpath = zfpath;
|
||||
if (Files.notExists(zfpath)) {
|
||||
if (createNew) {
|
||||
try (OutputStream os = Files.newOutputStream(zfpath, CREATE_NEW, WRITE)) {
|
||||
- new END().write(os, 0);
|
||||
+ new END().write(os, 0, forceEnd64);
|
||||
}
|
||||
} else {
|
||||
throw new FileSystemNotFoundException(zfpath.toString());
|
||||
@@ -1014,28 +1016,36 @@ public class ZipFileSystem extends FileSystem {
|
||||
end.cenoff = ENDOFF(buf);
|
||||
end.comlen = ENDCOM(buf);
|
||||
end.endpos = pos + i;
|
||||
- if (end.cenlen == ZIP64_MINVAL ||
|
||||
- end.cenoff == ZIP64_MINVAL ||
|
||||
- end.centot == ZIP64_MINVAL32)
|
||||
- {
|
||||
- // need to find the zip64 end;
|
||||
- byte[] loc64 = new byte[ZIP64_LOCHDR];
|
||||
- if (readFullyAt(loc64, 0, loc64.length, end.endpos - ZIP64_LOCHDR)
|
||||
- != loc64.length) {
|
||||
- return end;
|
||||
- }
|
||||
- long end64pos = ZIP64_LOCOFF(loc64);
|
||||
- byte[] end64buf = new byte[ZIP64_ENDHDR];
|
||||
- if (readFullyAt(end64buf, 0, end64buf.length, end64pos)
|
||||
- != end64buf.length) {
|
||||
- return end;
|
||||
- }
|
||||
- // end64 found, re-calcualte everything.
|
||||
- end.cenlen = ZIP64_ENDSIZ(end64buf);
|
||||
- end.cenoff = ZIP64_ENDOFF(end64buf);
|
||||
- end.centot = (int)ZIP64_ENDTOT(end64buf); // assume total < 2g
|
||||
- end.endpos = end64pos;
|
||||
+ // try if there is zip64 end;
|
||||
+ byte[] loc64 = new byte[ZIP64_LOCHDR];
|
||||
+ if (end.endpos < ZIP64_LOCHDR ||
|
||||
+ readFullyAt(loc64, 0, loc64.length, end.endpos - ZIP64_LOCHDR)
|
||||
+ != loc64.length ||
|
||||
+ !locator64SigAt(loc64, 0)) {
|
||||
+ return end;
|
||||
+ }
|
||||
+ long end64pos = ZIP64_LOCOFF(loc64);
|
||||
+ byte[] end64buf = new byte[ZIP64_ENDHDR];
|
||||
+ if (readFullyAt(end64buf, 0, end64buf.length, end64pos)
|
||||
+ != end64buf.length ||
|
||||
+ !end64SigAt(end64buf, 0)) {
|
||||
+ return end;
|
||||
+ }
|
||||
+ // end64 found,
|
||||
+ long cenlen64 = ZIP64_ENDSIZ(end64buf);
|
||||
+ long cenoff64 = ZIP64_ENDOFF(end64buf);
|
||||
+ long centot64 = ZIP64_ENDTOT(end64buf);
|
||||
+ // double-check
|
||||
+ if (cenlen64 != end.cenlen && end.cenlen != ZIP64_MINVAL ||
|
||||
+ cenoff64 != end.cenoff && end.cenoff != ZIP64_MINVAL ||
|
||||
+ centot64 != end.centot && end.centot != ZIP64_MINVAL32) {
|
||||
+ return end;
|
||||
}
|
||||
+ // to use the end64 values
|
||||
+ end.cenlen = cenlen64;
|
||||
+ end.cenoff = cenoff64;
|
||||
+ end.centot = (int)centot64; // assume total < 2g
|
||||
+ end.endpos = end64pos;
|
||||
return end;
|
||||
}
|
||||
}
|
||||
@@ -1201,7 +1211,7 @@ public class ZipFileSystem extends FileSystem {
|
||||
|
||||
// sync the zip file system, if there is any udpate
|
||||
private void sync() throws IOException {
|
||||
- //System.out.printf("->sync(%s) starting....!%n", toString());
|
||||
+ // System.out.printf("->sync(%s) starting....!%n", toString());
|
||||
// check ex-closer
|
||||
if (!exChClosers.isEmpty()) {
|
||||
for (ExChannelCloser ecc : exChClosers) {
|
||||
@@ -1292,7 +1302,7 @@ public class ZipFileSystem extends FileSystem {
|
||||
}
|
||||
end.centot = elist.size();
|
||||
end.cenlen = written - end.cenoff;
|
||||
- end.write(os, written);
|
||||
+ end.write(os, written, forceEnd64);
|
||||
}
|
||||
if (!streams.isEmpty()) {
|
||||
//
|
||||
@@ -1849,8 +1859,8 @@ public class ZipFileSystem extends FileSystem {
|
||||
long endpos;
|
||||
int disktot;
|
||||
|
||||
- void write(OutputStream os, long offset) throws IOException {
|
||||
- boolean hasZip64 = false;
|
||||
+ void write(OutputStream os, long offset, boolean forceEnd64) throws IOException {
|
||||
+ boolean hasZip64 = forceEnd64; // false;
|
||||
long xlen = cenlen;
|
||||
long xoff = cenoff;
|
||||
if (xlen >= ZIP64_MINVAL) {
|
||||
@@ -1875,8 +1885,8 @@ public class ZipFileSystem extends FileSystem {
|
||||
writeShort(os, 45); // version needed to extract
|
||||
writeInt(os, 0); // number of this disk
|
||||
writeInt(os, 0); // central directory start disk
|
||||
- writeLong(os, centot); // number of directory entires on disk
|
||||
- writeLong(os, centot); // number of directory entires
|
||||
+ writeLong(os, centot); // number of directory entries on disk
|
||||
+ writeLong(os, centot); // number of directory entries
|
||||
writeLong(os, cenlen); // length of central directory
|
||||
writeLong(os, cenoff); // offset of central directory
|
||||
|
||||
diff --git openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c openjdk/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
index 5fd6fea049d..858e5814e92 100644
|
||||
--- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
+++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
@@ -385,6 +385,9 @@ findEND64(jzfile *zip, void *end64buf, jlong endpos)
|
||||
{
|
||||
char loc64[ZIP64_LOCHDR];
|
||||
jlong end64pos;
|
||||
+ if (endpos < ZIP64_LOCHDR) {
|
||||
+ return -1;
|
||||
+ }
|
||||
if (readFullyAt(zip->zfd, loc64, ZIP64_LOCHDR, endpos - ZIP64_LOCHDR) == -1) {
|
||||
return -1; // end64 locator not found
|
||||
}
|
||||
@@ -567,6 +570,7 @@ readCEN(jzfile *zip, jint knownTotal)
|
||||
{
|
||||
/* Following are unsigned 32-bit */
|
||||
jlong endpos, end64pos, cenpos, cenlen, cenoff;
|
||||
+ jlong cenlen64, cenoff64, centot64;
|
||||
/* Following are unsigned 16-bit */
|
||||
jint total, tablelen, i, j;
|
||||
unsigned char *cenbuf = NULL;
|
||||
@@ -594,13 +598,20 @@ readCEN(jzfile *zip, jint knownTotal)
|
||||
cenlen = ENDSIZ(endbuf);
|
||||
cenoff = ENDOFF(endbuf);
|
||||
total = ENDTOT(endbuf);
|
||||
- if (cenlen == ZIP64_MAGICVAL || cenoff == ZIP64_MAGICVAL ||
|
||||
- total == ZIP64_MAGICCOUNT) {
|
||||
- unsigned char end64buf[ZIP64_ENDHDR];
|
||||
- if ((end64pos = findEND64(zip, end64buf, endpos)) != -1) {
|
||||
- cenlen = ZIP64_ENDSIZ(end64buf);
|
||||
- cenoff = ZIP64_ENDOFF(end64buf);
|
||||
- total = (jint)ZIP64_ENDTOT(end64buf);
|
||||
+ unsigned char end64buf[ZIP64_ENDHDR];
|
||||
+ if ((end64pos = findEND64(zip, end64buf, endpos)) != -1) {
|
||||
+ // end64 candidate found,
|
||||
+ cenlen64 = ZIP64_ENDSIZ(end64buf);
|
||||
+ cenoff64 = ZIP64_ENDOFF(end64buf);
|
||||
+ centot64 = ZIP64_ENDTOT(end64buf);
|
||||
+ // double-check
|
||||
+ if ((cenlen64 == cenlen || cenlen == ZIP64_MAGICVAL) &&
|
||||
+ (cenoff64 == cenoff || cenoff == ZIP64_MAGICVAL) &&
|
||||
+ (centot64 == total || total == ZIP64_MAGICCOUNT)) {
|
||||
+ // to use the end64 values
|
||||
+ cenlen = cenlen64;
|
||||
+ cenoff = cenoff64;
|
||||
+ total = (jint)centot64;
|
||||
endpos = end64pos;
|
||||
endhdrlen = ZIP64_ENDHDR;
|
||||
}
|
||||
diff --git openjdk.orig/jdk/test/java/util/zip/ZipFile/ReadZip.java openjdk/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
index ffe8a8ed712..9b380003893 100644
|
||||
--- openjdk.orig/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
+++ openjdk/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
|
||||
/* @test
|
||||
- * @bug 4241361 4842702 4985614 6646605 5032358 6923692 6233323 8144977 8184993
|
||||
+ * @bug 4241361 4842702 4985614 6646605 5032358 6923692 6233323 8144977 8184993 8186464
|
||||
* @summary Make sure we can read a zip file.
|
||||
@key randomness
|
||||
* @run main/othervm ReadZip
|
||||
@@ -31,12 +31,24 @@
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
+import java.net.URI;
|
||||
import java.nio.file.Files;
|
||||
+import java.nio.file.FileSystem;
|
||||
+import java.nio.file.FileSystems;
|
||||
+import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
+import java.util.Collections;
|
||||
+import java.util.HashMap;
|
||||
+import java.util.List;
|
||||
+import java.util.Map;
|
||||
import java.util.zip.*;
|
||||
|
||||
+import sun.misc.IOUtils;
|
||||
+
|
||||
+import static java.nio.charset.StandardCharsets.US_ASCII;
|
||||
+
|
||||
public class ReadZip {
|
||||
private static void unreached (Object o)
|
||||
throws Exception
|
||||
@@ -144,8 +156,6 @@ public class ReadZip {
|
||||
newZip.delete();
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
// Throw a FNF exception when read a non-existing zip file
|
||||
try { unreached (new ZipFile(
|
||||
new File(System.getProperty("test.src", "."),
|
||||
@@ -153,5 +163,54 @@ public class ReadZip {
|
||||
+ String.valueOf(new java.util.Random().nextInt())
|
||||
+ ".zip")));
|
||||
} catch (FileNotFoundException fnfe) {}
|
||||
+
|
||||
+ // read a zip file with ZIP64 end
|
||||
+ Path path = Paths.get(System.getProperty("test.dir", ""), "end64.zip");
|
||||
+ try {
|
||||
+ URI uri = URI.create("jar:" + path.toUri());
|
||||
+ Map<String, Object> env = new HashMap<>();
|
||||
+ env.put("create", "true");
|
||||
+ env.put("forceZIP64End", "true");
|
||||
+ try (FileSystem fs = FileSystems.newFileSystem(uri, env)) {
|
||||
+ Files.write(fs.getPath("hello"), "hello".getBytes());
|
||||
+ }
|
||||
+ try (ZipFile zf = new ZipFile(path.toFile())) {
|
||||
+ if (!"hello".equals(new String(IOUtils.readAllBytes(zf.getInputStream(new ZipEntry("hello"))),
|
||||
+ US_ASCII)))
|
||||
+ throw new RuntimeException("zipfile: read entry failed");
|
||||
+ } catch (IOException x) {
|
||||
+ throw new RuntimeException("zipfile: zip64 end failed");
|
||||
+ }
|
||||
+ try (FileSystem fs = FileSystems.newFileSystem(uri, Collections.emptyMap())) {
|
||||
+ if (!"hello".equals(new String(Files.readAllBytes(fs.getPath("hello")))))
|
||||
+ throw new RuntimeException("zipfs: read entry failed");
|
||||
+ } catch (IOException x) {
|
||||
+ throw new RuntimeException("zipfile: zip64 end failed");
|
||||
+ }
|
||||
+ } finally {
|
||||
+ Files.deleteIfExists(path);
|
||||
+ }
|
||||
+
|
||||
+ // read a zip file created via "echo hello | zip dst.zip -", which uses
|
||||
+ // ZIP64 end record
|
||||
+ if (Files.notExists(Paths.get("/usr/bin/zip")))
|
||||
+ return;
|
||||
+ try {
|
||||
+ Process zip = new ProcessBuilder("zip", path.toString().toString(), "-").start();
|
||||
+ OutputStream os = zip.getOutputStream();
|
||||
+ os.write("hello".getBytes(US_ASCII));
|
||||
+ os.close();
|
||||
+ zip.waitFor();
|
||||
+ if (zip.exitValue() == 0 && Files.exists(path)) {
|
||||
+ try (ZipFile zf = new ZipFile(path.toFile())) {
|
||||
+ if (!"hello".equals(new String(IOUtils.readAllBytes(zf.getInputStream(new ZipEntry("-"))))))
|
||||
+ throw new RuntimeException("zipfile: read entry failed");
|
||||
+ } catch (IOException x) {
|
||||
+ throw new RuntimeException("zipfile: zip64 end failed");
|
||||
+ }
|
||||
+ }
|
||||
+ } finally {
|
||||
+ Files.deleteIfExists(path);
|
||||
+ }
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
diff --git openjdk.orig/hotspot/src/os/linux/vm/perfMemory_linux.cpp openjdk/hotspot/src/os/linux/vm/perfMemory_linux.cpp
|
||||
--- openjdk.orig/hotspot/src/os/linux/vm/perfMemory_linux.cpp
|
||||
+++ openjdk/hotspot/src/os/linux/vm/perfMemory_linux.cpp
|
||||
@@ -878,7 +878,7 @@
|
||||
|
||||
// open the file
|
||||
int result;
|
||||
- RESTARTABLE(::open(filename, oflags), result);
|
||||
+ RESTARTABLE(::open(filename, oflags, 0), result);
|
||||
if (result == OS_ERR) {
|
||||
if (errno == ENOENT) {
|
||||
THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
|
@ -0,0 +1,26 @@
|
||||
diff --git openjdk.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java openjdk/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||||
index cf4becb7db..4ab2ac0a31 100644
|
||||
--- openjdk.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||||
+++ openjdk/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||||
@@ -189,6 +189,10 @@ final public class LdapCtxFactory implements ObjectFactory, InitialContextFactor
|
||||
ctx = getLdapCtxFromUrl(
|
||||
r.getDomainName(), url, new LdapURL(u), env);
|
||||
return ctx;
|
||||
+ } catch (AuthenticationException e) {
|
||||
+ // do not retry on a different endpoint to avoid blocking
|
||||
+ // the user if authentication credentials are wrong.
|
||||
+ throw e;
|
||||
} catch (NamingException e) {
|
||||
// try the next element
|
||||
lastException = e;
|
||||
@@ -241,6 +245,10 @@ final public class LdapCtxFactory implements ObjectFactory, InitialContextFactor
|
||||
for (String u : urls) {
|
||||
try {
|
||||
return getUsingURL(u, env);
|
||||
+ } catch (AuthenticationException e) {
|
||||
+ // do not retry on a different URL to avoid blocking
|
||||
+ // the user if authentication credentials are wrong.
|
||||
+ throw e;
|
||||
} catch (NamingException e) {
|
||||
ex = e;
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
# HG changeset patch
|
||||
# User Andrew John Hughes <gnu_andrew@member.fsf.org>
|
||||
# Date 1620365804 -3600
|
||||
# Fri May 07 06:36:44 2021 +0100
|
||||
# Node ID 39b62f35eca823b4c9a98bc1dc0cb9acb87360f8
|
||||
# Parent 723b59ed1afe878c5cd35f080399c8ceec4f776b
|
||||
PR3836: Extra compiler flags not passed to adlc build
|
||||
|
||||
diff --git openjdk.orig/hotspot/make/aix/makefiles/adlc.make openjdk/hotspot/make/aix/makefiles/adlc.make
|
||||
--- openjdk.orig/hotspot/make/aix/makefiles/adlc.make
|
||||
+++ openjdk/hotspot/make/aix/makefiles/adlc.make
|
||||
@@ -69,6 +69,11 @@
|
||||
CFLAGS_WARN = -w
|
||||
CFLAGS += $(CFLAGS_WARN)
|
||||
|
||||
+# Extra flags from gnumake's invocation or environment
|
||||
+CFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
+ASFLAGS += $(EXTRA_ASFLAGS)
|
||||
+
|
||||
OBJECTNAMES = \
|
||||
adlparse.o \
|
||||
archDesc.o \
|
||||
diff --git openjdk.orig/hotspot/make/bsd/makefiles/adlc.make openjdk/hotspot/make/bsd/makefiles/adlc.make
|
||||
--- openjdk.orig/hotspot/make/bsd/makefiles/adlc.make
|
||||
+++ openjdk/hotspot/make/bsd/makefiles/adlc.make
|
||||
@@ -71,6 +71,11 @@
|
||||
endif
|
||||
CFLAGS += $(CFLAGS_WARN)
|
||||
|
||||
+# Extra flags from gnumake's invocation or environment
|
||||
+CFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
+ASFLAGS += $(EXTRA_ASFLAGS)
|
||||
+
|
||||
OBJECTNAMES = \
|
||||
adlparse.o \
|
||||
archDesc.o \
|
||||
diff --git openjdk.orig/hotspot/make/linux/makefiles/adlc.make openjdk/hotspot/make/linux/makefiles/adlc.make
|
||||
--- openjdk.orig/hotspot/make/linux/makefiles/adlc.make
|
||||
+++ openjdk/hotspot/make/linux/makefiles/adlc.make
|
||||
@@ -69,6 +69,11 @@
|
||||
CFLAGS_WARN = $(WARNINGS_ARE_ERRORS)
|
||||
CFLAGS += $(CFLAGS_WARN)
|
||||
|
||||
+# Extra flags from gnumake's invocation or environment
|
||||
+CFLAGS += $(EXTRA_CFLAGS)
|
||||
+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
|
||||
+ASFLAGS += $(EXTRA_ASFLAGS)
|
||||
+
|
||||
OBJECTNAMES = \
|
||||
adlparse.o \
|
||||
archDesc.o \
|
||||
diff --git openjdk.orig/hotspot/make/solaris/makefiles/adlc.make openjdk/hotspot/make/solaris/makefiles/adlc.make
|
||||
--- openjdk.orig/hotspot/make/solaris/makefiles/adlc.make
|
||||
+++ openjdk/hotspot/make/solaris/makefiles/adlc.make
|
||||
@@ -85,6 +85,10 @@
|
||||
endif
|
||||
CFLAGS += $(CFLAGS_WARN)
|
||||
|
||||
+# Extra flags from gnumake's invocation or environment
|
||||
+CFLAGS += $(EXTRA_CFLAGS)
|
||||
+ASFLAGS += $(EXTRA_ASFLAGS)
|
||||
+
|
||||
ifeq ("${Platform_compiler}", "sparcWorks")
|
||||
# Enable the following CFLAGS addition if you need to compare the
|
||||
# built ELF objects.
|
File diff suppressed because it is too large
Load Diff
@ -1,16 +0,0 @@
|
||||
diff -uNr openjdk-orig/jdk/src/share/classes/java/awt/Toolkit.java jdk8/jdk/src/share/classes/java/awt/Toolkit.java
|
||||
--- openjdk-orig/jdk/src/share/classes/java/awt/Toolkit.java 2009-01-23 11:59:47.000000000 -0500
|
||||
+++ jdk8/jdk/src/share/classes/java/awt/Toolkit.java 2009-01-23 12:05:20.000000000 -0500
|
||||
@@ -883,7 +883,11 @@
|
||||
return null;
|
||||
}
|
||||
});
|
||||
- loadAssistiveTechnologies();
|
||||
+ try {
|
||||
+ loadAssistiveTechnologies();
|
||||
+ } catch ( AWTError error) {
|
||||
+ // ignore silently
|
||||
+ }
|
||||
}
|
||||
return toolkit;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
--- openjdk/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java 2013-03-01 10:48:12.038189968 +0100
|
||||
+++ openjdk/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java 2013-03-01 10:48:11.913188505 +0100
|
||||
@@ -48,8 +48,8 @@
|
||||
|
||||
private final static String PROP_NAME = "sun.security.smartcardio.library";
|
||||
|
||||
- private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so";
|
||||
- private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
|
||||
+ private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so.1";
|
||||
+ private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so.1";
|
||||
private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
|
||||
|
||||
PlatformPCSC() {
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue