changeset 54100:1a6a5a0260a7

6504660: HPI panic callback is dead code Reviewed-by: dcubed, cjplummer, redestad
author bpb
date Wed, 13 Mar 2019 07:16:57 -0700
parents fd332722014c
children 195309a6c7d5
files src/jdk.jdwp.agent/unix/native/libjdwp/linker_md.c
diffstat 1 files changed, 7 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/src/jdk.jdwp.agent/unix/native/libjdwp/linker_md.c	Wed Mar 13 07:14:50 2019 -0700
+++ b/src/jdk.jdwp.agent/unix/native/libjdwp/linker_md.c	Wed Mar 13 07:16:57 2019 -0700
@@ -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
@@ -24,16 +24,8 @@
  */
 
 /*
- * 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 @@
 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 @@
  * 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 @@
     }
 }
 
-#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 @@
 
 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);
 }