--- old/src/hotspot/os/aix/os_aix.cpp 2018-05-17 15:07:23.302101700 -0400 +++ new/src/hotspot/os/aix/os_aix.cpp 2018-05-17 15:07:22.868061421 -0400 @@ -3035,7 +3035,7 @@ } // Renamed from 'signalHandler' to avoid collision with other shared libs. -void javaSignalHandler(int sig, siginfo_t* info, void* uc) { +static void javaSignalHandler(int sig, siginfo_t* info, void* uc) { assert(info != NULL && uc != NULL, "it must be old kernel"); // Never leave program error signals blocked; @@ -3594,6 +3594,10 @@ Aix::signal_sets_init(); Aix::install_signal_handlers(); + // Initialize data for jdk.internal.misc.Signal + if (!ReduceSignalUsage) { + signal_init_pd(); + } // Check and sets minimum stack sizes against command line options if (Posix::set_minimum_stack_sizes() == JNI_ERR) { --- old/src/hotspot/os/aix/os_share_aix.hpp 2018-05-17 15:07:23.810148848 -0400 +++ new/src/hotspot/os/aix/os_share_aix.hpp 2018-05-17 15:07:23.498119891 -0400 @@ -26,7 +26,6 @@ #define OS_AIX_VM_OS_SHARE_AIX_HPP // misc -void signalHandler(int, siginfo_t*, ucontext_t*); void handle_unexpected_exception(Thread* thread, int sig, siginfo_t* info, address pc, address adjusted_pc); #ifndef PRODUCT void continue_with_dump(void); --- old/src/hotspot/os/bsd/os_bsd.cpp 2018-05-17 15:07:24.272191727 -0400 +++ new/src/hotspot/os/bsd/os_bsd.cpp 2018-05-17 15:07:23.906157758 -0400 @@ -2773,7 +2773,7 @@ void* ucontext, int abort_if_unrecognized); -void signalHandler(int sig, siginfo_t* info, void* uc) { +static void signalHandler(int sig, siginfo_t* info, void* uc) { assert(info != NULL && uc != NULL, "it must be old kernel"); int orig_errno = errno; // Preserve errno value over signal handler. JVM_handle_bsd_signal(sig, info, uc, true); @@ -3301,6 +3301,10 @@ Bsd::signal_sets_init(); Bsd::install_signal_handlers(); + // Initialize data for jdk.internal.misc.Signal + if (!ReduceSignalUsage) { + signal_init_pd(); + } // Check and sets minimum stack sizes against command line options if (Posix::set_minimum_stack_sizes() == JNI_ERR) { --- old/src/hotspot/os/bsd/os_share_bsd.hpp 2018-05-17 15:07:24.881248249 -0400 +++ new/src/hotspot/os/bsd/os_share_bsd.hpp 2018-05-17 15:07:24.463209454 -0400 @@ -26,7 +26,6 @@ #define OS_BSD_VM_OS_SHARE_BSD_HPP // misc -void signalHandler(int, siginfo_t*, ucontext_t*); void handle_unexpected_exception(Thread* thread, int sig, siginfo_t* info, address pc, address adjusted_pc); #ifndef PRODUCT void continue_with_dump(void); --- old/src/hotspot/os/linux/os_linux.cpp 2018-05-17 15:07:25.394295861 -0400 +++ new/src/hotspot/os/linux/os_linux.cpp 2018-05-17 15:07:24.981257530 -0400 @@ -4452,7 +4452,7 @@ void* ucontext, int abort_if_unrecognized); -void signalHandler(int sig, siginfo_t* info, void* uc) { +static void signalHandler(int sig, siginfo_t* info, void* uc) { assert(info != NULL && uc != NULL, "it must be old kernel"); int orig_errno = errno; // Preserve errno value over signal handler. JVM_handle_linux_signal(sig, info, uc, true); @@ -5000,6 +5000,10 @@ Linux::signal_sets_init(); Linux::install_signal_handlers(); + // Initialize data for jdk.internal.misc.Signal + if (!ReduceSignalUsage) { + signal_init_pd(); + } // Check and sets minimum stack sizes against command line options if (Posix::set_minimum_stack_sizes() == JNI_ERR) { --- old/src/hotspot/os/linux/os_share_linux.hpp 2018-05-17 15:07:26.023354238 -0400 +++ new/src/hotspot/os/linux/os_share_linux.hpp 2018-05-17 15:07:25.639318599 -0400 @@ -26,7 +26,6 @@ #define OS_LINUX_VM_OS_SHARE_LINUX_HPP // misc -void signalHandler(int, siginfo_t*, ucontext_t*); void handle_unexpected_exception(Thread* thread, int sig, siginfo_t* info, address pc, address adjusted_pc); #ifndef PRODUCT void continue_with_dump(void); --- old/src/hotspot/os/solaris/os_share_solaris.hpp 2018-05-17 15:07:26.404389600 -0400 +++ new/src/hotspot/os/solaris/os_share_solaris.hpp 2018-05-17 15:07:26.121363334 -0400 @@ -28,9 +28,6 @@ // Defines the interfaces to Solaris operating systems that vary across platforms // misc -extern "C" { - void signalHandler(int, siginfo_t*, void*); -} void resolve_lwp_exit_calls(void); void handle_unexpected_exception(Thread* thread, int sig, siginfo_t* info, address pc, address adjusted_pc); #ifndef PRODUCT --- old/src/hotspot/os/solaris/os_solaris.cpp 2018-05-17 15:07:26.858431736 -0400 +++ new/src/hotspot/os/solaris/os_solaris.cpp 2018-05-17 15:07:26.503398788 -0400 @@ -1871,6 +1871,8 @@ return buf; } +void signalHandler(int sig, siginfo_t* info, void* ucVoid); + static void print_signal_handler(outputStream* st, int sig, char* buf, size_t buflen) { struct sigaction sa; @@ -3683,7 +3685,7 @@ int abort_if_unrecognized); -void signalHandler(int sig, siginfo_t* info, void* ucVoid) { +static void signalHandler(int sig, siginfo_t* info, void* ucVoid) { int orig_errno = errno; // Preserve errno value over signal handler. JVM_handle_solaris_signal(sig, info, ucVoid, true); errno = orig_errno; @@ -4249,6 +4251,10 @@ Solaris::signal_sets_init(); Solaris::init_signal_mem(); Solaris::install_signal_handlers(); + // Initialize data for jdk.internal.misc.Signal + if (!ReduceSignalUsage) { + signal_init_pd(); + } // initialize synchronization primitives to use either thread or // lwp synchronization (controlled by UseLWPSynchronization) --- old/src/hotspot/os/windows/os_windows.cpp 2018-05-17 15:07:27.432485009 -0400 +++ new/src/hotspot/os/windows/os_windows.cpp 2018-05-17 15:07:27.057450204 -0400 @@ -4132,6 +4132,11 @@ SymbolEngine::recalc_search_path(); + // Initialize data for jdk.internal.misc.Signal + if (!ReduceSignalUsage) { + signal_init_pd(); + } + return JNI_OK; } --- old/src/hotspot/share/runtime/os.cpp 2018-05-17 15:07:27.998537540 -0400 +++ new/src/hotspot/share/runtime/os.cpp 2018-05-17 15:07:27.654505613 -0400 @@ -473,8 +473,6 @@ thread_oop, // ARG 1 CHECK); - os::signal_init_pd(); - { MutexLocker mu(Threads_lock); JavaThread* signal_thread = new JavaThread(&signal_thread_entry);