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]