[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Relink on AIX: Doesn't Just Work (TM)
From: |
Ralf Wildenhues |
Subject: |
Re: Relink on AIX: Doesn't Just Work (TM) |
Date: |
Tue, 29 Jan 2008 07:48:25 +0100 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
* Daniel Sands wrote on Tue, Jan 29, 2008 at 01:07:53AM CET:
>
> Now for another request: For dlopen on AIX, if you want to dlopen a
> shared library (.a not .so), you need to include the flag RTLD_MEMBER
> and append the name of the member .so to the name of the .a, in
> parentheses. So to open libc, you would do:
>
> libcHandle = dlopen( "/usr/lib/libc.a(shr.o)", RTLD_MEMBER | RTLD_NOW);
>
> I would like 1) support for this in Libtool's lt_dlopen library, and 2)
> a way to integrate this into the .la file. The simplest method, which
> would be just fine with me, would be to name the internal object "shr.o"
> and append that in the case that the library name ends in .a. But of
> course the LA could be extended to explicitly support this too, by
> supplying the member name and including a flag that this is a shared
> library and not a mere shared object.
Could probably be done, I may look into it sometime after 2.2. Also the
dlopen self issue, which should correctly be solved by using -bexpall.
For now you should be able to work around the above (at least for
libraries you created yourself) with runtimelinking (LDFLAGS=-Wl,-brtl).
Cheers,
Ralf