[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] cf811f: tcg/tcg-op.c: Fix ld/st of 64 bit val
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] cf811f: tcg/tcg-op.c: Fix ld/st of 64 bit values on 32-bit... |
Date: |
Thu, 09 Apr 2015 04:30:07 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: cf811fff2ae20008f00455d0ab2212a4dea0b56f
https://github.com/qemu/qemu/commit/cf811fff2ae20008f00455d0ab2212a4dea0b56f
Author: Peter Maydell <address@hidden>
Date: 2015-04-09 (Thu, 09 Apr 2015)
Changed paths:
M tcg/tcg-op.c
Log Message:
-----------
tcg/tcg-op.c: Fix ld/st of 64 bit values on 32-bit bigendian hosts
Commit 951c6300f7 out-of-lined the 32-bit-host versions of
tcg_gen_{ld,st}_i64, but in the process it inadvertently changed
an #ifdef HOST_WORDS_BIGENDIAN to #ifdef TCG_TARGET_WORDS_BIGENDIAN.
Since the latter doesn't get defined anywhere this meant we always
took the "LE host" codepath, and stored the two halves of the value
in the wrong order on BE hosts. This typically breaks any 64-bit
guest on a 32-bit BE host completely, and will have possibly more
subtle effects even for 32-bit guests.
Switch the ifdef back to HOST_WORDS_BIGENDIAN.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Tested-by: Andreas Färber <address@hidden>
Message-id: address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] cf811f: tcg/tcg-op.c: Fix ld/st of 64 bit values on 32-bit...,
GitHub <=