From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:54624) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBeOA-0001lY-C8 for qemu-devel@nongnu.org; Wed, 12 Sep 2012 00:17:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TBeO9-0000L0-B7 for qemu-devel@nongnu.org; Wed, 12 Sep 2012 00:17:22 -0400 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:43620) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TBeO9-0000KZ-4Y for qemu-devel@nongnu.org; Wed, 12 Sep 2012 00:17:21 -0400 Message-ID: <50500CCE.1040206@weilnetz.de> Date: Wed, 12 Sep 2012 06:17:18 +0200 From: Stefan Weil MIME-Version: 1.0 References: <1347348509-23900-1-git-send-email-pbonzini@redhat.com> <504F719F.10707@weilnetz.de> <504F7BA2.6020706@redhat.com> In-Reply-To: <504F7BA2.6020706@redhat.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] win32: provide gmtime_r emulation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org 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