libtool
[Top][All Lists]
Advanced

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

Re: question about AC_LTDL_SYS_DLOPEN_DEPLIBS


From: Tim Mooney
Subject: Re: question about AC_LTDL_SYS_DLOPEN_DEPLIBS
Date: Fri, 13 Jul 2001 16:09:28 -0500 (CDT)

In regard to: Re: question about AC_LTDL_SYS_DLOPEN_DEPLIBS, Gary V....:

>On Thursday 12 July 2001  8:12 pm, Tim Mooney wrote:
>> I'm not 100% sure I know what
>>
>>      whether deplibs are loaded by dlopen
>>
>> means.  Does it mean:
>>
>>      If you explicitly load a shared object via dlopen(), are any shared
>>      objects that it depends on loaded for you automatically?
>
>Yes, exactly that.

Does this macro apply at all to platforms that have some other mechanism
of dynamically loading a shared object (e.g. HP-UX 10.x and earlier)?

The first paragraph of the dlopen() man page on Tru64 UNIX 5.1 (and 4.0f)
says that

The dlopen function attempts to load the specified file in the address space
of the process, resolving symbols as appropriate.  Any libraries that the
specified file depends upon are also loaded.


On IRIX 6.5.x, it's not nearly so clear, but that man page does say
(when talking about DSOs that are flaged for delayed loading, and I'm
guessing the same applies elsewhere):

If it has any entries in its
library list that are not marked LL_DELAY_LOAD, the DSOs that are not
delay-loaded are added recursively (breadth-first).  Depending on the
order of calls to delay-loaded DSOs, the order of DSOs on the rld-list
might be different from one run of a program to the next.


Of course, if I really wanted to test on IRIX it could be tested
programmatically, but I'm not sure I want to whip up the test case to
do it.

I think the enclosed patch should be correct, for at least recent versions
of both Tru64 and IRIX.

Tim
-- 
Tim Mooney                              address@hidden
Information Technology Services         (701) 231-1076 (Voice)
Room 242-J6, IACC Building              (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164



--- libtool-1.4b.orig/ltdl.m4   Thu Jul  5 18:10:26 2001
+++ libtool-1.4b/ltdl.m4        Fri Jul 13 15:45:31 2001
@@ -73,10 +73,20 @@
        # PORTME does your system automatically load deplibs for dlopen()?
        libltdl_cv_sys_dlopen_deplibs=unknown
        case "$host_os" in
+       irix6*)
+         # Unknown if this has always been true, even for early versions of
+         # 6.x, but it's true as of 6.5.x
+         libltdl_cv_sys_dlopen_deplibs=yes
+         ;;
        linux*)
          libltdl_cv_sys_dlopen_deplibs=yes
          ;;
        netbsd*)
+         libltdl_cv_sys_dlopen_deplibs=yes
+         ;;
+       osf*)
+         # Unknown if this has always been true (i.e. for 1.2 - 3.2g).  It
+         # is true for 4.x and later.
          libltdl_cv_sys_dlopen_deplibs=yes
          ;;
        solaris*)
--- libtool-1.4b.orig/ChangeLog Mon Jul  9 17:02:09 2001
+++ libtool-1.4b/ChangeLog      Fri Jul 13 15:48:45 2001
@@ -0,0 +1,5 @@
+2001-07-13  Tim Mooney  <address@hidden>
+
+       * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): fill in yes for
+       recent Digital/Tru64 UNIX and IRIX.
+




reply via email to

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