Update to 7u251

This commit is contained in:
Greg Lewis 2020-03-08 16:52:57 +00:00
parent efaf59e4ad
commit fb717d0e60
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=528057
18 changed files with 86 additions and 48798 deletions

View file

@ -2,49 +2,23 @@
# $FreeBSD$
PORTNAME= openjdk
PORTVERSION= ${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER}
PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER}.${BSD_JDK_VERSION}
PORTEPOCH= 1
CATEGORIES= java devel
MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/ \
http://download.java.net/jaxp/1.4.5/:jaxp \
http://icedtea.classpath.org/download/drops/:jaxp \
http://download.java.net/glassfish/components/jax-ws/openjdk/jdk7/:jaxws \
http://icedtea.classpath.org/download/drops/:jaxws \
https://java.net/downloads/jax-ws/JDK7/:jaf \
http://icedtea.classpath.org/download/drops/:jaf \
APACHE/ant/binaries/:ant
PATCH_SITES= LOCAL/glewis/openjdk7
DISTFILES= ${JDK_SRC_DISTFILE}${EXTRACT_SUFX} \
${ANT_DISTFILE}${EXTRACT_SUFX}:ant
EXTRACT_ONLY= ${JDK_SRC_DISTFILE}${EXTRACT_SUFX} \
${ANT_DISTFILE}${EXTRACT_SUFX}
PATCHFILES= patch-7u45-b30.xz \
patch-7u51-b30.xz \
patch-7u55-b31.xz \
patch-7u60-b30.xz \
patch-7u65-b31.xz \
patch-7u71-b14.xz \
patch-7u76-b31.xz \
patch-7u80-b32.xz \
patch-7u85-b02.xz \
patch-7u91-b02.xz \
patch-7u95-b00.xz \
patch-7u101-b00.xz \
patch-7u111-b01.xz \
patch-7u121-b00.xz \
patch-7u131-b00.xz \
patch-7u141-b02.xz \
patch-7u151-b01.xz \
patch-7u161-b01.xz
MASTER_SITES= APACHE/ant/binaries/:ant
DISTFILES= ${ANT_DISTFILE}${EXTRACT_SUFX}:ant
MAINTAINER?= glewis@FreeBSD.org
COMMENT?= Java Development Kit 7
MAINTAINER= glewis@FreeBSD.org
COMMENT= Java Development Kit 7
LICENSE= GPLv2
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_GITHUB= yes
GH_ACCOUNT= battleblow
GH_PROJECT= jdk7u
GH_TAGNAME= jdk${JDK_MAJOR_VERSION}u${JDK_UPDATE_VERSION}-b${JDK_BUILD_NUMBER}.${BSD_JDK_VERSION}
USES= compiler dos2unix iconv gmake zip
USES= compiler dos2unix iconv gmake
# Even when not building with X11 support, openjdk7 requires Xrender, X11, and
# Xt headers.
X11_BUILD_DEPENDS_OFF+= ${LOCALBASE}/libdata/pkgconfig/x11.pc:x11/libX11
@ -78,16 +52,15 @@ JAVAVMS_COMMENT+= JRE
INSTALLDIR= ${PREFIX}/${PORTNAME}${JDK_MAJOR_VERSION}-jre
.endif
PORT_MINOR_VERSION= 161
PORT_BUILD_NUMBER= 01
JDK_MAJOR_VERSION= 7
JDK_MINOR_VERSION= 40
JDK_BUILD_NUMBER= 43
JDK_BUILD_DATE= 26_aug_2013
JDK_SRC_DISTFILE= ${PORTNAME}-${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}-fcs-src-b${JDK_BUILD_NUMBER}-${JDK_BUILD_DATE}
JDK_UPDATE_VERSION= 251
JDK_BUILD_NUMBER= 02
BSD_JDK_VERSION= 1
# Use our own version of ant to avoid circular dependencies
ANT_VERSION= 1.9.7
# Use our own version of ant because
# a) this allows us to avoid circular dependencies
# b) ant 10.x requires jdk 8+
ANT_VERSION= 1.9.14
ANT_DISTFILE= apache-ant-${ANT_VERSION}-bin
LIB_DEPENDS+= libasound.so:audio/alsa-lib \
@ -130,9 +103,9 @@ MAKE_ENV+= JAVA_HOME="" \
SKIP_DEBUG_BUILD="true" \
ZIP_DEBUGINFO_FILES=0 \
ENABLE_FULL_DEBUG_SYMBOLS=0 \
PTHREAD_LIBS="-lpthread" \
PTHREAD_LIBS="-pthread" \
MILESTONE="fcs" \
JDK_MICRO_VERSION="0_${PORT_MINOR_VERSION}" \
JDK_MICRO_VERSION="0_${JDK_UPDATE_VERSION}" \
BUILD_NUMBER="b${PORT_BUILD_NUMBER}"
MAKE_ENV+= HOTSPOT_BUILD_JOBS=${MAKE_JOBS_NUMBER}
@ -173,20 +146,21 @@ MAKE_ENV+= USE_PRECOMPILED_HEADER=0
.endif
.if empty(ICONV_LIB)
MAKE_ENV+= EXTRA_CFLAGS=-DLIBICONV_PLUG
ICONV_CPPFLAGS= -DLIBICONV_PLUG
.else
ICONV_CPPFLAGS= -I${LOCALBASE}/include
ICONV_LDFLAGS= -L${LOCALBASE}/lib ${ICONV_LIB}
.endif
post-patch:
@${REINPLACE_CMD} "s|%%LOCALBASE%%|${LOCALBASE}|" \
${WRKSRC}/hotspot/src/os/bsd/vm/os_bsd.cpp \
${WRKSRC}/jdk/src/share/classes/sun/print/PSPrinterJob.java
.if empty(ICONV_LIB)
@${REINPLACE_CMD} 's| -liconv||' \
${WRKSRC}/Makefile \
${WRKSRC}/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
@${REINPLACE_CMD} -e 's|%%ICONV_CPPFLAGS%%|${ICONV_CPPFLAGS}|' \
-e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \
${WRKSRC}/jdk/make/sun/splashscreen/Makefile \
${WRKSRC}/jdk/make/java/npt/Makefile \
${WRKSRC}/jdk/make/java/instrument/Makefile
.endif
.if ${PORT_OPTIONS:MTZUPDATE}
pre-install:

View file

@ -1,41 +1,5 @@
TIMESTAMP = 1518019203
SHA256 (openjdk-7u40-fcs-src-b43-26_aug_2013.zip) = 00f8ea561876cbcad174ba3ca7a9ae10b50df46a782ac64c2ac57ac357b50596
SIZE (openjdk-7u40-fcs-src-b43-26_aug_2013.zip) = 104575196
SHA256 (apache-ant-1.9.7-bin.zip) = b28c5ea0b5ea90bb4ad6bab229b6a56ac4461760a251a12567803a69259cd9de
SIZE (apache-ant-1.9.7-bin.zip) = 8317465
SHA256 (patch-7u45-b30.xz) = f0ab28db8819a72b82236d98c6780a0fa063cf4d2f45f26105545559e630a1b3
SIZE (patch-7u45-b30.xz) = 156968
SHA256 (patch-7u51-b30.xz) = af1143952a0f67535c2bdf586b7089af1d525f544974e989fe7b273a925b8359
SIZE (patch-7u51-b30.xz) = 170476
SHA256 (patch-7u55-b31.xz) = 30d4ae0e98e639dca060f7dc8289fe8af345e93258c8642cad1378725330afa9
SIZE (patch-7u55-b31.xz) = 109908
SHA256 (patch-7u60-b30.xz) = 1132c6c32f515b735b7b3f78670ec81c3161b7afe8a10f21f68f851c2e776a4c
SIZE (patch-7u60-b30.xz) = 324180
SHA256 (patch-7u65-b31.xz) = acde33caa1691a6a1bcb4cab71ea01ce73df616d02d023bda053e3f728850d72
SIZE (patch-7u65-b31.xz) = 87776
SHA256 (patch-7u71-b14.xz) = 2fa4622c55d55e27679ef99ce5d528210d66982abdfae53bf7fa9850e160db27
SIZE (patch-7u71-b14.xz) = 66484
SHA256 (patch-7u76-b31.xz) = a9ddaf7ee121b29bff9cd0300e7939640f6933223d81a484fa2db575cbb7f3de
SIZE (patch-7u76-b31.xz) = 315184
SHA256 (patch-7u80-b32.xz) = 095e2f074125a3804710b7276fd96b743befb0472c3a3b5fd3a695511a10ff23
SIZE (patch-7u80-b32.xz) = 674268
SHA256 (patch-7u85-b02.xz) = 87699747b28ae80cb168f1e2af3dcff65cc0ef9a74decebcf4ee1868b117f971
SIZE (patch-7u85-b02.xz) = 78796
SHA256 (patch-7u91-b02.xz) = b18c3843d656340fcca0e9b0eb0410a598dbce9c53c84fc6fde53d189bf44829
SIZE (patch-7u91-b02.xz) = 152344
SHA256 (patch-7u95-b00.xz) = bb522469cedcd31ff15fde745ab5717bd012c52ce2e25d1180b3338b90f755a3
SIZE (patch-7u95-b00.xz) = 91612
SHA256 (patch-7u101-b00.xz) = 8406d9f453b91c4e31e5a6a0a1769c3da87e3e3bf7a4c567024f7f929f555702
SIZE (patch-7u101-b00.xz) = 121752
SHA256 (patch-7u111-b01.xz) = d46ffd30a6fa6d8ce40231e6dadcabf491a347e2afea87302f38bab5e2bee523
SIZE (patch-7u111-b01.xz) = 273552
SHA256 (patch-7u121-b00.xz) = e8cba92ab639210471db536fb316593eef300d67bbf36146922eef0a41b6e86b
SIZE (patch-7u121-b00.xz) = 670484
SHA256 (patch-7u131-b00.xz) = 5c7b4f9be1d7bc3336ba19c288c882ff5cbd1b1b0ee403f84229cd8807452024
SIZE (patch-7u131-b00.xz) = 769172
SHA256 (patch-7u141-b02.xz) = 721db525f519417c30d37bcfa80ff715a1e2858e0882e75759b4eaedd6a20510
SIZE (patch-7u141-b02.xz) = 165488
SHA256 (patch-7u151-b01.xz) = 90f1f83528825290f2183f4122e8cef8e1bac4814a826f449271cc7635ca197c
SIZE (patch-7u151-b01.xz) = 217872
SHA256 (patch-7u161-b01.xz) = 9c466a4a39a77fab96798ce120dd1dc7446d6930bd25ae5390ce3e9e9a4b8dc2
SIZE (patch-7u161-b01.xz) = 364440
TIMESTAMP = 1583113236
SHA256 (apache-ant-1.9.14-bin.tar.gz) = ad6b296a76f0ad433bc6b4ebda41c3275e0dc03f0e9a6c8c299f787a5e4c3fe4
SIZE (apache-ant-1.9.14-bin.tar.gz) = 5837539
SHA256 (battleblow-jdk7u-7.251.02.1-jdk7u251-b02.1_GH0.tar.gz) = b709d9e344c4ebbc5bb71646a7e78137ad47f2e17fb61739c7be0420ececc707
SIZE (battleblow-jdk7u-7.251.02.1-jdk7u251-b02.1_GH0.tar.gz) = 69828420

File diff suppressed because it is too large Load diff

View file

@ -1,14 +0,0 @@
--- hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.prev 2016-05-20 14:03:24.511067000 +0000
+++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2016-05-20 14:12:29.670620000 +0000
@@ -609,7 +609,11 @@
stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL);
}
} else if (thread->thread_state() == _thread_in_vm &&
+#ifdef __FreeBSD__
+ (sig == SIGBUS || sig == SIGSEGV) &&
+#else
sig == SIGBUS && /* info->si_code == BUS_OBJERR && */
+#endif
thread->doing_unsafe_access()) {
stub = StubRoutines::handler_for_unsafe_access();
}

View file

@ -1,10 +0,0 @@
--- hotspot/make/bsd/makefiles/gcc.make.orig
+++ hotspot/make/bsd/makefiles/gcc.make
@@ -112,6 +112,7 @@ ifeq ($(JVM_VARIANT_ZEROSHARK), true)
CFLAGS += $(LIBFFI_CFLAGS)
CFLAGS += $(LLVM_CFLAGS)
endif
+CFLAGS += -std=gnu++98
CFLAGS += $(VM_PICFLAG)
CFLAGS += -fno-rtti
CFLAGS += -fno-exceptions

View file

@ -1,20 +0,0 @@
--- hotspot/src/share/vm/runtime/virtualspace.cpp.orig
+++ hotspot/src/share/vm/runtime/virtualspace.cpp
@@ -524,7 +524,7 @@ ReservedHeapSpace::ReservedHeapSpace(siz
(UseCompressedOops && (Universe::narrow_oop_base() != NULL) &&
Universe::narrow_oop_use_implicit_null_checks()) ?
lcm(os::vm_page_size(), alignment) : 0) {
- if (base() > 0) {
+ if (base() != NULL) {
MemTracker::record_virtual_memory_type((address)base(), mtJavaHeap);
}
@@ -543,7 +543,7 @@ ReservedHeapSpace::ReservedHeapSpace(con
(UseCompressedOops && (Universe::narrow_oop_base() != NULL) &&
Universe::narrow_oop_use_implicit_null_checks()) ?
lcm(os::vm_page_size(), prefix_align) : 0) {
- if (base() > 0) {
+ if (base() != NULL) {
MemTracker::record_virtual_memory_type((address)base(), mtJavaHeap);
}

View file

@ -1,11 +0,0 @@
--- jdk/make/common/Defs-bsd.gmk.orig
+++ jdk/make/common/Defs-bsd.gmk
@@ -274,7 +274,7 @@ CFLAGS_OPT = $(CC_OPT)
CFLAGS_DBG = $(DEBUG_FLAG)
CFLAGS_COMMON += $(CFLAGS_REQUIRED)
-CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
+CXXFLAGS_COMMON = -std=gnu++98 $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
CXXFLAGS_OPT = $(CC_OPT)
CXXFLAGS_DBG = $(DEBUG_FLAG)
CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)

View file

@ -0,0 +1,13 @@
--- jdk/make/java/instrument/Makefile.orig 2020-03-01 17:52:15.797379000 -0800
+++ jdk/make/java/instrument/Makefile 2020-03-01 18:45:55.324964000 -0800
@@ -117,8 +117,8 @@
LDFLAGS += -Wl,--no-whole-archive
ifneq ($(OS_NAME), netbsd)
# Use CPPFLAGS instead of OTHER_INCLUDES to force this last
- CPPFLAGS += -I$(PACKAGE_PATH)/include
- OTHER_LDLIBS += -L$(PACKAGE_PATH)/lib -liconv
+ CPPFLAGS += %%ICONV_CPPFLAGS%%
+ OTHER_LDLIBS += %%ICONV_LDFLAGS%%
endif
endif

View file

@ -0,0 +1,13 @@
--- jdk/make/java/npt/Makefile.orig 2020-03-01 18:39:54.449760000 -0800
+++ jdk/make/java/npt/Makefile 2020-03-01 18:46:01.524983000 -0800
@@ -77,8 +77,8 @@
# Add location of iconv headers
ifeq ($(PLATFORM), bsd)
ifneq ($(OS_NAME), netbsd)
- CPPFLAGS += -I$(PACKAGE_PATH)/include
- OTHER_LDLIBS += -L$(PACKAGE_PATH)/lib -liconv
+ CPPFLAGS += %%ICONV_CPPFLAGS%%
+ OTHER_LDLIBS += %%ICONV_LDFLAGS%%
endif
endif

View file

@ -0,0 +1,13 @@
--- jdk/make/sun/splashscreen/Makefile.orig 2020-03-01 18:41:52.052960000 -0800
+++ jdk/make/sun/splashscreen/Makefile 2020-03-01 18:46:07.203955000 -0800
@@ -93,8 +93,8 @@
ifeq ($(OS_NAME), netbsd)
OTHER_LDLIBS += -Wl,-R$(OPENWIN_LIB)
else
- CPPFLAGS += -I$(PACKAGE_PATH)/include
- OTHER_LDLIBS += -L$(PACKAGE_PATH)/lib -liconv
+ CPPFLAGS += %%ICONV_CPPFLAGS%%
+ OTHER_LDLIBS += %%ICONV_LDFLAGS%%
endif
CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpthread

View file

@ -1,78 +0,0 @@
--- ./jdk/make/tools/freetypecheck/freetypecheck.c.orig 2013-09-06 14:27:43.000000000 -0400
+++ ./jdk/make/tools/freetypecheck/freetypecheck.c 2019-05-29 18:16:30.696642000 -0400
@@ -74,26 +74,65 @@
#define QUOTEMACRO(x) QUOTEME(x)
#define QUOTEME(x) #x
+int compare_versions(FT_Int req_major, FT_Int req_minor, FT_Int req_patch,
+ FT_Int major, FT_Int minor, FT_Int patch) {
+ if (major > req_major) {
+ printf("Major version %d greater than required major version %d\n",
+ major, req_major);
+ return 0;
+ }
+ if (major < req_major) {
+ printf("Major version %d less than required major version %d\n",
+ major, req_major);
+ return -1;
+ }
+ printf("Major version %d equal to required major version %d\n",
+ major, req_major);
+ if (minor > req_minor) {
+ printf("Minor version %d greater than required minor version %d\n",
+ minor, req_minor);
+ return 0;
+ }
+ if (minor < req_minor) {
+ printf("Minor version %d less than required minor version %d\n",
+ minor, req_minor);
+ return -2;
+ }
+ printf("Minor version %d equal to required minor version %d\n",
+ minor, req_minor);
+ if (patch >= req_patch) {
+ printf("Patch version %d greater than or equal to required patch version %d\n",
+ patch, req_patch);
+ return 0;
+ }
+ printf("Patch version %d less than required patch version %d\n",
+ patch, req_patch);
+ return -3;
+}
+
int main(int argc, char** argv) {
- char v[50];
- FT_Int major, minor, patch;
+ FT_Int major, minor, patch, req_major, req_minor, req_patch;
FT_Library library;
- sprintf(v, "%d.%d.%d", FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH);
- printf("Required version of freetype: %s\n",
- QUOTEMACRO(REQUIRED_FREETYPE_VERSION));
+ sscanf(QUOTEMACRO(REQUIRED_FREETYPE_VERSION),
+ "%d.%d.%d", &req_major, &req_minor, &req_patch);
+ printf("Required version of freetype: %d.%d.%d\n",
+ req_major, req_minor, req_patch);
- printf("Detected freetype headers: %s\n", v);
- if (strcmp(v, QUOTEMACRO(REQUIRED_FREETYPE_VERSION)) < 0) {
+ printf("Detected freetype headers: %d.%d.%d\n",
+ FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH);
+ if (compare_versions(req_major, req_minor, req_patch,
+ FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH) < 0) {
printf("Failed: headers are too old.\n");
}
FT_Init_FreeType(&library);
FT_Library_Version(library, &major, &minor, &patch);
- sprintf(v, "%d.%d.%d", major, minor, patch);
- printf("Detected freetype library: %s\n", v);
- if (strcmp(v, QUOTEMACRO(REQUIRED_FREETYPE_VERSION)) < 0) {
+ printf("Detected freetype library: %d.%d.%d\n",
+ major, minor, patch);
+ if (compare_versions(req_major, req_minor, req_patch,
+ major, minor, patch) < 0) {
printf("Failed: too old library.\n");
}

View file

@ -0,0 +1,15 @@
--- jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
+++ jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
@@ -477,10 +477,8 @@
String[] dirs = new String[] {
userHome + sep + ".themes",
System.getProperty("swing.metacitythemedir"),
- "/usr/X11R6/share/themes",
- "/usr/X11R6/share/gnome/themes",
- "/usr/local/share/themes",
- "/usr/local/share/gnome/themes",
+ "%%LOCALBASE%%/share/themes",
+ "%%LOCALBASE%%/share/gnome/themes",
"/usr/share/themes",
"/usr/gnome/share/themes", // Debian/Redhat/Solaris
"/opt/gnome2/share/themes" // SuSE

View file

@ -4,35 +4,8 @@
* 7: The default directories, normally /lib and /usr/lib.
*/
#ifndef DEFAULT_LIBPATH
-#define DEFAULT_LIBPATH "/lib:/usr/lib"
-#define DEFAULT_LIBPATH "/lib:/usr/lib:/usr/local/lib"
+#define DEFAULT_LIBPATH "/lib:/usr/lib:%%LOCALBASE%%/lib"
#endif
#define EXTENSIONS_DIR "/lib/ext"
@@ -2947,7 +2947,7 @@
if (::write(fd, "", 1) == 1) {
mmap(base, size,
PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE, fd, 0);
+ MAP_PRIVATE|MAP_FIXED, fd, 0);
}
}
::close(fd);
@@ -3196,7 +3196,7 @@
return ::mprotect(addr, size, PROT_NONE) == 0;
#else
uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0);
+ MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
return res != (uintptr_t) MAP_FAILED;
#endif
}
@@ -3223,7 +3223,7 @@
char * addr;
int flags;
- flags = MAP_PRIVATE | MAP_NORESERVE | MAP_ANONYMOUS;
+ flags = MAP_PRIVATE | MAP_ANONYMOUS;
if (fixed) {
assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address");
flags |= MAP_FIXED;

View file

@ -1,63 +0,0 @@
--- hotspot/src/os/bsd/vm/vmError_bsd.cpp.orig
+++ hotspot/src/os/bsd/vm/vmError_bsd.cpp
@@ -33,30 +33,50 @@
#include <sys/syscall.h>
#include <unistd.h>
#include <signal.h>
+#ifdef __FreeBSD__
+#include <limits.h>
+#include <sys/sysctl.h>
+#endif
+
+#define GDB_CMD "gdb"
+
+static void set_debugger(char *buf, int buflen) {
+ int pid = os::current_process_id();
+#ifdef __FreeBSD__
+ char cmd[PATH_MAX+1];
+ int name[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, pid };
+ size_t len = sizeof(cmd);
+ if (sysctl(name, 4, cmd, &len, NULL, 0) == 0 && len > 0) {
+ cmd[len] = '\0';
+ jio_snprintf(buf, buflen, "%s %s %d", GDB_CMD, cmd, pid);
+ } else
+#endif
+ jio_snprintf(buf, buflen, "%s /proc/%d/file %d", GDB_CMD, pid, pid);
+}
void VMError::show_message_box(char *buf, int buflen) {
bool yes;
do {
- error_string(buf, buflen);
- int len = (int)strlen(buf);
+ intx tid = os::current_thread_id();
+ set_debugger(buf, buflen);
+ int len = (int)strlen(buf) + 1;
+ char *msg = &buf[len];
+ error_string(msg, buflen - len);
+ len += (int)strlen(msg);
char *p = &buf[len];
jio_snprintf(p, buflen - len,
"\n\n"
"Do you want to debug the problem?\n\n"
- "To debug, run 'gdb /proc/%d/exe %d'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n"
- "Enter 'yes' to launch gdb automatically (PATH must include gdb)\n"
+ "To debug, run '%s'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n"
+ "Enter 'yes' to launch " GDB_CMD " automatically (PATH must include " GDB_CMD ")\n"
"Otherwise, press RETURN to abort...",
- os::current_process_id(), os::current_process_id(),
- os::current_thread_id(), os::current_thread_id());
+ buf, tid, tid);
- yes = os::message_box("Unexpected Error", buf);
+ yes = os::message_box("Unexpected Error", msg);
if (yes) {
// yes, user asked VM to launch debugger
- jio_snprintf(buf, buflen, "gdb /proc/%d/exe %d",
- os::current_process_id(), os::current_process_id());
-
os::fork_and_exec(buf);
yes = false;
}

View file

@ -1,36 +0,0 @@
--- jdk/src/share/classes/sun/print/PSPrinterJob.java
+++ jdk/src/share/classes/sun/print/PSPrinterJob.java
@@ -1568,9 +1568,31 @@
}
String osname = System.getProperty("os.name");
- if (osname.equals("Linux") || osname.equals("FreeBSD") || osname.equals("NetBSD") || osname.equals("OpenBSD") || osname.equals("OS X")) {
+ if (osname.equals("Linux") || osname.endsWith("BSD") || osname.contains("OS X")) {
+ String lprPath = "/usr/bin/lpr";
+ if (osname.endsWith("BSD")) {
+ final PrintService pservice = getPrintService();
+ Boolean isIPPPrinter =
+ (Boolean)java.security.AccessController.doPrivileged(
+ new java.security.PrivilegedAction() {
+ public Object run() {
+ try {
+ Class psClass =
+ Class.forName("sun.print.IPPPrintService");
+ if (psClass.isInstance(pservice)) {
+ return Boolean.TRUE;
+ }
+ } catch (Throwable t) {
+ }
+ return Boolean.FALSE;
+ }
+ });
+ if (isIPPPrinter) {
+ lprPath = "%%LOCALBASE%%/bin/lpr";
+ }
+ }
execCmd = new String[ncomps];
- execCmd[n++] = "/usr/bin/lpr";
+ execCmd[n++] = lprPath;
if ((pFlags & PRINTER) != 0) {
execCmd[n++] = "-P" + printer;
}

View file

@ -1,58 +0,0 @@
--- jdk/src/solaris/bin/java_md_solinux.c.orig
+++ jdk/src/solaris/bin/java_md_solinux.c
@@ -35,6 +35,9 @@
#include <sys/stat.h>
#include <unistd.h>
#include <sys/types.h>
+#ifdef __FreeBSD__
+#include <sys/sysctl.h>
+#endif
#include "manifest_info.h"
#include "version_comp.h"
@@ -899,9 +902,9 @@
* onwards the filename returned in DL_info structure from dladdr is
* an absolute pathname so technically realpath isn't required.
* On Linux we read the executable name from /proc/self/exe.
- * On *BSD we read the executable name from /proc/curproc/file.
+ * On FreeBSD, we get the executable name via sysctl(3).
* As a fallback, and for platforms other than Solaris, Linux, and
- * *BSD, we use FindExecName to compute the executable name.
+ * FreeBSD, we use FindExecName to compute the executable name.
*/
const char*
SetExecname(char **argv)
@@ -928,13 +931,9 @@
}
}
}
-#elif defined(__linux__) || defined(_ALLBSD_SOURCE)
+#elif defined(__linux__)
{
-#if defined(_ALLBSD_SOURCE)
- const char* self = "/proc/curproc/file";
-#else
const char* self = "/proc/self/exe";
-#endif
char buf[PATH_MAX+1];
int len = readlink(self, buf, PATH_MAX);
if (len >= 0) {
@@ -942,7 +941,17 @@
exec_path = JLI_StringDup(buf);
}
}
-#else /* !__solaris__ && !__linux__ && !_ALLBSD_SOURCE */
+#elif defined(__FreeBSD__)
+ {
+ char buf[PATH_MAX+1];
+ int name[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
+ size_t len = sizeof(buf);
+ if (sysctl(name, 4, buf, &len, NULL, 0) == 0 && len > 0) {
+ buf[len] = '\0';
+ exec_path = JLI_StringDup(buf);
+ }
+ }
+#else /* !__sun && !__linux && !__FreeBSD__ */
{
/* Not implemented */
}

View file

@ -1,11 +0,0 @@
--- jdk/src/solaris/classes/sun/awt/X11/XWM.java.orig 2015-02-01 19:16:25.000000000 -0800
+++ jdk/src/solaris/classes/sun/awt/X11/XWM.java 2015-02-01 19:16:51.000000000 -0800
@@ -578,7 +578,7 @@
}
static boolean isMutter() {
- return isNetWMName("Mutter");
+ return isNetWMName("Mutter") || isNetWMName("GNOME Shell");
}
static boolean isNonReparentingWM() {

View file

@ -1,17 +0,0 @@
--- jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
+++ jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
@@ -140,12 +140,12 @@
static int cmdIndex = UNINITIALIZED;
String[] lpcFirstCom = {
- "/usr/sbin/lpc status | grep : | sed -ne '1,1 s/://p'",
+ "/usr/sbin/lpc status all | grep ':$' | sed -ne '1,1 s/://p'",
"/usr/sbin/lpc status | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
};
String[] lpcAllCom = {
- "/usr/sbin/lpc status all | grep : | sed -e 's/://'",
+ "/usr/sbin/lpc status all | grep ':$' | sed -e 's/://'",
"/usr/sbin/lpc status all | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}' | sort"
};