Fwd: Different behaviour of RTEMS in QEMU/i386 and SPARC

Mogens Dybæk Christensen MogensD.Christensen at man.eu
Tue Nov 1 09:51:00 UTC 2011


Just to sort out possible flaws in qemu, could you put the same image on a bootable device, and let a standard PC boot on it?

If it works there, we know it is the emulation in qemu that has a problem.

Alternatively connect a gdb to qemu to see what it is doing.

Mogens Dybæk Christensen
MAN Diesel & Turbo, Copenhagen

From: rtems-users-bounces at rtems.org [mailto:rtems-users-bounces at rtems.org] On Behalf Of Constantine "chicky" Giotopoulos
Sent: 31. oktober 2011 14:28
To: rtems-users at rtems.org
Subject: Re: Fwd: Different behaviour of RTEMS in QEMU/i386 and SPARC

If I compile paranoia.c with the -lm option in an Intel machine (outside of Qemu), I get 1 defect and 1 flaw. One of the two occurs in the point where Qemu hangs. I would expect a similar behaviour when I execute the same code on Qemu/i386 using a single RTEMS task, probably with a lot more errors.

If I comment out the specific part of the code, paranoia runs till the end, producing a lot more defects, flaws, etc (around 11 in total) indeed. This is expected. It is the hanging that puzzles me and the fact that it doesn't hang in the previous case (Intel machine), or when compiling&executing the exact same code in a SPARC machine.

By the way I didn't understand Mr. Joel's comment:
"...since it doesn't happen on real hardware, it is explained as a deficiency on real hardware."
Is it worth the time debbuging with GDB? Or is it a "known" issue that has to do i386 or Qemu (or both?) ?

On Mon, Oct 31, 2011 at 1:17 PM, Sebastian Huber <sebastian.huber at embedded-brains.de<mailto:sebastian.huber at embedded-brains.de>> wrote:
If I compile paranoia.c with

gcc -O2 -m32 -mfpmath=387 paranoia.c -lm

then I get this

The number of  FAILUREs  encountered =       4.
The number of  SERIOUS DEFECTs  discovered = 4.
The number of  DEFECTs  discovered =         3.
The number of  FLAWs  discovered =           2.

In case you floating point operations are not fully IEEE 754 conform the paranoia program my hang in infinite loops.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20111101/c41b6885/attachment.html>

More information about the users mailing list