httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Laurie <...@algroup.co.uk>
Subject Re: cvs commit: apache-1.3/src/include ap_mmn.h
Date Tue, 25 Aug 1998 19:51:18 GMT
Alexei Kosut wrote:
> 
> On 14 Aug 1998, Randy Terbush wrote:
> 
> > I understand that ap_log_rerror was not a minor change, but did it
> > really cause enough changes that would have required an old module to
> > be recompiled? I must admit that I have not studied the change, but
> > the change to MODULE_MAGIC_NUMBER_MAJOR is *fatal* for older modules.
> 
> Yes, it would. This was (and I just remembered) one of the reasons why I
> never bothered to do this for 1.x, even though I've thought about it
> numerous times.
> 
> It is obvious that the removal of a function, or a change in name or
> parameters will require recompilation. However, the *addition* of a
> function requires recompilation as well. Why? Because some OSes, Win32 in
> particular, do symbol lookups on linked-in (as opposed to loaded
> programatically) shared libraries not by name, but ordinally. VC++'s
> linker makes DLLs with, by default, alphabetized lists of functions. So
> ap_log_rerror gets placed in the slot after ap_log_reason, and all the
> functions following it are pushed up one. So a function calling
> ap_log_unixerr, for example, will now actually be calling ap_log_rerror.
> 
> Which is a Bad Thing.
> 
> There are ways to fix this (maintain a .def file with a fixed-order list
> of functions, and add new ones to the bottom), but we don't do them.

Hang about - we've been here before, surely? If you provide a .def file
THEN you get linked ordinally. Otherwise the ordinals are just hints and
the _real_ match is done on the string. So you pay a little in
efficiency, but it doesn't go all weird on you.

I think!

Cheers,

Ben.

-- 
Ben Laurie            |Phone: +44 (181) 735 0686| Apache Group member
Freelance Consultant  |Fax:   +44 (181) 735 0689|http://www.apache.org/
and Technical Director|Email: ben@algroup.co.uk |
A.L. Digital Ltd,     |Apache-SSL author     http://www.apache-ssl.org/
London, England.      |"Apache: TDG" http://www.ora.com/catalog/apache/

WE'RE RECRUITING! http://www.aldigital.co.uk/recruit/

Mime
View raw message