| systemtap v1.5 doesn't provide complete support for ARM. |
| This patch implements the arm version of aux_syscalls. |
| |
| --- /dev/null |
| +++ tapset/arm/aux_syscalls.stp |
| @@ -0,0 +1,26 @@ |
| +# arch-specific requests of ptrace ___________________________ |
| +# |
| +function _arch_ptrace_argstr(request, pid, addr, data) |
| +{ |
| + if (request == %{ PTRACE_GETREGS %}) |
| + // TODO: Retrieve *data in .return |
| + return sprintf ("PTRACE_GETREGS, %d, data=%p", pid, data) |
| + if (request == %{ PTRACE_SETREGS %}) |
| + // TODO: Retrieve *data here |
| + return sprintf ("PTRACE_SETREGS, %d, data=%p", pid, data) |
| + if (request == %{ PTRACE_GETFPREGS %}) |
| + // TODO: Retrieve *data in .return |
| + return sprintf ("PTRACE_GETFPREGS, %d, data=%p", pid, data) |
| + if (request == %{ PTRACE_SETFPREGS %}) |
| + // TODO: Retrieve *data here |
| + return sprintf ("PTRACE_SETFPREGS, %d, data=%p", pid, data) |
| + if (request == %{ PTRACE_SINGLESTEP %}) |
| + // TODO: Retrieve *data here |
| + return sprintf ("PTRACE_SINGLESTEP, %d, data=%p", pid, data) |
| + return sprintf("unknown ptrace request: %d, %d, data=%p", request, pid, data); |
| +} |
| + |
| +function _ptrace_return_arch_prctl_addr(request, addr, data) |
| +{ |
| + return 0 |
| +} |