Re: dlopen() without RTLD_GLOBAL
- From: Tim Janik <timj gtk org>
- To: Havoc Pennington <hp redhat com>
- Cc: Gtk+ Developers <gtk-devel-list gnome org>, James Henstridge <james daa com au>
- Subject: Re: dlopen() without RTLD_GLOBAL
- Date: Fri, 3 May 2002 06:45:23 +0200 (CEST)
On 2 May 2002, Havoc Pennington wrote:
>
> Hi,
>
> gdk-pixbuf and the like should definitely not be using RTLD_GLOBAL,
> on platforms that support dlopen() with private symbols.
> Using RTLD_GLOBAL has the effect of stuffing all those image libs into
> our ABI, which kind of sucks.
>
> If we're doing a GLib 2.2, suggest that we add a
> G_MODULE_LOCAL_SYMBOLS flag to GModuleFlags.
one of the reasons to not have such a flag in the initial implementation
was that not all systems do support user defined scope specification.
gmodule-dl.c has more comments on this, and configure.in checks for
RTLD_GLOBAL borkeness on at least OSF1/5.0.
(the same holds for G_MODULE_BIND_LAZY, but isn't as much of a problem
since lazy resolution of symbols is more of a hint and doesn't necessarily
break things if not honoured).
the demand to load modules with non-global symbols has popped up often
enough to justify it's implementations though, but users (docs) need to
be aware that G_MODULE_BIND_LOCAL (that's the flag name we should actually
use) isn't correctly honoured on all systems.
>
> Havoc
>
---
ciaoTJ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]