qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [sparc64] Miscomputed minimum of a group of numbers in spar


From: Jakub Jermar
Subject: [Qemu-devel] [sparc64] Miscomputed minimum of a group of numbers in sparc64 emulation
Date: Thu, 30 Jun 2011 23:12:07 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Thunderbird/3.1.10

Hi,

we have been observing a problem with HelenOS running on the latest git
Qemu/sparc64. The gist of the problem is that the following computation
of minimum of 64 and 512 surprisingly gives 512:

 bytes = min(len, BPS(bs) - pos % BPS(bs));
 bytes = min(bytes, nodep->size - pos);

On input, `len` is 64, `pos` is 0, `BPS(bs)` is 512 and `nodep->size` is
some bigger number. Surprisingly, in a non-single-stepping mode, Qemu
computes `bytes` as 512 instead of 64. When singlestepping via GDB, the
result is correct.

I think this could be a bug in Qemu so I am attaching the relevant
portion of qemu.log with some comments and pointers in it.

I would appreciate if someone who understands the sparc64 code
translation could have a look at this. More debugging data may be
provided upon request.

Thanks,
Jakub

Attachment: qemu.log
Description: Text Data


reply via email to

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