qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]