[Top][All Lists]

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

Re: Fw: Problem with libtool under HPUX: BIND_FIRST flag is required

From: Ralf Wildenhues
Subject: Re: Fw: Problem with libtool under HPUX: BIND_FIRST flag is required
Date: Thu, 1 Dec 2005 14:17:25 +0100
User-agent: Mutt/1.5.11

Hi Jan,

* Jan Giesen wrote on Wed, Nov 30, 2005 at 10:48:10PM CET:
> You wrote:
> > We need RTLD_GLOBAL by default at the moment, simply because some
> > libltdl users expect things to work this way.

> Thank you for the information; I understand now better how Libtool works.
> For me this is fine, but I am just a user of the cvsnt package, not the 
> owner.
> One final remark: In ltdl.c the link flag "LT_LAZY_OR_NOW" can be
> defined outside of ltdl.c, but the link flag "LT_GLOBAL" can't;
> therefore you cannot set this parameter externally to RTLD_LOCAL.
> Probably this unsymmetrical definition of the link flags can be
> aligned.

Hmm.  There's an idea.  I'm a bit afraid that people will use it for
installable libltdl, which may then later wreak havoc with other
packages which expect differently.  Don't know how we could prevent
that, though.

OK to apply to branch-1-5 and forward-port?


        * libltdl/ltdl.c (LT_GLOBAL): Allow command-line override.
        Suggested by Jan Giesen <address@hidden>.

Index: libltdl/ltdl.c
RCS file: /cvsroot/libtool/libtool/libltdl/ltdl.c,v
retrieving revision
diff -u -r1.174.2.20 ltdl.c
--- libltdl/ltdl.c      13 Oct 2005 04:48:50 -0000
+++ libltdl/ltdl.c      1 Dec 2005 18:23:43 -0000
@@ -1061,16 +1061,19 @@
 #  include <sys/dl.h>
-#  define LT_GLOBAL            RTLD_GLOBAL
-#  ifdef DL_GLOBAL
-#    define LT_GLOBAL          DL_GLOBAL
-#  endif
-#endif /* !RTLD_GLOBAL */
+/* Users of a private libltdl may want to override this. */
+#ifndef LT_GLOBAL
+#  ifdef RTLD_GLOBAL
+#    define LT_GLOBAL          RTLD_GLOBAL
+#  else
+#    ifdef DL_GLOBAL
+#      define LT_GLOBAL                DL_GLOBAL
+#    endif
+#  endif /* !RTLD_GLOBAL */
 #ifndef LT_GLOBAL
 #  define LT_GLOBAL            0
 #endif /* !LT_GLOBAL */
 /* We may have to define LT_LAZY_OR_NOW in the command line if we
    find out it does not work in some platform. */

reply via email to

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