[ expat-Bugs-579144 ] DLLs are not drop-in compatible

noreply@sourceforge.net noreply@sourceforge.net
Tue Jul 9 21:48:02 2002


Bugs item #579144, was opened at 2002-07-09 11:37
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=110127&aid=579144&group_id=10127

Category: Build control
Group: Feature Request
Status: Open
Resolution: None
Priority: 6
Submitted By: Fred L. Drake, Jr. (fdrake)
Assigned to: Fred L. Drake, Jr. (fdrake)
Summary: DLLs are not drop-in compatible

Initial Comment:
For Windows DLLs, Expat should be using a .DEF file
instead of __declspec(dllexport) to control the export
of symbols.  Using a .DEF file allows symbols to have
the same ordinal position in the export table of the
DLL regardless of accidents of the compiler's
organization of the table, allowing newer DLLs to
replace older DLLs by simply dropping them in place.

More information on DLL exports:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_core_determine_which_exporting_method_to_use.asp

This feature request is based on an email conversation
with Nick Lehman, following up from:
http://sourceforge.net/mailarchive/message.php?msg_id=1783043


----------------------------------------------------------------------

>Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2002-07-10 00:47

Message:
Logged In: YES 
user_id=3066

It looks like the .DEF file should be easy enough to create,
and a nuissance to maintain.  I'm going to plan on getting
this done in the 1.95.5 release, since we're too close to
the 1.95.4 release to make a mess of things now.

The big question that comes up is this:  should the symbols
defined in lib/xmltok.h be exported, or only the symbols
from expat.h?  Originally, these were exported from two
separate DLLs, but it's not clear the API defined in
xmltok.h is really intended to be public.

If you have a reasoned opinion, or use the xmltok.h API,
please follow up to this feature request.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=110127&aid=579144&group_id=10127