From: "Denis V. Lunev" <den@openvz.org>
To: "Daniel P. Berrange" <berrange@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Stefan Hajnoczi <stefanha@gmail.com>,
qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
Stefan Weil <sw@weilnetz.de>, Igor Mammedov <imammedo@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] mingw: fix build on Fedora 22
Date: Tue, 22 Sep 2015 17:09:11 +0300 [thread overview]
Message-ID: <56016107.7040503@openvz.org> (raw)
In-Reply-To: <20150922134804.GW28888@redhat.com>
On 09/22/2015 04:48 PM, Daniel P. Berrange wrote:
> On Tue, Sep 22, 2015 at 04:38:31PM +0300, Michael S. Tsirkin wrote:
>> mingw on Fedora 22 replaces localtime_r and gmtime_r
>> macros with posix compliant functions in time.h.
>>
>> These conflict with QEMU supplied ones.
>>
>> Detect this and avoid overriding them.
>>
>> We also need to define POSIX_C_SOURCE before including
>> time.h for the first time, to make sure these
>> are available to all users.
>>
>> Reported-by: Stefan Hajnoczi <stefanha@gmail.com>
>> Cc: Stefan Weil <sw@weilnetz.de>
>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>> ---
>> include/qemu/osdep.h | 1 +
>> include/sysemu/os-win32.h | 6 ++++++
>> util/oslib-win32.c | 4 ++++
>> 3 files changed, 11 insertions(+)
>>
>> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
>> index ab3c876..9920ac3 100644
>> --- a/include/qemu/osdep.h
>> +++ b/include/qemu/osdep.h
>> @@ -25,6 +25,7 @@
>> #ifndef QEMU_OSDEP_H
>> #define QEMU_OSDEP_H
>>
>> +#define _POSIX_C_SOURCE 200809L
>> #include "config-host.h"
>> #include "qemu/compiler.h"
>> #include <stdarg.h>
>> diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h
>> index 706d85a..74230e7 100644
>> --- a/include/sysemu/os-win32.h
>> +++ b/include/sysemu/os-win32.h
>> @@ -72,11 +72,17 @@
>> #define sigsetjmp(env, savemask) setjmp(env)
>> #define siglongjmp(env, val) longjmp(env, val)
>>
>> +#ifdef gmtime_r
>> /* Missing POSIX functions. Don't use MinGW-w64 macros. */
>> #undef gmtime_r
>> +#define QEMU_NEED_GMTIME_R
>> struct tm *gmtime_r(const time_t *timep, struct tm *result);
>> +#endif
> I don't think this is right. There are three possibilities
> with mingw
>
> - No gmtime_r at all - need replacement
> - gmtime_r defined as a macro - need replacement
> - gmtime_r defined as a function - nothing needed
>
> With this change of yours, if gmtime_r is defined as a macro
> QEMU will provide its own replacement. If gmtime_r is not
> defined at all, then QEMU doesn't provide its replacement
> which is wrong. I believe the change I previously proposed
> works in all three cases
>
> https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg01926.html
indeed, this looks better to me.
Den
prev parent reply other threads:[~2015-09-22 14:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-22 13:38 [Qemu-devel] [PATCH] mingw: fix build on Fedora 22 Michael S. Tsirkin
2015-09-22 13:48 ` Daniel P. Berrange
2015-09-22 14:08 ` Michael S. Tsirkin
2015-09-22 14:14 ` Daniel P. Berrange
2015-09-22 14:09 ` Denis V. Lunev [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56016107.7040503@openvz.org \
--to=den@openvz.org \
--cc=berrange@redhat.com \
--cc=imammedo@redhat.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@redhat.com \
--cc=sw@weilnetz.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.