[Top][All Lists]
[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
qemu.log
Description: Text Data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [sparc64] Miscomputed minimum of a group of numbers in sparc64 emulation,
Jakub Jermar <=