Re: [Mingw-w64-public] mingw-w64 v3 release calling for testers

2013-09-10 Thread Kai Tietz
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

2013-09-10 Thread Erik van Pienbroek
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

2013-09-10 Thread Jacek Caban
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

2013-09-10 Thread dw

>> 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

2013-09-10 Thread dw
__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