comparison src/os/bsd/vm/os_bsd.cpp @ 7456:7d42f3b08300

8005044: remove crufty '_g' support from HS runtime code Summary: Phase 2 is removing '_g' support from the Runtime code. Reviewed-by: dcubed, coleenp, hseigel Contributed-by: ron.durbin@oracle.com
author dcubed
date Wed, 19 Dec 2012 10:35:08 -0800
parents d2f8c38e543d
children 989155e2d07a c07c102cbad7
comparison
equal deleted inserted replaced
7413:805aa223d540 7456:7d42f3b08300
296 // char arch[12]; 296 // char arch[12];
297 // sysinfo(SI_ARCHITECTURE, arch, sizeof(arch)); 297 // sysinfo(SI_ARCHITECTURE, arch, sizeof(arch));
298 298
299 // The next steps are taken in the product version: 299 // The next steps are taken in the product version:
300 // 300 //
301 // Obtain the JAVA_HOME value from the location of libjvm[_g].so. 301 // Obtain the JAVA_HOME value from the location of libjvm.so.
302 // This library should be located at: 302 // This library should be located at:
303 // <JAVA_HOME>/jre/lib/<arch>/{client|server}/libjvm[_g].so. 303 // <JAVA_HOME>/jre/lib/<arch>/{client|server}/libjvm.so.
304 // 304 //
305 // If "/jre/lib/" appears at the right place in the path, then we 305 // If "/jre/lib/" appears at the right place in the path, then we
306 // assume libjvm[_g].so is installed in a JDK and we use this path. 306 // assume libjvm.so is installed in a JDK and we use this path.
307 // 307 //
308 // Otherwise exit with message: "Could not create the Java virtual machine." 308 // Otherwise exit with message: "Could not create the Java virtual machine."
309 // 309 //
310 // The following extra steps are taken in the debugging version: 310 // The following extra steps are taken in the debugging version:
311 // 311 //
312 // If "/jre/lib/" does NOT appear at the right place in the path 312 // If "/jre/lib/" does NOT appear at the right place in the path
313 // instead of exit check for $JAVA_HOME environment variable. 313 // instead of exit check for $JAVA_HOME environment variable.
314 // 314 //
315 // If it is defined and we are able to locate $JAVA_HOME/jre/lib/<arch>, 315 // If it is defined and we are able to locate $JAVA_HOME/jre/lib/<arch>,
316 // then we append a fake suffix "hotspot/libjvm[_g].so" to this path so 316 // then we append a fake suffix "hotspot/libjvm.so" to this path so
317 // it looks like libjvm[_g].so is installed there 317 // it looks like libjvm.so is installed there
318 // <JAVA_HOME>/jre/lib/<arch>/hotspot/libjvm[_g].so. 318 // <JAVA_HOME>/jre/lib/<arch>/hotspot/libjvm.so.
319 // 319 //
320 // Otherwise exit. 320 // Otherwise exit.
321 // 321 //
322 // Important note: if the location of libjvm.so changes this 322 // Important note: if the location of libjvm.so changes this
323 // code needs to be changed accordingly. 323 // code needs to be changed accordingly.
1226 1226
1227 const char* os::get_current_directory(char *buf, int buflen) { 1227 const char* os::get_current_directory(char *buf, int buflen) {
1228 return getcwd(buf, buflen); 1228 return getcwd(buf, buflen);
1229 } 1229 }
1230 1230
1231 // check if addr is inside libjvm[_g].so 1231 // check if addr is inside libjvm.so
1232 bool os::address_is_in_vm(address addr) { 1232 bool os::address_is_in_vm(address addr) {
1233 static address libjvm_base_addr; 1233 static address libjvm_base_addr;
1234 Dl_info dlinfo; 1234 Dl_info dlinfo;
1235 1235
1236 if (libjvm_base_addr == NULL) { 1236 if (libjvm_base_addr == NULL) {
1687 print_signal_handler(st, BREAK_SIGNAL, buf, buflen); 1687 print_signal_handler(st, BREAK_SIGNAL, buf, buflen);
1688 } 1688 }
1689 1689
1690 static char saved_jvm_path[MAXPATHLEN] = {0}; 1690 static char saved_jvm_path[MAXPATHLEN] = {0};
1691 1691
1692 // Find the full path to the current module, libjvm or libjvm_g 1692 // Find the full path to the current module, libjvm
1693 void os::jvm_path(char *buf, jint buflen) { 1693 void os::jvm_path(char *buf, jint buflen) {
1694 // Error checking. 1694 // Error checking.
1695 if (buflen < MAXPATHLEN) { 1695 if (buflen < MAXPATHLEN) {
1696 assert(false, "must use a large-enough buffer"); 1696 assert(false, "must use a large-enough buffer");
1697 buf[0] = '\0'; 1697 buf[0] = '\0';
1730 char* java_home_var = ::getenv("JAVA_HOME"); 1730 char* java_home_var = ::getenv("JAVA_HOME");
1731 if (java_home_var != NULL && java_home_var[0] != 0) { 1731 if (java_home_var != NULL && java_home_var[0] != 0) {
1732 char* jrelib_p; 1732 char* jrelib_p;
1733 int len; 1733 int len;
1734 1734
1735 // Check the current module name "libjvm" or "libjvm_g". 1735 // Check the current module name "libjvm"
1736 p = strrchr(buf, '/'); 1736 p = strrchr(buf, '/');
1737 assert(strstr(p, "/libjvm") == p, "invalid library name"); 1737 assert(strstr(p, "/libjvm") == p, "invalid library name");
1738 p = strstr(p, "_g") ? "_g" : "";
1739 1738
1740 rp = realpath(java_home_var, buf); 1739 rp = realpath(java_home_var, buf);
1741 if (rp == NULL) 1740 if (rp == NULL)
1742 return; 1741 return;
1743 1742
1762 1761
1763 // If the path exists within JAVA_HOME, add the JVM library name 1762 // If the path exists within JAVA_HOME, add the JVM library name
1764 // to complete the path to JVM being overridden. Otherwise fallback 1763 // to complete the path to JVM being overridden. Otherwise fallback
1765 // to the path to the current library. 1764 // to the path to the current library.
1766 if (0 == access(buf, F_OK)) { 1765 if (0 == access(buf, F_OK)) {
1767 // Use current module name "libjvm[_g]" instead of 1766 // Use current module name "libjvm"
1768 // "libjvm"debug_only("_g")"" since for fastdebug version
1769 // we should have "libjvm" but debug_only("_g") adds "_g"!
1770 len = strlen(buf); 1767 len = strlen(buf);
1771 snprintf(buf + len, buflen-len, "/libjvm%s%s", p, JNI_LIB_SUFFIX); 1768 snprintf(buf + len, buflen-len, "/libjvm%s", JNI_LIB_SUFFIX);
1772 } else { 1769 } else {
1773 // Fall back to path of current library 1770 // Fall back to path of current library
1774 rp = realpath(dli_fname, buf); 1771 rp = realpath(dli_fname, buf);
1775 if (rp == NULL) 1772 if (rp == NULL)
1776 return; 1773 return;