Re: [Mingw-w64-public] mingw-w64 v3 release calling for testers
Hi Erik, 2013/9/10 Erik van Pienbroek wrote: > JonY schreef op di 10-09-2013 om 06:25 [+0800]: >> On 9/10/2013 04:48, Erik van Pienbroek wrote: >> > JonY schreef op ma 09-09-2013 om 20:32 [+0800]: >> >> On 9/9/2013 19:35, Erik van Pienbroek wrote: >> >>> wine-mono-0.0.8-3 >> >>> Build logs: >> >>> http://build1.vanpienbroek.nl/fedora-mingw-rebuild/20130909/wine-mono-0.0.8-3 >> >>> >> > >> > I just tried to rebuild this one against the latest svn (r6258) and it >> > still failed to build. Now it got a different error: >> > >> > ./.libs/libmonoruntime.a(libmonoruntime_la-assembly.o): In function >> > `IDListContainerIsConsistent': >> > /usr/x86_64-w64-mingw32/sys-root/mingw/include/shlobj.h:2654: multiple >> > definition of `IDListContainerIsConsistent' >> > pedump.o:/usr/x86_64-w64-mingw32/sys-root/mingw/include/shlobj.h:2654: >> > first defined here >> > >> > I guess this needs a similar fix as was applied for shobjidl.h >> > >> >> Done, should be fixed in r6259. > > Thanks for the fix. > Unfortunately we're still not there yet with wine-mono (i686 target, > sjlj exceptions): > > ../../mono/libgc/mark.c:410:7: error: unknown type name > 'EXCEPTION_REGISTRATION' >EXCEPTION_REGISTRATION ex_reg; >^ > ../../mono/libgc/mark.c: In function 'GC_mark_some': > ../../mono/libgc/mark.c:472:16: error: request for member 'handler' in > something not a structure or union >er.ex_reg.handler = mark_ex_handler; > ^ > ../../mono/libgc/mark.c:473:56: error: request for member 'prev' in > something not a structure or union >asm volatile ("movl %%fs:0, %0" : "=r" (er.ex_reg.prev)); > ^ > ../../mono/libgc/mark.c:519:56: error: request for member 'prev' in > something not a structure or union >asm volatile ("mov %0, %%fs:0" : : "r" (er.ex_reg.prev)); > ^ > ../../mono/libgc/mark.c:473:7: error: invalid lvalue in asm output 0 >asm volatile ("movl %%fs:0, %0" : "=r" (er.ex_reg.prev)); Yes, I missed to port this type, too. Issue is fixed at rev. 6260. Regards, Kai -- How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] mingw-w64 v3 release calling for testers
JonY schreef op vr 06-09-2013 om 18:43 [+0800]: > Hello all, > > We will be releasing v3 from trunk soon. Testers, please check with the > latest trunk version if any of the changes break your applications! I've done another test run against r6259. The amount of failures is reduced now, but we're still not there yet. Here's the list: qt5-qtbase: --- /builddir/build/BUILD/qtbase-opensource-src-5.1.1/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp:236:8: error: redefinition of 'struct IEnumShellItems' DECLARE_INTERFACE_(IEnumShellItems, IUnknown) ^ In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/shlobj.h:100:0, from /builddir/build/BUILD/qtbase-opensource-src-5.1.1/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp:70: /usr/i686-w64-mingw32/sys-root/mingw/include/shobjidl.h:10605:1: error: previous definition of 'struct IEnumShellItems' IEnumShellItems : public IUnknown ^ This is still the same as in the previous test run. I'm doing more research into this one now qt5-qtsystems: -- In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/vfw.h:1919:0, from /builddir/build/BUILD/qt-qtsystems/src/systeminfo/windows/qdeviceinfo_win.cpp:50: /usr/i686-w64-mingw32/sys-root/mingw/include/msacm.h:17:2: warning: #warning MSACM.H: Defining _UNICODE because application defined UNICODE [-Wcpp] #warning MSACM.H: Defining _UNICODE because application defined UNICODE ^ In file included from /builddir/build/BUILD/qt-qtsystems/src/systeminfo/windows/qdeviceinfo_win.cpp:50:0: /usr/i686-w64-mingw32/sys-root/mingw/include/vfw.h:908:3: error: 'interface' does not name a type DECLARE_INTERFACE_(IAVIStream,IUnknown) { ^ In file included from /builddir/build/BUILD/qt-qtsystems/src/systeminfo/windows/qdeviceinfo_win.cpp:50:0: /usr/i686-w64-mingw32/sys-root/mingw/include/vfw.h:925:11: error: 'IAVIStream' does not name a type typedef IAVIStream *PAVISTREAM; ^ Also the same as in the previous run. The mingw-w64 header vfw.h apparently can't be #include'd directly any more without #include'ing other mingw-w64 headers first. tk: --- tkWinSend.c: In function 'Send': tkWinSend.c:758:9: error: 'VARIANT' has no member named 'vt' vCmd.vt = VT_BSTR; ^ tkWinSend.c:759:9: error: 'VARIANT' has no member named 'bstrVal' vCmd.bstrVal = SysAllocString(Tcl_GetUnicode(cmd)); ^ tkWinSend.c:780:82: error: 'VARIANT' has no member named 'bstrVal' Tcl_SetObjResult(interp, Tcl_NewUnicodeObj(vResult.bstrVal, -1)); Also the same as in the previous run. This was already discussed by Jacek and Kai in this mailing list thread, but a fix still needs to be committed wine-gecko: --- ../../widget/windows/JumpListBuilder.o: In function `ZN7mozilla6widget15JumpListBuilderC2Ev': /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/widget/windows/JumpListBuilder.cpp:54: undefined reference to `IID_ICustomDestinationList' This one is new (it wasn't visible yet due to earlier failures). This one is declared in shobjidl.h as part of a DEFINE_GUID macro, but it is guarded inside an #if NTDDI_VERSION >= NTDDI_WIN7 section. Jacek, could you indicate whether this needs to be fixed in mingw-w64-headers or in wine-gecko itself? wine-mono: -- ../../mono/libgc/mark.c:410:7: error: unknown type name 'EXCEPTION_REGISTRATION' EXCEPTION_REGISTRATION ex_reg; This was already reported earlier today and should already be fixed in the latest mingw-w64-headers. To conclude: there are only 3 (perhaps 4) issues still remaining which need to be fixed in mingw-w64-headers. Once these remaining issues are resolved I'll do another full mass rebuild to make sure there are no new regressions (this one was only done against the packages which failed to build earlier). Regards, Erik -- How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] mingw-w64 v3 release calling for testers
On 9/10/13 8:25 PM, Erik van Pienbroek wrote: > wine-gecko: > --- > > ../../widget/windows/JumpListBuilder.o: In function > `ZN7mozilla6widget15JumpListBuilderC2Ev': > /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/widget/windows/JumpListBuilder.cpp:54: > undefined reference to `IID_ICustomDestinationList' > > This one is new (it wasn't visible yet due to earlier failures). This > one is declared in shobjidl.h as part of a DEFINE_GUID macro, but it is > guarded inside an #if NTDDI_VERSION >= NTDDI_WIN7 section. > > Jacek, could you indicate whether this needs to be fixed in > mingw-w64-headers or in wine-gecko itself? I guess we should define NTDDI_VERSION when building libuuid.a, so this would be mingw-w64-crt problem. I will look at this tomorrow, thanks for the research. Jacek -- How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [Patch] intrinsics
>> I agree on fixing wrong behavior of intrinsic-functions (and their >> implementation files), but such changes please sent in separate >> patches, so that I can review them stand-alone. >> > dw, can you please do that? I'll try to parse these out into separate patches. There's some overlap in the files they affect, so I can't send them all at once. dw -- How ServiceNow helps IT people transform IT departments: 1. Consolidate legacy IT systems to a single system of record for IT 2. Standardize and globalize service processes across IT 3. Implement zero-touch automation to replace manual, redundant tasks http://pubads.g.doubleclick.net/gampad/clk?id=5127&iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [Patch] intrinsics __movsb
__movsb, __movsd, __movsq, __movsw: Move these intrinsics from library-only to intrin-impl. dw Index: mingw-w64-crt/intrincs/__movsb.c === --- mingw-w64-crt/intrincs/__movsb.c (revision 6265) +++ mingw-w64-crt/intrincs/__movsb.c (working copy) @@ -1,12 +1,10 @@ -#include +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ -void __movsb(unsigned char *Destination, unsigned char const *Source, size_t Count) -{ - __asm__ __volatile__ - ( -"rep; movsb" : -[Destination] "=D" (Destination), [Source] "=S" (Source), [Count] "=c" (Count) : -"[Destination]" (Destination), "[Source]" (Source), "[Count]" (Count) - ); -} +#define __INTRINSIC_ONLYSPECIAL +#define __INTRINSIC_SPECIAL___movsb /* Causes code generation in intrin-impl.h */ +#include Index: mingw-w64-crt/intrincs/__movsd.c === --- mingw-w64-crt/intrincs/__movsd.c (revision 6265) +++ mingw-w64-crt/intrincs/__movsd.c (working copy) @@ -1,12 +1,10 @@ -#include +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ -void __movsd(unsigned __LONG32 *Dest, unsigned __LONG32 const *Source, size_t Count) -{ - __asm__ __volatile__ - ( -"rep; movsd" : -[Dest] "=D" (Dest), [Source] "=S" (Source), [Count] "=c" (Count) : -"[Dest]" (Dest), "[Source]" (Source), "[Count]" (Count) - ); -} +#define __INTRINSIC_ONLYSPECIAL +#define __INTRINSIC_SPECIAL___movsd /* Causes code generation in intrin-impl.h */ +#include Index: mingw-w64-crt/intrincs/__movsq.c === --- mingw-w64-crt/intrincs/__movsq.c (revision 6265) +++ mingw-w64-crt/intrincs/__movsq.c (working copy) @@ -1,12 +1,10 @@ -#include +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ -void __movsq(unsigned long long *Dest, unsigned long long const *Source, size_t Count) -{ - __asm__ __volatile__ - ( -"rep; movsq" : -[Dest] "=D" (Dest), [Source] "=S" (Source), [Count] "=c" (Count) : -"[Dest]" (Dest), "[Source]" (Source), "[Count]" (Count) - ); -} +#define __INTRINSIC_ONLYSPECIAL +#define __INTRINSIC_SPECIAL___movsq /* Causes code generation in intrin-impl.h */ +#include Index: mingw-w64-crt/intrincs/__movsw.c === --- mingw-w64-crt/intrincs/__movsw.c (revision 6265) +++ mingw-w64-crt/intrincs/__movsw.c (working copy) @@ -1,12 +1,10 @@ -#include +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ -void __movsw(unsigned short *Dest, unsigned short const *Source, size_t Count) -{ - __asm__ __volatile__ - ( -"rep; movsw" : -[Dest] "=D" (Dest), [Source] "=S" (Source), [Count] "=c" (Count) : -"[Dest]" (Dest), "[Source]" (Source), "[Count]" (Count) - ); -} +#define __INTRINSIC_ONLYSPECIAL +#define __INTRINSIC_SPECIAL___movsw /* Causes code generation in intrin-impl.h */ +#include Index: mingw-w64-headers/crt/intrin.h === --- mingw-w64-headers/crt/intrin.h (revision 6265) +++ mingw-w64-headers/crt/intrin.h (working copy) @@ -20,13 +20,13 @@ is included by intrin.h, as well as various platform sdk headers. - Including intrin.h will create definitions/implementations for all available MSVC intrinsics. - Including various platforms sdk headers will only include the intrinsics defined in that - header. As of this writing, only winnt.h uses this approach. + header. As of this writing, only winnt.h and winbase.h use this approach. - If an application defines its own prototypes for intrinsics (ie without including any platform header or intrin.h), the symbols will be resolved from the library. Since this will likely result in the code being invoked via 'call', performance may be degraded. If you wish to implement intrinsic functions that are defined in intrin.h but are not - yet implemented in mingw, see the comments at the top of intrin-impl.h. + yet implemented in mingw-w64, see the comments at the top of intrin-impl.h. */ #ifndef __INTRIN_H_ @@ -1020,10 +1020,10 @@ #ifndef __GNUC__ __MACHINEI(__MINGW_EXTENSION unsigned __int64 __rdtsc(void)) #endif -__MACHINEI(void __movsb(unsigned char *,unsigned char const *,si