[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 3 Mar 2007 18:03:00 +0000
From: Russell King <rmk+lkml@....linux.org.uk>
To: Andrew Morton <akpm@...ux-foundation.org>,
Roland McGrath <roland@...hat.cm>
Cc: linux-kernel@...r.kernel.org
Subject: Re: 2.6.21-rc2-mm1
On Fri, Mar 02, 2007 at 03:15:40AM -0800, Andrew Morton wrote:
> It's a complete rewrite of the ptrace code. Quite heroic, really.
>
> Lots of documentation at http://people.redhat.com/roland/utrace/
Here's some comments on it:
1. support for changing the syscall number. From the changes which
Roland has done in arch/arm/kernel/ptrace.c, it seems that we are
no longer allowed to change the syscall number. Why is this?
We need to support a special "SET_SYSCALL" call which is passed the
new syscall number. This needs to be passed to the child, and
when the child returns from syscall_trace(), it needs to return this
new data as the system call number.
2. tracehook_abort_syscall can not be supported on ARM - syscall numbers
aren't (always) passed through the register set.
3. single step support. no idea how to do this with utrace; the
documentation seems to imply that utrace will not support software-
based single stepping when it involves modifying the text, and that
it can continue to be supported via the ptrace compatibility.
Since this is the only way to do single stepping on ARM, this means
that we need to support ptrace indefinitely.
So, as I see it, supporting utrace on ARM would be a major backwards
step as things stand at the moment - no single stepping, and no ability
to modify syscalls. Unfortunately, not having the single step ability
makes debugging pretty much useless, so this is something which must
be supported.
Finally, there's quite a bit of cleanup work which needs to be done for
utrace - namely removing all the pesky linux/ptrace.h includes scattered
throughout the tree. This is by far the biggest problem I've faced in
trying to tackle utrace soo far.
Attached are two patches (yes yes, but they're not for applying, only
for reading - ergo no signoffs). The first removes a whole wodge of
linux/ptrace.h includes. The second is the preliminary, completely
untested ARM utrace support - in particular look for the FIXMEs.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
View attachment "remove-linux_ptrace_h.diff" of type "text/plain" (14832 bytes)
View attachment "utrace-arm.diff" of type "text/plain" (18573 bytes)
Powered by blists - more mailing lists