[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: Sat, 27 Mar 2004 19:48:04 -0600 (CST)

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.
Otherwise, we could just as easily use 'ar' which is practically
standard across platforms.

> denominator has to be taken in general.  Since you can't depend on the
> existence of shared libraries, or a user may choose to disable them,
> libtool requires the judicious use of the -dlopen flag to indicate
> that a library may be dlopened at run time, such that, if it happens
> to be a static library, libtool can link it into the application and
> set things up for the dlopen emulation over static linking to work.

You are talking about an optional libtool feature for which trivial
alternatives exist.  Libltdl is first and foremost a portable

> Should we dlopen libraries without flags that made them behave as
> closely as possible to static linking, people would likely not realize
> they were breaking the abstraction layer that libtool offers.

Modern systems that don't support dynamic loading are very rare.  It
would be a very odd package indeed which was only developed on one of
these rare systems and then encountered problems on a normal system.
It would be difficult to conceive that someone using a system which
doesn't support loading shared libraries or loadable modules
developing software which is designed to dynamically load shared
librraies or loadable modules.

The bug is dead now.  Let's let dead bugs lie.

Bob Friesenhahn

reply via email to

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