In message <[EMAIL PROTECTED]> on Tue, 30 Jul 2002 15:49:00 +0100, Ben 
Laurie <[EMAIL PROTECTED]> said:

ben> OK, I don't understand why it needs to be exported - isn't it internal 
ben> to the library? But assuming it does, I prefer the original suggestions 
ben> (i.e. move the declaration of OpenSSLDie()).

It's for Windows and VMS.  Unless a function is defined static, it's
implicitely an exported function.  For shared libraries (DLL's on
Windows, shareable image on VMS), these need to have entry points in a
transfer vector (at least, that true for VMS on VAX, I'm guessing it's
the same for the rest of them), and to make sure nothing is changed by
an upgrade, they need to be ordered the same between versions, and new
functions are to be added at the end (hence the numbers they get
assigned, and the importance that any update is kept consistent).

Now, if the linker (at least on VMS for VAX) finds an exported symbol
that doesn't have a defined slot in the transfer vector, it can't
guess the intent, and will issue a warning at least, and probably an
error, since it can't know if it's intended to be called from "the
outside" or not.

Welcome to the diversity of shared library technologies :-).

-- 
Richard Levitte   \ Spannvägen 38, II \ [EMAIL PROTECTED]
Redakteur@Stacken  \ S-168 35  BROMMA  \ T: +46-8-26 52 47
                    \      SWEDEN       \ or +46-708-26 53 44
Procurator Odiosus Ex Infernis                -- [EMAIL PROTECTED]
Member of the OpenSSL development team: http://www.openssl.org/

Unsolicited commercial email is subject to an archival fee of $400.
See <http://www.stacken.kth.se/~levitte/mail/> for more info.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to