Albert Chin wrote:
On Sun, Oct 30, 2005 at 11:14:14AM -0600, Albert Chin wrote:
[snip ...]
This means the method libtool uses to support -dlopen self on AIX
won't work (by building a list of symbols into some xxS.o file and
linking it with the executable). The real solution is to -bE the
symbol list. What's the cleanest way to do this?
Dynamic module support in openldap-2.3.x isn't working on AIX for the
above reason. Using -bexpall or -bE when linking the main binary does
work though. While the main binary, slapd, doesn't dlopen itself,
modules it dlopen()'s cannot resolve symbols in slapd because they
weren't exported.
Seems the openldap folks should really use -export-dynamic, which
isn't defined for AIX. We could make it -bexpall but as documented in
the previous mail, it doesn't export everything. So, should we create
a new variable, export_dynamic_cmds? If so, and temporary files are
created by it, how do we clean up?
Wait. The fact that -bexpall "doesn't export everything" is A Good
Thing. Symbol tables on AIX include a lot of junk that other modules
simply don't need to see. The symbols they omit are generally not useful
for user code anyway.
(In contrast to older releases of AIX, where they really did export
everything, and you'd get clashes for stupid things like __init and such
that never should have been exported in the first place.)
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool