libtool-patches
[Top][All Lists]
Advanced

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

Re: 329-gary-allow-RTLD_GLOBAL


From: Gary V. Vaughan
Subject: Re: 329-gary-allow-RTLD_GLOBAL
Date: Tue, 22 May 2007 13:24:25 +0100

Hallo Ralf,

On 22 May 2007, at 13:16, Ralf Wildenhues wrote:
* Gary V. Vaughan wrote on Tue, May 22, 2007 at 02:11:03PM CEST:

I'm wondering how to best warn people who have their project
build rely on RTLD_GLOBAL that what they are doing is inherently
non-portable.

Erm, relying on RTLD_LOCAL is non-portable.

It is?  You mean that relying on identical symbols from two dlopened
modules to not clash is non-portable?  On what architectures?

Relying on RTLD_GLOBAL is not; after all, dlpreloading offers similar.

Relying on RTLD_GLOBAL exported symbols to resolve undefined symbols
in subsequently dlopened modules doesn't work on windows, or AIX.  That
seems pretty non-portable to me...

But also relying on
allowing undefined symbols in your link is non-portable.  I don't see
how you can distinguish cases here reliably, in an automatic way.

Except for annoyance to the end-user, I was originally thinking that
we don't need to distinguish.  When the developer's libltdl client
code calls lt_dladvise_global, we could have it emit a warning to
stderr that says: If what you are trying to do won't work without
calling lt_dladvise_global(), then you're code will not be fully
portable.

At first I thought about having the call to lt_dladvise_global
emit a warning to stderr on first call, but that affects users
as well as developers.

Now I'm thinking the best we can do is flag it in the release
notes, the NEWS file and the manual.

That would be fine.

I'll add it to my TODO.

Cheers,
        Gary
--
  ())_.              Email me: address@hidden
  ( '/           Read my blog: http://blog.azazil.net
  / )=         ...and my book: http://sources.redhat.com/autobook
`(_~)_ Join my AGLOCO Network: http://www.agloco.com/r/BBBS7912




Attachment: PGP.sig
Description: This is a digitally signed message part


reply via email to

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