All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.