From: "andrzej zaborowski" <balrogg@gmail.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: typo in target-i386/ops_sse.h
Date: Fri, 28 Nov 2008 01:05:24 +0100 [thread overview]
Message-ID: <fb249edb0811271605r556a8fcaue62670774a9d1d1d@mail.gmail.com> (raw)
In-Reply-To: <492F2984.9050806@web.de>
2008/11/28 Jan Kiszka <jan.kiszka@web.de>:
> andrzej zaborowski wrote:
>> Hi,
>>
>> 2008/11/27 Frank Mehnert <Frank.Mehnert@sun.com>:
>>> I believe there is a typo in target-i386/ops_sse.h in the macro
>>> SSE_HELPER_F:
>>
>> Ooops, you're right about the typo, but I think it should something like this:
>> --- a/target-i386/ops_sse.h
>> +++ b/target-i386/ops_sse.h
>> @@ -1499,12 +1499,12 @@ void glue(name, SUFFIX) (Reg *d, Reg *s)\
>> {\
>> d->elem(0) = F(0);\
>> d->elem(1) = F(1);\
>> - d->elem(2) = F(2);\
>> - d->elem(3) = F(3);\
>> - if (num > 3) {\
>> - d->elem(4) = F(4);\
>> - d->elem(5) = F(5);\
>> - if (num > 5) {\
>> + if (num > 2) {\
>> + d->elem(2) = F(2);\
>> + d->elem(3) = F(3);\
>> + if (num > 4) {\
>> + d->elem(4) = F(4);\
>> + d->elem(5) = F(5);\
>> d->elem(6) = F(6);\
>> d->elem(7) = F(7);\
>> }\
>>
>> I'm not sure why this didn't generate warnings.
>
> It does - with gcc4 (array subscript is above array bounds). I saw them
> in kvm-userspace, but there were so many (a lot likely due to
> non-upstream stuff) that I ignored them for now. Now your patch just
> removed 8 upstream warnings. But is this stuff already in use? Should
> cause subtle guest state corruptions if actually executed.
It is enabled if you specify SSE4.1 support through -cpu, currenlty no
predefined cpu uses it. I think it went unnoticed because I only
tested the first of the 12 instructions using the macro, which wasn't
affected.
>
> That reminds me that we should have a "zero new warnings policy" for
> changes. But reality still looks different...
Well, the subscripts above array bounds here are okay. Similarly
there are other warnings that generate lots of annoying
false-positives and you would end up working around your compiler,
sometimes sacrificing readability or performance.
Cheers
next prev parent reply other threads:[~2008-11-28 0:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-27 21:30 [Qemu-devel] typo in target-i386/ops_sse.h Frank Mehnert
2008-11-27 22:49 ` andrzej zaborowski
2008-11-27 23:13 ` [Qemu-devel] " Jan Kiszka
2008-11-27 23:37 ` [Qemu-devel] [PATCH] fix dr register typo (was: typo in target-i386/ops_sse.h) Jan Kiszka
2008-12-02 19:40 ` [Qemu-devel] [PATCH] fix dr register typo Anthony Liguori
2008-11-28 0:05 ` andrzej zaborowski [this message]
2008-11-28 8:23 ` [Qemu-devel] Re: typo in target-i386/ops_sse.h Jan Kiszka
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=fb249edb0811271605r556a8fcaue62670774a9d1d1d@mail.gmail.com \
--to=balrogg@gmail.com \
--cc=qemu-devel@nongnu.org \
/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).