Hi Jakub,
2011/6/30 Jakub Jermar <ja...@jermar.eu>:
> 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.

How is did you manage to see "bytes" without GDB?
In my case, as reported, a printf or any other statement using bytes
was simply not reached.

>When singlestepping via GDB, the
> result is correct.

You mean singlestepping gives other result than just setting a
breakpoint at target address?
And just to clarify, with 'singlestepping' do you mean manual stepping
through the code, or the '-singlestep' qemu option?

> 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
>
> _______________________________________________
> HelenOS-devel mailing list
> helenos-de...@lists.modry.cz
> http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
>
>



-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/

Reply via email to