Bugfix as sent to qemu-devel mailinglist on 2011/08/15

** Patch added: "0001-linux-user-fix-abi_-u-long-target_ulong-mismatch.patch"
   
https://bugs.launchpad.net/qemu/+bug/824716/+attachment/2285481/+files/0001-linux-user-fix-abi_-u-long-target_ulong-mismatch.patch

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/824716

Title:
  linux-user broken for targets with TARGET_ABI32 (i.e. qemu-
  sparc32plus)

Status in QEMU:
  New

Bug description:
  I just debugged a problem I had with linux-user for qemu-sparc32plus.
  Turns out that sparc32plus is defined as a 64bit target with
  TARGET_ABI32 set. This correctly leads to abi_ulong (and others) being
  defined as uint32_t. However most of the code (in syscall.c) uses
  tswapl for these values, which swaps the endianess of a target long
  (which is 64bit). This doesn't match the uin32_t abi_ulongs and fails!

  So it appears to me like one would need to define something like an
  aswapl which swaps abi_ulongs and replace most of the tswapls there...

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/824716/+subscriptions

Reply via email to