qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] linux-user: fix sparc32plus emulation
@ 2018-04-02 10:24 Laurent Vivier
  2018-04-02 10:24 ` [Qemu-devel] [PATCH 1/2] linux-user: define TARGET_ARCH_HAS_KA_RESTORER Laurent Vivier
  2018-04-02 10:24 ` [Qemu-devel] [PATCH 2/2] linux-user: fix TARGET___O_TMPFILE for sparc Laurent Vivier
  0 siblings, 2 replies; 3+ messages in thread
From: Laurent Vivier @ 2018-04-02 10:24 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Riku Voipio

The sparc signal emulation is broken:
sparc has a special field called ka_restorer and to be used
in place of sa_restorer. Without it, the signal handler
exits and executes unexpected instructions.
(sparc64 has the same kind of problem but this change
doesn't fix it)

Once this problem is fixed, we can chroot in a shell and
execute "ls". And "ls" fails to read directory content
because flags of open() are not translated correctly.
To fix that, the second patch defines the good sparc
value for TARGET___O_TMPFILE.

Laurent Vivier (2):
  linux-user: define TARGET_ARCH_HAS_KA_RESTORER
  linux-user: fix TARGET___O_TMPFILE for sparc

 linux-user/signal.c       | 4 ++--
 linux-user/syscall.c      | 7 +++++--
 linux-user/syscall_defs.h | 5 +++++
 3 files changed, 12 insertions(+), 4 deletions(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-04-02 10:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-02 10:24 [Qemu-devel] [PATCH 0/2] linux-user: fix sparc32plus emulation Laurent Vivier
2018-04-02 10:24 ` [Qemu-devel] [PATCH 1/2] linux-user: define TARGET_ARCH_HAS_KA_RESTORER Laurent Vivier
2018-04-02 10:24 ` [Qemu-devel] [PATCH 2/2] linux-user: fix TARGET___O_TMPFILE for sparc Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).