From ff2865f2dde326797f4061c32c19fc75dcd4fec5 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 28 Aug 2003 22:11:51 +0000 Subject: [PATCH] * gcj.texi (Extensions): Document gcjlib URLs. From-SVN: r70891 --- gcc/java/ChangeLog | 4 ++++ gcc/java/gcj.texi | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index fa23642..72075f7 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,7 @@ +2003-08-28 Tom Tromey + + * gcj.texi (Extensions): Document gcjlib URLs. + 2003-08-20 Tom Tromey * gcj.texi (Extensions): Added xref. diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi index fc22329..374bdf8 100644 --- a/gcc/java/gcj.texi +++ b/gcc/java/gcj.texi @@ -546,6 +546,21 @@ the @code{libgcj} bytecode interpreter to load the class from the standard classpath. This process can be controlled to some degree via the @code{gnu.gcj.runtime.VMClassLoader.library_control} property; @xref{libgcj Runtime Properties}. + +@item + +@code{libgcj} includes a special @samp{gcjlib} URL type. A URL of +this form is like a @code{jar} URL, and looks like +@samp{gcjlib:/path/to/shared/library.so!/path/to/resource}. An access +to one of these URLs causes the shared library to be @code{dlopen()}d, +and then the resource is looked for in that library. These URLs are +most useful when used in conjunction with @code{java.net.URLClassLoader}. +Note that, due to implementation limitations, currently any such URL +can be accessed by only one class loader, and libraries are never +unloaded. This means some care must be exercised to make sure that +a @code{gcjlib} URL is not accessed by more than one class loader at once. +In a future release this limitation will be lifted, and such +libraries will be mapped privately. @end itemize @node Invoking gcjh -- 2.7.4