FPU in qemu-system-i386 works incorrectly

Bug #1477683 reported by Daniel Milewski
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

FPU bug in qemu-system-i386 makes software which use floating point numbers work incorrectly. For instance, the one included in attachment prints out 0 instead of 2147483648. The same code works ok in qemu-system-x86_64.

I have this issue in QEMU 2.3.0 on two different GNU/Linux guests (Parabola GNU/Linux-libre and libreCMC.)

Revision history for this message
Daniel Milewski (niitotantei-deactivatedaccount) wrote :
description: updated
Revision history for this message
Sandmann (mr-xyz-unknown) wrote :

I think, that I have the same issue. After some git bisect, I found out that commit ea32aaf1a72af102b855317b47a22e75ac2965a9 has introduced the problem. Attached is a patch that fixes the issue for me. Maybe you can try this out, too.

description: updated
Revision history for this message
Daniel Milewski (niitotantei-deactivatedaccount) wrote :

Thanks! That patch solves the issue for me. May I ask maintainer to commit the fix?

Revision history for this message
Aurelien Jarno (aurel32) wrote :

Someone has posted a similar fix a few weeks ago, and it has just been merged.

Changed in qemu:
status: New → Fix Committed
Revision history for this message
Sandmann (mr-xyz-unknown) wrote :

Great, thanks for the information. I was just about to send the patch to the mailing list, but this seems to unnecessary now.

Revision history for this message
Thomas Huth (th-huth) wrote :

If I've got that right, the fix had been included here:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=178846bdd93994c1acaf
... so closing this ticket now.

Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.