6504660: HPI panic callback is dead code
Reviewed-by: dcubed, cjplummer, redestad
This commit is contained in:
parent
42cb9bf51a
commit
b5783d5055
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,17 +23,9 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Adapted from JDK 1.2 linker_md.c v1.37. Note that we #define
|
||||
* NATIVE here, whether or not we're running solaris native threads.
|
||||
* Outside the VM, it's unclear how we can do the locking that is
|
||||
* done in the green threads version of the code below.
|
||||
*/
|
||||
#define NATIVE
|
||||
|
||||
/*
|
||||
* Machine Dependent implementation of the dynamic linking support
|
||||
* for java. This routine is Solaris specific.
|
||||
* for java. This routine is Unix specific.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@ -43,10 +35,6 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "path_md.h"
|
||||
#ifndef NATIVE
|
||||
#include "iomgr.h"
|
||||
#include "threads_md.h"
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
#define LIB_SUFFIX "dylib"
|
||||
@ -85,7 +73,7 @@ static void dll_build_name(char* buffer, size_t buflen,
|
||||
int
|
||||
dbgsysBuildFunName(char *name, int nameLen, int args_size, int encodingIndex)
|
||||
{
|
||||
/* On Solaris, there is only one encoding method. */
|
||||
// On Unix, there is only one encoding method.
|
||||
if (encodingIndex == 0)
|
||||
return 1;
|
||||
return 0;
|
||||
@ -96,12 +84,13 @@ dbgsysBuildFunName(char *name, int nameLen, int args_size, int encodingIndex)
|
||||
* appropriate pre and extensions to a filename and the path
|
||||
*/
|
||||
void
|
||||
dbgsysBuildLibName(char *holder, int holderlen, const char *pname, const char *fname)
|
||||
dbgsysBuildLibName(char *holder, int holderlen, const char *pname,
|
||||
const char *fname)
|
||||
{
|
||||
const int pnamelen = pname ? strlen(pname) : 0;
|
||||
|
||||
*holder = '\0';
|
||||
/* Quietly truncate on buffer overflow. Should be an error. */
|
||||
// Quietly truncate on buffer overflow. Should be an error.
|
||||
if (pnamelen + (int)strlen(fname) + 10 > holderlen) {
|
||||
return;
|
||||
}
|
||||
@ -113,30 +102,11 @@ dbgsysBuildLibName(char *holder, int holderlen, const char *pname, const char *f
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef NATIVE
|
||||
extern int thr_main(void);
|
||||
#endif
|
||||
|
||||
void *
|
||||
dbgsysLoadLibrary(const char *name, char *err_buf, int err_buflen)
|
||||
{
|
||||
void * result;
|
||||
#ifdef NATIVE
|
||||
result = dlopen(name, RTLD_LAZY);
|
||||
#else
|
||||
sysMonitorEnter(greenThreadSelf(), &_dl_lock);
|
||||
result = dlopen(name, RTLD_NOW);
|
||||
sysMonitorExit(greenThreadSelf(), &_dl_lock);
|
||||
/*
|
||||
* This is a bit of bulletproofing to catch the commonly occurring
|
||||
* problem of people loading a library which depends on libthread into
|
||||
* the VM. thr_main() should always return -1 which means that libthread
|
||||
* isn't loaded.
|
||||
*/
|
||||
if (thr_main() != -1) {
|
||||
VM_CALL(panic)("libthread loaded into green threads");
|
||||
}
|
||||
#endif
|
||||
if (result == NULL) {
|
||||
(void)strncpy(err_buf, dlerror(), err_buflen-2);
|
||||
err_buf[err_buflen-1] = '\0';
|
||||
@ -146,24 +116,10 @@ dbgsysLoadLibrary(const char *name, char *err_buf, int err_buflen)
|
||||
|
||||
void dbgsysUnloadLibrary(void *handle)
|
||||
{
|
||||
#ifndef NATIVE
|
||||
sysMonitorEnter(greenThreadSelf(), &_dl_lock);
|
||||
#endif
|
||||
(void)dlclose(handle);
|
||||
#ifndef NATIVE
|
||||
sysMonitorExit(greenThreadSelf(), &_dl_lock);
|
||||
#endif
|
||||
}
|
||||
|
||||
void * dbgsysFindLibraryEntry(void *handle, const char *name)
|
||||
{
|
||||
void * sym;
|
||||
#ifndef NATIVE
|
||||
sysMonitorEnter(greenThreadSelf(), &_dl_lock);
|
||||
#endif
|
||||
sym = dlsym(handle, name);
|
||||
#ifndef NATIVE
|
||||
sysMonitorExit(greenThreadSelf(), &_dl_lock);
|
||||
#endif
|
||||
return sym;
|
||||
return dlsym(handle, name);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user