Earnie wrote:
Roumen Petrov wrote:Earnie wrote:Earnie wrote:Roumen Petrov wrote:Earnie wrote:Earnie wrote:I've been building libxml2-2.7.8 and have been having a heck of a time getting xmlcatalog to work with a shared DLL library. I've finally confirmed that the issue is caused by optimizations with -O2 or -O1. If I use -O0 the issue goes away. The effect is the xmlIsPubidChar_tab array is seen by xmlcatalog to contain all 0x00 values. I'm using GCC-4.6.1 and binutils-2.21.53.20110804 as delivered by MinGW. I wanted give this list a report of what I've found in the event others come by, they may have already.hmm , Look like regression as it is fine with me for gcc/binutils: - 3.4.5/2.17.50 20070129 - 4.4.0/2.19.1It was Kai Tietz who is active in GCC development for Windows and one of its maintainers who pointed me to the issue resolution. See http://thread.gmane.org/gmane.comp.gnu.mingw.user/38000 for the discussion.[SNIP] Above like is fine to follow the thread . I'm not against the patch a) it will resolve linking issue if libxml2 is build with gcc (mingw) and -nocommon flag. b) it will resolve issue with new gnu compiler/linker c) libxslt and xmlsec for instance use extern for mingw* compilers Lets first finish discussion on mingw list as libxml and libxslt does not use extern for cygwin compiler. If cygwin build is impacted then complete patch must cover both woe compilers. Also another patch for libxslt is required .As discussed on the MinGW list here are the patches for both libxml2 and libxslt adorning dllexport with extern for both __CYGWIN__ and __MINGW32__. During the discussion on the MinGW list we discovered the following bit of information about dllexport: From: http://msdn.microsoft.com/en-us/library/y4h7bcy6.aspx The use of dllexport implies a definition, while dllimport implies a declaration. You must use the extern keyword with dllexport to force a declaration; otherwise, a definition is implied.
And now with attachments. -- Earnie -- https://sites.google.com/site/earnieboyd/
Attachment:
libxml2-git-mingw32.patch.txt
Description: Text document
Attachment:
libxslt-git-mingw32.patch.txt
Description: Text document