[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libltdl should not always use LT_GLOBAL
From: |
Bob Friesenhahn |
Subject: |
Re: libltdl should not always use LT_GLOBAL |
Date: |
Mon, 29 Mar 2004 10:57:18 -0600 (CST) |
On 29 Mar 2004, Alexandre Oliva wrote:
> On Mar 27, 2004, Bob Friesenhahn <address@hidden> wrote:
>
> > On 27 Mar 2004, Alexandre Oliva wrote:
> >> On Mar 13, 2004, Scott James Remnant <address@hidden> wrote:
> >>
> >> > This flag causes the external symbols defined in the library to be made
> >> > available for symbol resolution of subsequently loaded libraries. This
> >> > isn't the default behaviour of dlopen().
> >>
> >> But it is the default behavior of static linking. Remember that
> >> libtool is not about creating shared libraries, it's about giving a
> >> unified abstraction of libraries. This implies that the least common
>
> > I disagree. Libtool is all about creating shared libraries.
>
> in a portable way, if possible.
I agree with most statements in your response, but nowhere do you
address the actual issue, which is if libltdl should export all module
symbols (and libraries the module depends on) with global scope
(LT_GLOBAL) when a module or shared library is loaded such that these
symbols may be used to resolve symbols required by libraries or
modules loaded later. It is true that if you are writing an
executable (ld.so-style) run-time loader that this behavior is
desireable, but this behavior is not consistent with ideal loadable
module behavior. Ideal loadable module behavior is that the program
may locate and access module symbols without the module
extending/corrupting the run-time symbol space of the program.
Bob
======================================
Bob Friesenhahn
address@hidden
http://www.simplesystems.org/users/bfriesen