Hello,
I am involved in developing an application which requires dynamically loading
and executing functions from shared libraries which don't necessarily exist at
the time the application driver itself is linked. When these functions in turn
have calls to functions in other shared libraries, ld.so successfully resolves
these references as long their definitions reside in libraries which were
scanned by ld at the time the application driver was linked (system libraries,
for example).
The problem I have run into is that some of these function definitions reside
in other shared libraries which have also been dynamically loaded. In this
case (unless the references and the definition reside in the same library),
ld.so has no knowledge of these dynamically loaded libraries and therefore
cannot search them.
Is there a way to augment this list of dynamic dependencies at run time so that
the search performed by ld.so can be extended to these dynamically loaded
libraries? Investigation of the data structures defined in /usr/include/link.h
seems to indicate that there is indeed a way this can be done, if the the
programmer has knowledge of the dynamic linking mechanism beyond what is
available from the Sun manuals.
I would be grateful for any comments or pointers to related material.
--
_____________________________________________________________
| Texas Instruments Inc. TI MSG: RWES |
| PO Box 149149, MS 2201 Voice: (512) 250-7372 |
|___Austin, TX 78714-9149________Fax: (512) 250-7104________|