8143296: javac-server/sjavac not compatible with LogFailures on Windows
Reviewed-by: ihse
This commit is contained in:
parent
4fd76c3c0f
commit
49c8a97fbc
@ -423,7 +423,10 @@ AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
|
|||||||
AC_MSG_ERROR([fixpath did not work!])
|
AC_MSG_ERROR([fixpath did not work!])
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
|
|
||||||
|
FIXPATH_DETACH_FLAG="--detach"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(FIXPATH)
|
AC_SUBST(FIXPATH)
|
||||||
|
AC_SUBST(FIXPATH_DETACH_FLAG)
|
||||||
])
|
])
|
||||||
|
@ -375,6 +375,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
|||||||
JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
|
JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
|
||||||
AC_SUBST(JAVA_FLAGS_BIG)
|
AC_SUBST(JAVA_FLAGS_BIG)
|
||||||
|
|
||||||
|
# By default, the main javac compilations use big
|
||||||
|
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_BIG"
|
||||||
|
AC_SUBST(JAVA_FLAGS_JAVAC)
|
||||||
|
|
||||||
AC_MSG_CHECKING([flags for boot jdk java command for small workloads])
|
AC_MSG_CHECKING([flags for boot jdk java command for small workloads])
|
||||||
|
|
||||||
|
@ -347,4 +347,10 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
|
|||||||
AC_MSG_CHECKING([whether to use javac server])
|
AC_MSG_CHECKING([whether to use javac server])
|
||||||
AC_MSG_RESULT([$ENABLE_JAVAC_SERVER])
|
AC_MSG_RESULT([$ENABLE_JAVAC_SERVER])
|
||||||
AC_SUBST(ENABLE_JAVAC_SERVER)
|
AC_SUBST(ENABLE_JAVAC_SERVER)
|
||||||
|
|
||||||
|
if test "x$ENABLE_JAVAC_SERVER" = "xyes" || "x$ENABLE_SJAVAC" = "xyes"; then
|
||||||
|
# When using a server javac, the small client instances do not need much
|
||||||
|
# resources.
|
||||||
|
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_SMALL"
|
||||||
|
fi
|
||||||
])
|
])
|
||||||
|
@ -638,6 +638,7 @@ SJAVAC_SERVER_JAVA_FLAGS
|
|||||||
SJAVAC_SERVER_JAVA
|
SJAVAC_SERVER_JAVA
|
||||||
JAVA_TOOL_FLAGS_SMALL
|
JAVA_TOOL_FLAGS_SMALL
|
||||||
JAVA_FLAGS_SMALL
|
JAVA_FLAGS_SMALL
|
||||||
|
JAVA_FLAGS_JAVAC
|
||||||
JAVA_FLAGS_BIG
|
JAVA_FLAGS_BIG
|
||||||
JAVA_FLAGS
|
JAVA_FLAGS
|
||||||
JOBS
|
JOBS
|
||||||
@ -679,6 +680,7 @@ MSVCP_DLL
|
|||||||
MSVCR_DLL
|
MSVCR_DLL
|
||||||
LIBCXX
|
LIBCXX
|
||||||
STATIC_CXX_SETTING
|
STATIC_CXX_SETTING
|
||||||
|
FIXPATH_DETACH_FLAG
|
||||||
FIXPATH
|
FIXPATH
|
||||||
GCOV_ENABLED
|
GCOV_ENABLED
|
||||||
ZIP_DEBUGINFO_FILES
|
ZIP_DEBUGINFO_FILES
|
||||||
@ -4610,7 +4612,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
|||||||
#CUSTOM_AUTOCONF_INCLUDE
|
#CUSTOM_AUTOCONF_INCLUDE
|
||||||
|
|
||||||
# Do not change or remove the following line, it is needed for consistency checks:
|
# Do not change or remove the following line, it is needed for consistency checks:
|
||||||
DATE_WHEN_GENERATED=1446762265
|
DATE_WHEN_GENERATED=1448375773
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
@ -45488,12 +45490,15 @@ $as_echo "no" >&6; }
|
|||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
|
FIXPATH_DETACH_FLAG="--detach"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check if X11 is needed
|
# Check if X11 is needed
|
||||||
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||||
# No X11 support on windows or macosx
|
# No X11 support on windows or macosx
|
||||||
@ -54791,6 +54796,9 @@ $as_echo "$boot_jdk_jvmargs_big" >&6; }
|
|||||||
JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
|
JAVA_FLAGS_BIG=$boot_jdk_jvmargs_big
|
||||||
|
|
||||||
|
|
||||||
|
# By default, the main javac compilations use big
|
||||||
|
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_BIG"
|
||||||
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for small workloads" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command for small workloads" >&5
|
||||||
$as_echo_n "checking flags for boot jdk java command for small workloads... " >&6; }
|
$as_echo_n "checking flags for boot jdk java command for small workloads... " >&6; }
|
||||||
@ -54967,6 +54975,12 @@ $as_echo_n "checking whether to use javac server... " >&6; }
|
|||||||
$as_echo "$ENABLE_JAVAC_SERVER" >&6; }
|
$as_echo "$ENABLE_JAVAC_SERVER" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
if test "x$ENABLE_JAVAC_SERVER" = "xyes" || "x$ENABLE_SJAVAC" = "xyes"; then
|
||||||
|
# When using a server javac, the small client instances do not need much
|
||||||
|
# resources.
|
||||||
|
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_SMALL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Can the C/C++ compiler use precompiled headers?
|
# Can the C/C++ compiler use precompiled headers?
|
||||||
|
|
||||||
|
@ -424,6 +424,7 @@ STRIPFLAGS:=@STRIPFLAGS@
|
|||||||
JAVA_FLAGS:=@JAVA_FLAGS@
|
JAVA_FLAGS:=@JAVA_FLAGS@
|
||||||
JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
|
JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
|
||||||
JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@
|
JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@
|
||||||
|
JAVA_FLAGS_JAVAC:=@JAVA_FLAGS_JAVAC@
|
||||||
JAVA_TOOL_FLAGS_SMALL:=@JAVA_TOOL_FLAGS_SMALL@
|
JAVA_TOOL_FLAGS_SMALL:=@JAVA_TOOL_FLAGS_SMALL@
|
||||||
SJAVAC_SERVER_JAVA_FLAGS:=@SJAVAC_SERVER_JAVA_FLAGS@
|
SJAVAC_SERVER_JAVA_FLAGS:=@SJAVAC_SERVER_JAVA_FLAGS@
|
||||||
|
|
||||||
@ -440,13 +441,15 @@ SJAVAC_SERVER_JAVA_CMD:=@SJAVAC_SERVER_JAVA@
|
|||||||
# it possible to override only the *_CMD variables.
|
# it possible to override only the *_CMD variables.
|
||||||
JAVA=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
|
JAVA=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
|
||||||
JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
|
JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
|
||||||
|
JAVA_JAVAC=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_JAVAC) $(JAVA_FLAGS)
|
||||||
JAVAC=@FIXPATH@ $(JAVAC_CMD)
|
JAVAC=@FIXPATH@ $(JAVAC_CMD)
|
||||||
JAVAH=@FIXPATH@ $(JAVAH_CMD)
|
JAVAH=@FIXPATH@ $(JAVAH_CMD)
|
||||||
JAR=@FIXPATH@ $(JAR_CMD)
|
JAR=@FIXPATH@ $(JAR_CMD)
|
||||||
JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
|
JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
|
||||||
# A specific java binary with specific options can be used to run
|
# A specific java binary with specific options can be used to run
|
||||||
# the long running background sjavac servers and other long running tasks.
|
# the long running background sjavac servers and other long running tasks.
|
||||||
SJAVAC_SERVER_JAVA=@FIXPATH@ $(SJAVAC_SERVER_JAVA_CMD) $(SJAVAC_SERVER_JAVA_FLAGS)
|
SJAVAC_SERVER_JAVA=@FIXPATH@ @FIXPATH_DETACH_FLAG@ $(SJAVAC_SERVER_JAVA_CMD) \
|
||||||
|
$(SJAVAC_SERVER_JAVA_FLAGS)
|
||||||
|
|
||||||
# Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
|
# Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
|
||||||
# overriding that value by using ?=.
|
# overriding that value by using ?=.
|
||||||
|
@ -358,10 +358,13 @@ int main(int argc, char const ** argv)
|
|||||||
char *line;
|
char *line;
|
||||||
char *current;
|
char *current;
|
||||||
int i, cmd;
|
int i, cmd;
|
||||||
DWORD exitCode;
|
DWORD exitCode = 0;
|
||||||
|
DWORD processFlags = 0;
|
||||||
|
BOOL processInheritHandles = TRUE;
|
||||||
|
BOOL waitForChild = TRUE;
|
||||||
|
|
||||||
if (argc<2 || argv[1][0] != '-' || (argv[1][1] != 'c' && argv[1][1] != 'm')) {
|
if (argc<2 || argv[1][0] != '-' || (argv[1][1] != 'c' && argv[1][1] != 'm')) {
|
||||||
fprintf(stderr, "Usage: fixpath -c|m<path@path@...> /cygdrive/c/WINDOWS/notepad.exe [/cygdrive/c/x/test.txt|@/cygdrive/c/x/atfile]\n");
|
fprintf(stderr, "Usage: fixpath -c|m<path@path@...> [--detach] /cygdrive/c/WINDOWS/notepad.exe [/cygdrive/c/x/test.txt|@/cygdrive/c/x/atfile]\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -386,7 +389,22 @@ int main(int argc, char const ** argv)
|
|||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
i = 2;
|
if (argv[2][0] == '-') {
|
||||||
|
if (strcmp(argv[2], "--detach") == 0) {
|
||||||
|
if (getenv("DEBUG_FIXPATH") != NULL) {
|
||||||
|
fprintf(stderr, "fixpath in detached mode\n");
|
||||||
|
}
|
||||||
|
processFlags |= DETACHED_PROCESS;
|
||||||
|
processInheritHandles = FALSE;
|
||||||
|
waitForChild = FALSE;
|
||||||
|
} else {
|
||||||
|
fprintf(stderr, "fixpath Unknown argument: %s\n", argv[2]);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
i = 3;
|
||||||
|
} else {
|
||||||
|
i = 2;
|
||||||
|
}
|
||||||
|
|
||||||
// handle assignments
|
// handle assignments
|
||||||
while (i < argc) {
|
while (i < argc) {
|
||||||
@ -428,6 +446,10 @@ int main(int argc, char const ** argv)
|
|||||||
while (i < argc) {
|
while (i < argc) {
|
||||||
char const *replaced = replace_cygdrive(argv[i]);
|
char const *replaced = replace_cygdrive(argv[i]);
|
||||||
if (replaced[0] == '@') {
|
if (replaced[0] == '@') {
|
||||||
|
if (waitForChild == FALSE) {
|
||||||
|
fprintf(stderr, "fixpath Cannot use @-files in detached mode: %s\n", replaced);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
// Found at-file! Fix it!
|
// Found at-file! Fix it!
|
||||||
replaced = fix_at_file(replaced);
|
replaced = fix_at_file(replaced);
|
||||||
}
|
}
|
||||||
@ -480,8 +502,8 @@ int main(int argc, char const ** argv)
|
|||||||
line,
|
line,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
TRUE,
|
processInheritHandles,
|
||||||
0,
|
processFlags,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
&si,
|
&si,
|
||||||
@ -492,24 +514,30 @@ int main(int argc, char const ** argv)
|
|||||||
exit(126);
|
exit(126);
|
||||||
}
|
}
|
||||||
|
|
||||||
WaitForSingleObject(pi.hProcess, INFINITE);
|
if (waitForChild == TRUE) {
|
||||||
GetExitCodeProcess(pi.hProcess, &exitCode);
|
WaitForSingleObject(pi.hProcess, INFINITE);
|
||||||
|
GetExitCodeProcess(pi.hProcess, &exitCode);
|
||||||
|
|
||||||
if (getenv("DEBUG_FIXPATH") != NULL) {
|
if (getenv("DEBUG_FIXPATH") != NULL) {
|
||||||
for (i=0; i<num_files_to_delete; ++i) {
|
for (i=0; i<num_files_to_delete; ++i) {
|
||||||
fprintf(stderr, "fixpath Not deleting temporary file %s\n",
|
fprintf(stderr, "fixpath Not deleting temporary file %s\n",
|
||||||
files_to_delete[i]);
|
files_to_delete[i]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (i=0; i<num_files_to_delete; ++i) {
|
||||||
|
remove(files_to_delete[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exitCode != 0) {
|
||||||
|
if (getenv("DEBUG_FIXPATH") != NULL) {
|
||||||
|
fprintf(stderr, "fixpath exit code %d\n",
|
||||||
|
exitCode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i=0; i<num_files_to_delete; ++i) {
|
|
||||||
remove(files_to_delete[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (exitCode != 0) {
|
|
||||||
if (getenv("DEBUG_FIXPATH") != NULL) {
|
if (getenv("DEBUG_FIXPATH") != NULL) {
|
||||||
fprintf(stderr, "fixpath exit code %d\n",
|
fprintf(stderr, "fixpath Not waiting for child process");
|
||||||
exitCode);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,13 +287,6 @@ else # $(HAS_SPEC)=true
|
|||||||
|
|
||||||
BUILD_LOG_WRAPPER := $(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)
|
BUILD_LOG_WRAPPER := $(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)
|
||||||
|
|
||||||
# Disable the build log wrapper on sjavac+windows until
|
|
||||||
# we have solved how to prevent the log wrapper to wait
|
|
||||||
# for the background sjavac server process.
|
|
||||||
ifeq ($(ENABLE_SJAVAC)X$(OPENJDK_BUILD_OS),yesXwindows)
|
|
||||||
LOG_NOFILE := true
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Sanity check the spec file, so it matches this source code
|
# Sanity check the spec file, so it matches this source code
|
||||||
define CheckSpecSanity
|
define CheckSpecSanity
|
||||||
ifneq ($$(ACTUAL_TOPDIR), $$(TOPDIR))
|
ifneq ($$(ACTUAL_TOPDIR), $$(TOPDIR))
|
||||||
|
@ -63,7 +63,7 @@ $(eval $(call SetupJavaCompiler,GENERATE_OLDBYTECODE, \
|
|||||||
# The generate new bytecode javac setup uses the new compiler to compile for the
|
# The generate new bytecode javac setup uses the new compiler to compile for the
|
||||||
# new jdk. This new bytecode might only be possible to run using the new jvm.
|
# new jdk. This new bytecode might only be possible to run using the new jvm.
|
||||||
$(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE, \
|
$(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE, \
|
||||||
JVM := $(JAVA), \
|
JVM := $(JAVA_JAVAC), \
|
||||||
JAVAC := $(NEW_JAVAC), \
|
JAVAC := $(NEW_JAVAC), \
|
||||||
FLAGS := -source 9 -target 9 \
|
FLAGS := -source 9 -target 9 \
|
||||||
-encoding ascii -XDignore.symbol.file=true $(JAVAC_WARNINGS), \
|
-encoding ascii -XDignore.symbol.file=true $(JAVAC_WARNINGS), \
|
||||||
@ -73,7 +73,7 @@ $(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE, \
|
|||||||
# The generate new bytecode javac setup uses the new compiler to compile for the
|
# The generate new bytecode javac setup uses the new compiler to compile for the
|
||||||
# new jdk. This new bytecode might only be possible to run using the new jvm.
|
# new jdk. This new bytecode might only be possible to run using the new jvm.
|
||||||
$(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE_NOWARNINGS, \
|
$(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE_NOWARNINGS, \
|
||||||
JVM := $(JAVA), \
|
JVM := $(JAVA_JAVAC), \
|
||||||
JAVAC := $(NEW_JAVAC), \
|
JAVAC := $(NEW_JAVAC), \
|
||||||
FLAGS := -source 9 -target 9 \
|
FLAGS := -source 9 -target 9 \
|
||||||
-encoding ascii -XDignore.symbol.file=true $(DISABLE_WARNINGS), \
|
-encoding ascii -XDignore.symbol.file=true $(DISABLE_WARNINGS), \
|
||||||
|
Loading…
Reference in New Issue
Block a user