httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@engelschall.com (Ralf S. Engelschall)
Subject Re: Shared modules and Rule HIDE
Date Sun, 22 Mar 1998 14:59:32 GMT

In article <Pine.LNX.3.96.980322141910.15157A-100000@ecstasy.localnet> you wrote:

> When HIDE is on, LoadModule does not work. This is because the documented
> syntax is (say)

>  LoadModule access_module modules/mod_access.so

> but the internal structure name has been hidden to "AP_access_module". Now
> it is easy to make mod_so prepend AP_ to the structure name before
> resolving it, but then it won't work for third-party modules whose module
> structure names are not mapped in hide.h.

> Also of course modules compiled with HIDE=no will not load into Apache
> compiled with HIDE=yes, and vice versa. Um.

Hmmmm... yes, that's annoying. Ok, the AP_ problem in mod_so can be solved by
first trying to resolve foo_module and if dlsym() fails additionally try
AP_foo_module. But you are correct: The dynamic linker has no chance to
resolve e.g. palloc  for the module itself because of HIDE it is named
AP_palloc. And there we have no chance because this resolving is implicitly
done in dlopen().

Hmmmmm... the only chance is to explictly make sure all modules are build the
same way the core was build. There is no other chance, I think.

But to resolve at least the first problem, we really should change mod_so for
the HIDE case: When HIDE is defined, it should prefix the symbol with AP.
This is at least needed.

                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com

Mime
View raw message