Re: Current utrace breaks UML

2007-05-25 Thread Jeff Dike
On Fri, May 25, 2007 at 06:35:13PM -0700, Roland McGrath wrote: > Oops! I overlooked the need to preserve the orig_eax value, though its > necessity is obvious. This makes me wonder about those previous > reports that UML was working OK. The one from me was on x86_64, where PTRACE_SYSEMU isn't a

Re: Current utrace breaks UML

2007-05-25 Thread Roland McGrath
> UML, obviously. Below is a smaller test. orig_eax is wrong, so you > can't read the system call number from the process. Oops! I overlooked the need to preserve the orig_eax value, though its necessity is obvious. This makes me wonder about those previous reports that UML was working OK. I

Re: Current utrace breaks UML

2007-05-23 Thread Jeff Dike
On Tue, May 22, 2007 at 11:46:11PM -0700, Roland McGrath wrote: > (It also works for free on other arch's if you want to #define the > constants there.) (Forgot to mention...) sweet Jeff -- Work email - jdike at linux dot intel dot com - To unsubscribe from this list: send the l

Re: Current utrace breaks UML

2007-05-23 Thread Jeff Dike
On Tue, May 22, 2007 at 11:46:11PM -0700, Roland McGrath wrote: > Do you have a test case for PTRACE_SYSEMU that does not work right? UML, obviously. Below is a smaller test. orig_eax is wrong, so you can't read the system call number from the process. With kernel-2.6.20-1.2948, it prints out a

Re: Current utrace breaks UML

2007-05-22 Thread Roland McGrath
> This chunk from linux-2.6-utrace.patch breaks PTRACE_SYSEMU, which UML > rather relies on. PTRACE_SYSEMU and PTRACE_SYSEMU_SINGLESTEP are implemented in a different way (see kernel/ptrace.c), which does not require that assembly code. (It also works for free on other arch's if you want to #def

Current utrace breaks UML

2007-05-22 Thread Jeff Dike
This chunk from linux-2.6-utrace.patch breaks PTRACE_SYSEMU, which UML rather relies on. @@ -514,9 +514,6 @@ syscall_trace_entry: movl %esp, %eax xorl %edx,%edx call do_syscall_trace - cmpl $0, %eax - jne resume_userspace# ret != 0 -> running under