libtool-patches
[Top][All Lists]
Advanced

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

Re: tests on AIX 5


From: Ralf Wildenhues
Subject: Re: tests on AIX 5
Date: Fri, 19 Nov 2004 07:31:03 +0100
User-agent: Mutt/1.4.1i

* Gary V. Vaughan wrote on Fri, Nov 19, 2004 at 06:35:30AM CET:
> Bob Friesenhahn wrote:
> >A test failed because libltdl failed to locate a symbol from within the 
> >*main* executable.  If libltdl was executed from a shared library or 
> >module, I would be quite happy if it failed to locate a symbol from 
> >within the *main* executable unless the main executable was explicitly 
> >loaded.  If it did locate a symbol from the main exectable, then that 
> >indicates that symbols from the main executable may be polluting the 
> >namespace, which could lead to wrong behavior.
>
> My understanding (and hence likely foundation of undocumented 
> assumptions in macros, tests and ltdl code) is that we support two
> configurations -- I'm using the dlopen API to represent whatever
> OS loader libltdl eventually calls out to:
> 
>   i) dlopen(NULL) returns a pointer:
>      this implies the return value is a system lt_dlhandle to the
>      main object which can be passed to dlsym() to get the address
>      of symbols from the main ``module''.

ACK.

>   ii) dlopen(NULL) doesn't return a pointer:

i.e., it returns NULL.

>      if the application is linked with -dlopen self, we build a table
>      for the preload dlloader so that lt_dlsym will still work

ACK.

> I think it would be good to document that this is only expected to work
> if the code that uses lt_dlopen(NULL) handles for anything is part of
> the application proper (i.e. not a library).

Why?  Are there systems where we cannot get this to work?
(Note AIX is *not* one of them.  It can dlopen(NULL), one just has to
mark all to-be-exported symbols when linking.  We could write stuff to
do this on encountering `-dlopen self').

> Does anybody here expect anything to behave otherwise?

Yes.  Maybe it's not a requirement many software packages/libraries
have, and such, we might be aiming for something nobody needs, but:
You can always dlpreopen the main program, right?  (I know I am
repeating myself, but I missed an answer to this so far).

> We should write tests to check this too.

Sure.

Regards,
Ralf




reply via email to

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