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