Re: [Qemu-devel] [PATCH] linux-user, fix getgroups/getgroups32 when both args are zero.

2008-02-23 Thread Takashi Yoshii
Hi, > My version of patch to fix same problem: Oh, yes. You are right. I have read manpage again, and I found it says, if size is zero, list is not modified, but ... So, mine is wrong. We should check only "size". /yoshii

[Qemu-devel] [PATCH] linux-user, fix getgroups/getgroups32 when both args are zero.

2008-02-22 Thread Takashi Yoshii
getgroups() and getgroups32() returns NGROUPS_MAX when both its two args are zero. But because we pass a ptr to allocated space as 2nd arg, this function are interfered. The patch attached fixed it. /yoshii --- linux-user/syscall.c: fix getgroups{,32} when both args are zero. diff --git a/linu

[Qemu-devel] [PATCH] SH4,linux-user, Add pipe syscall support.

2008-02-22 Thread Takashi Yoshii
This one should be applied to run sh4-linux userland. /yoshii --- add handling of return values of pipe syscall for SH4. diff --git a/linux-user/syscall.c b/linux-user/syscall.c --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3514,6 +3514,9 @@ abi_long do_syscall(void *cpu_env, int n

[Qemu-devel] [PATCH] SH4, fix several instructions.

2008-02-21 Thread Takashi Yoshii
Hi, I succeeded to build "system" set of packages on Gentoo Linux, which is a small root filesystem with toolchain(because it is essential for Gentoo), inside a chroot environment with qemu-linux-user emu. Several instructions for sh4 need to be fixed/added. Some fixes and workarounds are needed

[Qemu-devel] [PATCH] SH4, Add more float instructions.

2007-12-11 Thread Takashi Yoshii
Hi, I found some instructions missing on SH4, and added some. Graphics extentions(like sin/cos/sqrt/vector op) are still missing, but I believe no one need them, at least, so far. "fneg" is implemented as 32bit op, according to the programming manual. /yoshii diff -u -p -r1.10 op.c --- a/target-

[Qemu-devel] [PATCH] linux-user, Add missing break just before execve.

2007-12-11 Thread Takashi Yoshii
Small patch around execve again. Now unlinkat() goes through into execve. Here is the fix. /yoshii diff -u -p -r1.157 syscall.c --- a/linux-user/syscall.c 9 Dec 2007 23:12:55 - 1.157 +++ b/linux-user/syscall.c 11 Dec 2007 17:02:11 - @@ -3177,6 +3176,7 @@ abi_long do_syscall

[Qemu-devel] [PATCH] linux-user, Fix execve argc/envc counting.

2007-12-09 Thread Takashi Yoshii
In execve code for linux-user emulation, address increment steps seems to be wrong when counting argc/envc. /yoshii Index: linux-user/syscall.c === RCS file: /sources/qemu/qemu/linux-user/syscall.c,v retrieving revision 1.156 diff -