httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralf S. Engelschall" <>
Subject Re: [PATCH] Link DSO modules against possible libraries from $(LIBS) (take 2)
Date Sat, 11 Jul 1998 15:40:54 GMT

In article <> you wrote:
> On Sat, Jul 11, 1998 at 01:38:04PM +0200, Ralf S. Engelschall wrote:
>> Link DSO modules against possible libraries from $(LIBS) (take 2)
>> =================================================================
>> PR#2587, PR#????, PR#?????
>> (I cannot find the other two PRs currently but they exist,
>>  because for one of them I originally created "take 1" 
>>  of this patch in the past ;-)
>> Currently we have the following entry in our dso.html document:
>> | Because DSO modules cannot be linked against other DSO-based libraries (ld
>> | -lfoo) on all platforms (for instance a.out-based platforms usually don't
>> | provide this functionality while ELF-based platforms do) you cannot use the
>> | DSO mechanism for all types of modules. Or in other words, modules compiled as
>> | DSO files are restricted to only use symbols from the Apache core, from the C
>> | library (libc) and all other dynamic or static libraries used by the Apache
>> | core, or from static library archives (libfoo.a) containing position
>> | independend code. The only chance to use other code is to either make sure the
>> | Apache core itself already contains a reference to it or loading the code
>> | yourself via dlopen().
>> The important part here is: "cannot be linked .... on all platforms".  But
>> there _are_ platform which support linking DSO files agains other DSO files.
>> And even on platforms where this is not possible is it possible to at least
>> link against libraries containing PIC code.

> Just for the's possible to link with static library
> archives containing non-pic code.  It may not be the 'right thing', but
> it works.

Yeah, but only if your linker is smart-enough to relocating all already fixed
symbols. OTOH when a linker is smart enough to do this then the chance is high
that the platform also has real shared libraries available of the library we
want to link against. I just wanted to make sure we don't see PR's saying "my
linker complains yadda yadda yadda when compiling DSO modules"... ;-)

                                       Ralf S. Engelschall

View raw message