1.1 --- a/src/os/bsd/vm/os_bsd.cpp Mon Mar 10 12:58:02 2014 +0100 1.2 +++ b/src/os/bsd/vm/os_bsd.cpp Thu Mar 13 14:57:01 2014 -0700 1.3 @@ -1557,6 +1557,17 @@ 1.4 } 1.5 #endif /* !__APPLE__ */ 1.6 1.7 +void* os::get_default_process_handle() { 1.8 +#ifdef __APPLE__ 1.9 + // MacOS X needs to use RTLD_FIRST instead of RTLD_LAZY 1.10 + // to avoid finding unexpected symbols on second (or later) 1.11 + // loads of a library. 1.12 + return (void*)::dlopen(NULL, RTLD_FIRST); 1.13 +#else 1.14 + return (void*)::dlopen(NULL, RTLD_LAZY); 1.15 +#endif 1.16 +} 1.17 + 1.18 // XXX: Do we need a lock around this as per Linux? 1.19 void* os::dll_lookup(void* handle, const char* name) { 1.20 return dlsym(handle, name);