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