Mercurial > hg > graal-jvmci-8
changeset 4960:86ce3208eb18
7145798: System.loadLibrary does not search current working directory
Summary: Append "." to java.library.path on MacOS X to ease migration from Apple's Java6 to OpenJDK7.
Reviewed-by: phh, jmelvin, coleenp
author | dcubed |
---|---|
date | Fri, 17 Feb 2012 15:55:27 -0800 |
parents | df4927a3b82e |
children | 0368109684cb |
files | src/os/bsd/vm/os_bsd.cpp |
diffstat | 1 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os/bsd/vm/os_bsd.cpp Thu Feb 16 17:19:40 2012 -0500 +++ b/src/os/bsd/vm/os_bsd.cpp Fri Feb 17 15:55:27 2012 -0800 @@ -568,6 +568,25 @@ sprintf(ld_library_path, "%s:%s", v, t); free(t); } + +#ifdef __APPLE__ + // Apple's Java6 has "." at the beginning of java.library.path. + // OpenJDK on Windows has "." at the end of java.library.path. + // OpenJDK on Linux and Solaris don't have "." in java.library.path + // at all. To ease the transition from Apple's Java6 to OpenJDK7, + // "." is appended to the end of java.library.path. Yes, this + // could cause a change in behavior, but Apple's Java6 behavior + // can be achieved by putting "." at the beginning of the + // JAVA_LIBRARY_PATH environment variable. + { + char *t = ld_library_path; + // that's +3 for appending ":." and the trailing '\0' + ld_library_path = (char *) malloc(strlen(t) + 3); + sprintf(ld_library_path, "%s:%s", t, "."); + free(t); + } +#endif + Arguments::set_library_path(ld_library_path); }