--- 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();