From: Stefan Hajnoczi <stefanha@gmail.com>
To: Stefan Weil <weil@mail.berlios.de>
Cc: qemu-trivial <qemu-trivial@nongnu.org>,
Jan Kiszka <jan.kiszka@web.de>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [Qemu-trivial] [PATCH] Avoid double definitions of PRI*64
Date: Fri, 24 Jun 2011 07:12:58 +0100 [thread overview]
Message-ID: <BANLkTi=jmJX3uoKs31fPnQn_UvdZNgAj3w@mail.gmail.com> (raw)
In-Reply-To: <4E042A94.7020608@mail.berlios.de>
On Fri, Jun 24, 2011 at 7:11 AM, Stefan Weil <weil@mail.berlios.de> wrote:
> Am 24.06.2011 07:41, schrieb Stefan Hajnoczi:
>>
>> On Thu, Jun 23, 2011 at 3:32 PM, Stefan Weil <weil@mail.berlios.de> wrote:
>>>
>>> Am 23.06.2011 15:35, schrieb Stefan Hajnoczi:
>>>>
>>>> On Thu, Jun 23, 2011 at 10:15:58AM +0200, Jan Kiszka wrote:
>>>>>
>>>>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>>>>
>>>>> Recent mingw32 provide those defines.
>>>
>>> ... and all of those defines are wrong, because QEMU does not use
>>> MS format specifiers. http://patchwork.ozlabs.org/patch/74276/
>>> tried to fix this. My preferred solution is removing those PRI*64 from
>>> qemu-common.h, because not only recent mingw32 versions provide
>>> the (wrong) definitions, but even the Debian version provides them
>>> (which is really old, but I use it for my regression tests).
>>>
>>> The wrong definitions do not allow using -Wformat for mingw32
>>> builds, but they work because (most?) relevant mingw32 functions
>>> accept both MS and standard format specifiers.
>>>
>>> Adding the correct definitions (to qemu-os-win32.h, not to qemu-common.h)
>>> would be another solution as long as mingw32 does not handle
>>> __USE_MINGW_ANSI_STDIO correctly.
>>>
>>>>>
>>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>>>>> ---
>>>>> qemu-common.h | 3 +++
>>>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>>
>>>> It's never too late to implement C99!
>>>>
>>>> Thanks, applied to the trivial patches tree:
>>>>
>>>> http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/trivial-patches
>>>>
>>>> Stefan
>>>
>>> Stefan, the patch won't harm, but it's also unnecessary.
>>> So it's up to you whether you remove it from your queue,
>>> modify it as I suggested above or apply it as it is.
>>
>> Keeping those #defines unconditional prevents new mingw builds from
>> working, according to the commit description. So we have to either
>> remove them entirely or do them correctly. Dropping this patch will
>> keep the build from working.
>>
>> I suggest we keep this patch. A follow-up patch can us MS format
>> specifiers or do any other adjustments that make this work better.
>> Stefan, would you be able to send that patch?
>>
>> Stefan
>
> Hi Stefan,
>
> I just did a "git blame include/inttypes.h" on cygwin/mingw32 sources
> (git repository created from CVS). Here is the result:
>
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 34) #define PRId64 "I64d"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 52) #define PRIi64 "I64i"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 70) #define PRIo64 "I64o"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 90) #define PRIu64 "I64u"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 109) #define PRIx64 "I64x"
> 8f6754d5 (dannysmith 2002-06-13 10:20:41 +0000 127) #define PRIX64 "I64X"
>
> The format specifiers were added in 2002 and never changed since that time,
> so they are rather old. They don't break any current mingw32 builds.
> They will break builds as soon as mingw32 fixes the wrong definitions
> (which I don't expect for the next months).
>
> I'll send a patch which simply removes the definitions from
> qemu-common.h, so Jan's patch is no longer needed.
Thanks!
Stefan
prev parent reply other threads:[~2011-06-24 6:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-23 8:15 [Qemu-devel] [PATCH] Avoid double definitions of PRI*64 Jan Kiszka
2011-06-23 13:35 ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi
2011-06-23 14:32 ` Stefan Weil
2011-06-24 5:41 ` Stefan Hajnoczi
2011-06-24 6:11 ` Stefan Weil
2011-06-24 6:12 ` Stefan Hajnoczi [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='BANLkTi=jmJX3uoKs31fPnQn_UvdZNgAj3w@mail.gmail.com' \
--to=stefanha@gmail.com \
--cc=jan.kiszka@web.de \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=weil@mail.berlios.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).