[OpenJDK 2D-Dev] Runtime paths for awt*.so on Solaris
Erik Joelsson
erik.joelsson at oracle.com
Thu Mar 20 12:43:20 UTC 2014
Hello,
While going through the makefiles for native libraries in the jdk, I
noticed that there are a couple of runtime paths set in the link command
lines that don't seem to be used, specifically:
libawt.so: -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR)
-R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR)
libawt_xawt.so: -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR)
libawt_headless.so: -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR)
-R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR)
In addition to this, libjawt.so and libsplashscreen.so are specifying
one or both of -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) and
-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) without a
corresponding -R flag to help them find the libs at runtime. This seems
to be working currently because libX11.so and libXext.so have softlinks
in /usr/lib so the extra -L flag for libsplashscreen is unnecessary, and
for libjawt.so, I'm guessing that it's piggy backing on
libawt.so/libawt_xawt.so to find the dependencies from their -R paths.
I'm wondering if there could be hidden reasons for doing this or if it's
simply just leftovers from long ago? I'm working on a patch where I
would like to clean this up and so far, ldd seems happy finding all
dependencies after removing the seemingly unneeded -R flags and adding
them to the libraries that actually need them. The /usr/dt/lib path
doesn't seem to be used by anyone so I removed that completely.
/Erik
More information about the 2d-dev
mailing list