--- old/make/hotspot/lib/CompileJvm.gmk 2018-09-29 21:16:23.286456102 -0400 +++ new/make/hotspot/lib/CompileJvm.gmk 2018-09-29 21:16:23.050443581 -0400 @@ -92,7 +92,7 @@ DISABLED_WARNINGS_gcc += return-type switch endif -DISABLED_WARNINGS_clang := tautological-compare deprecated-declarations \ +DISABLED_WARNINGS_clang := tautological-compare \ undefined-var-template sometimes-uninitialized unknown-pragmas \ delete-non-virtual-dtor missing-braces char-subscripts \ ignored-qualifiers missing-field-initializers mismatched-tags --- old/src/hotspot/os/bsd/os_bsd.cpp 2018-09-29 21:16:24.318510858 -0400 +++ new/src/hotspot/os/bsd/os_bsd.cpp 2018-09-29 21:16:24.050496639 -0400 @@ -3245,7 +3245,13 @@ // Linux, Solaris, and FreeBSD. On Mac OS X, dyld (rightly so) enforces // alignment when doing symbol lookup. To work around this, we force early // binding of all symbols now, thus binding when alignment is known-good. - _dyld_bind_fully_image_containing_address((const void *) &os::init); + Dl_info dl_info; + if (dladdr(CAST_FROM_FN_PTR(void*, os::init), &dl_info) != 0) { + void* handle = dlopen(dl_info.dli_fname, RTLD_NOW); + if (handle != NULL) { + dlclose(handle); + } + } #endif os::Posix::init(); --- old/src/hotspot/share/utilities/globalDefinitions_gcc.hpp 2018-09-29 21:16:25.390567737 -0400 +++ new/src/hotspot/share/utilities/globalDefinitions_gcc.hpp 2018-09-29 21:16:25.110552880 -0400 @@ -218,8 +218,8 @@ // Checking for finiteness -inline int g_isfinite(jfloat f) { return finite(f); } -inline int g_isfinite(jdouble f) { return finite(f); } +inline int g_isfinite(jfloat f) { return isfinite(f); } +inline int g_isfinite(jdouble f) { return isfinite(f); } // Wide characters