gcjwebplugin-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcjwebplugin-devel] LD_PRELOADing libraries


From: Michael Koch
Subject: Re: [Gcjwebplugin-devel] LD_PRELOADing libraries
Date: Thu, 7 Aug 2003 13:17:08 +0200
User-agent: KMail/1.5.2

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Mittwoch, 6. August 2003 20:30 schrieb Thomas Fitzsimmons:

> With the help of other gcj hackers, I found the problem.
>
> To understand the problem, it helps to know the relevant shared
> libraries and their dependencies:
>
> Mozilla dlopens libgcjwebplugin.so
>
> libgcjwebplugin.so is linked against libgcj.so
>
> libgcj.so dlopens lib-gnu-java-awt-peer-gtk.so
>         sometime after libgcjwebplugin.so is loaded.
>
> lib-gnu-java-awt-peer-gtk.so depends on symbols in libgcj.so
>
> The problem is that Mozilla dlopens libgcjwebplugin.so without
> specifying the RTLD_GLOBAL flag.  Because libgcjwebplugin.so
> depends on libgcj.so, libgcj.so is also loaded at this time.  Since
> Mozilla doesn't specify RTLD_GLOBAL, libgcj.so's symbols are not
> exported to the global symbol namespace.
>
> When the first AWT component is shown, libgcj.so attempts to dlopen
> lib-gnu-java-awt-peer-gtk.so so that the component's GTK peer may
> be instantiated.  However, this dlopen fails with an unresolved
> symbol error for a libgcj.so symbol (_Jv_intClass); libgcj.so is
> already loaded (as a result of Mozilla dlopening
> libgcjwebplugin.so), but its symbols are not globally visible, and
> so are not available to
> lib-gnu-java-awt-peer-gtk.so.

Would it be a good idea to add a configure option to link the gtk peer 
into the plugin (e.g. --with-gtk-peer) ? That would of course be a 
hack for mozilla.


Michael
- -- 
Homepage: http://www.worldforge.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/MjU0WSOgCCdjSDsRAtUvAJ9d5/C0BTrmyHNyg9jdQ9KnaXA02wCfTViJ
n4bQ+tfGP41YY66TBGo7soY=
=fkwM
-----END PGP SIGNATURE-----





reply via email to

[Prev in Thread] Current Thread [Next in Thread]