[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] win32: provide gmtime_r emulation
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [PATCH] win32: provide gmtime_r emulation |
Date: |
Wed, 12 Sep 2012 06:17:18 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:15.0) Gecko/20120827 Thunderbird/15.0 |
Am 11.09.2012 19:57, schrieb Paolo Bonzini:
Il 11/09/2012 19:15, Stefan Weil ha scritto:
latest MinGW-w64 supports _gmtime32_s, but MinGW does not,
so this solution won't link with MinGW.
Do we need to support anything but latest MinGW-w64?
Paolo
Good question.
Pro:
* For 64 bit support, we already need MinGW-w64.
* It looks like MinGW-w64 headers are better maintained
(printf attributes, gmtime_s, ...).
* Therefore compilations with MinGW-w64 result in much
less compiler warnings (or even none with one of my
patches which are still missing in git master).
Contra:
* On Windows hosts, installation of MinGW-w64 needs an
additional installation step (MinGW-w64 on top of MinGW)
which is not needed if someone just wants to build 32 bit
applications.
* Cross support for MinGW-w64 is improving with newer Linux
distributions, but still not complete (one of my hosts
still runs Ubuntu Lucid which does not support MinGW-w64
for 32 bit).
Maybe we should continue to support MinGW for one or two more
years until the situation stabilizes. Maybe MinGW and
MinGW-w64 will be unified again one day.
We could add gmtime_r and localtime_r implementations for
MinGW / MinGW-w64 and use the non-reentrant functions in
that implementation for the moment.
Later, we could replace that implementation by one using
the reentrant _s variants.
Or we use conditional compilation to choose whether we need
the non-reentrant or the reentrant variant. I just had a look:
__MINGW64_VERSION_MAJOR can be used to detect MinGW-w64).
Regards,
Stefan