* [Qemu-devel] [Bug 824716] [NEW] linux-user broken for targets with TARGET_ABI32 (i.e. qemu-sparc32plus)
@ 2011-08-11 18:32 Matthias Braun
2011-08-17 10:34 ` [Qemu-devel] [Bug 824716] " Matthias Braun
2013-07-26 12:48 ` Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Matthias Braun @ 2011-08-11 18:32 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
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...
** Affects: qemu
Importance: Undecided
Status: New
--
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [Bug 824716] Re: linux-user broken for targets with TARGET_ABI32 (i.e. qemu-sparc32plus)
2011-08-11 18:32 [Qemu-devel] [Bug 824716] [NEW] linux-user broken for targets with TARGET_ABI32 (i.e. qemu-sparc32plus) Matthias Braun
@ 2011-08-17 10:34 ` Matthias Braun
2013-07-26 12:48 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Matthias Braun @ 2011-08-17 10:34 UTC (permalink / raw)
To: qemu-devel
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [Bug 824716] Re: linux-user broken for targets with TARGET_ABI32 (i.e. qemu-sparc32plus)
2011-08-11 18:32 [Qemu-devel] [Bug 824716] [NEW] linux-user broken for targets with TARGET_ABI32 (i.e. qemu-sparc32plus) Matthias Braun
2011-08-17 10:34 ` [Qemu-devel] [Bug 824716] " Matthias Braun
@ 2013-07-26 12:48 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2013-07-26 12:48 UTC (permalink / raw)
To: qemu-devel
The fix for this was actually committed way back in 2011...
** Changed in: qemu
Status: New => Fix Released
--
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:
Fix Released
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-26 13:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-11 18:32 [Qemu-devel] [Bug 824716] [NEW] linux-user broken for targets with TARGET_ABI32 (i.e. qemu-sparc32plus) Matthias Braun
2011-08-17 10:34 ` [Qemu-devel] [Bug 824716] " Matthias Braun
2013-07-26 12:48 ` Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.