On 06/30/13 16:03, Erik van Pienbroek wrote:
> i686-w64-mingw32-g++ -mwindows -o TimeStamp_posix.o -c
> -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API
> -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET
> -DIMPL_THEBES  -DNO_NSPR_10_SUPPORT -D_IMPL_NS_COM
> -I/builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/ds/../io
>  -I/builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/ds -I. 
> -I../../dist/include  
> -I/builddir/build/BUILD/mingw-wine-gecko-2.21/wine_gecko-2.21-x86/dist/include/nspr
>  
> -I/builddir/build/BUILD/mingw-wine-gecko-2.21/wine_gecko-2.21-x86/dist/include/nss
>         -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type 
> -Wtype-limits -Wempty-body -Wno-invalid-offsetof -Wcast-align -Wno-format 
> -DWINE_GECKO_SRC -fpermissive -fno-exceptions -fno-strict-aliasing 
> -mms-bitfields -mstackrealign -fno-keep-inline-dllexport -fno-rtti 
> -ffunction-sections -fdata-sections -fno-exceptions -std=gnu++0x -pthread 
> -pipe  -DNDEBUG -DTRIMMED -g -O -fomit-frame-pointer   -DMOZILLA_CLIENT 
> -include ../../mozilla-config.h -MD -MF .deps/TimeStamp_posix.o.pp  
> /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/ds/TimeStamp_posix.cpp
> nsWindowsRegKey.cpp
> /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/ds/TimeStamp_posix.cpp:
>  In static member function 'static mozilla::TimeStamp 
> mozilla::TimeStamp::Now(bool)':
> /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/ds/TimeStamp_posix.cpp:173:32:
>  warning: invalid conversion from 'uint64_t {aka long long unsigned int}' to 
> 'mozilla::TimeStampValue::_SomethingVeryRandomHere*' [-fpermissive]
>    return TimeStamp(ClockTimeNs());
>                                 ^
> In file included from ../../dist/include/mozilla/TimeStamp.h:22:0,
>
> from 
> /builddir/build/BUILD/mingw-wine-gecko-2.21/wine-mozilla-2.21/xpcom/ds/TimeStamp_posix.cpp:18:
> ../../dist/include/mozilla/TimeStamp_windows.h:31:3: warning:
> initializing argument 1 of
> 'mozilla::TimeStampValue::TimeStampValue(mozilla::TimeStampValue::_SomethingVeryRandomHere*)'
>  [-fpermissive]
>    TimeStampValue(_SomethingVeryRandomHere* nullValue);
>    ^
>
>
> I don't know yet if this permissive warning is the cause of the
> undefined references, but perhaps it can be investigated by the upstream
> gecko devs.

Yeah, it seems like TimeStamp_posix.cpp is compiled instead of 
TimeStamp_windows.cpp in your build because HAVE_CLOCK_MONOTONIC is now defined 
with winpthreads. That's definitely not what we want. The attached patch should 
help. Please file a bug at bugzilla.mozilla.org and CC me. I will take care of 
fixing it upstream and then merge it to wine gecko trunk and provide a backport 
for wine gecko 2.21.

Thanks,
Jacek 


diff --git a/xpcom/ds/Makefile.in b/xpcom/ds/Makefile.in
index 995eb70..8f6b00b 100644
--- a/xpcom/ds/Makefile.in
+++ b/xpcom/ds/Makefile.in
@@ -41,12 +41,12 @@ CPPSRCS             = \
                nsVariant.cpp \
                $(NULL)
 
-ifdef HAVE_CLOCK_MONOTONIC
+ifeq ($(OS_ARCH),WINNT)
+CPPSRCS += TimeStamp_windows.cpp
+else ifdef HAVE_CLOCK_MONOTONIC
 CPPSRCS += TimeStamp_posix.cpp
 else ifeq ($(OS_ARCH),Darwin)
 CPPSRCS += TimeStamp_darwin.cpp
-else ifeq ($(OS_ARCH),WINNT)
-CPPSRCS += TimeStamp_windows.cpp
 else
 $(error No TimeStamp implementation on this platform.  Build will not succeed)
 endif
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to