Re: [xml] Problem with calling conventions on windows



On Mon, Jul 18, 2005 at 10:05:48PM +0200, Marcus Boerger wrote:
Hello everyone,

  i have a problem with windows builds when a lib or exe that uses
libxml2 has a different default calling convention. And it is not
possible to built libxml2 itself with another calling convention.

To solve the issue the below patch introduces two new macros:

1) XMLCDECL  which is __cdecl for all windows compilers
2) LIBXML_FASTCALL which can be used to link from a cdecl project to a 
   __fastcall linked libxml2.

Can anybody please verify this?

  Okay emphasis is mine on this problem, I cannot test this ! I don't have
Windows and Marcus patches seems to be okay from my non-Windows aware 
point of view. So if you are on Windows, you'd better test those because I'm
tempted to apply them and well this won't break for me :-)

The patch is here:
http://marcus-boerger.de/libxml2-bug309757-20050718.diff.txt

And in the hope this eases the process of validation i added a msvc.net 
project to verify the problems:
http://marcus-boerger.de/libxml2-bug309757.zip

If you want to verify the mixed build and don't want to rebuild iconv.dll then 
you also need an updated iconv.h:
http://marcus-boerger.de/libxml2-bug309757-iconv.h

You may also comment in the bug database:
http://bugzilla.gnome.org/show_bug.cgi?id=309757

  yes commenting on the bug or here would be really appreciated, thanks.

If you look closely and miss the changed in trio than relax, windows doesn't
need trio since the windows _vsnprintf() is quite a good enough approximation
to iso vsnprintf(). And the others shouldn't have problems. If you still
want trio there is no problem unless you want to do your own non __cdecl
libxml2 builds.

  I think we need to stay with trio enabled on Windows to avoid some troubles
we had in the past with vsnprintf return value on some versions of Windows.

Daniel

-- 
Daniel Veillard      | Red Hat Desktop team http://redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]