Most linux arches have architecture specific POST/PRE(sys_ptrace) wrappers. But they only handle a subset of (current) ptrace commands. The linux-riscv port (bug #468575) adds a default case: VG_(umsg)("WARNING: unhandled ptrace request %ld.\n", SARG1); Which produces: ==173031== WARNING: unhandled ptrace request 16. ==173031== WARNING: unhandled ptrace request 17. (which is PTRACE_ATTACH and PTRACE_DETACH also not explicitly handled by any other linux arch) linux-ppc32 doesn't wrap ptrace at all. There are some generic ptrace helpers: linux_POST_getregset/linux_PRE_setregset/linux_PRE_getregset/linux_POST_traceme None of the newer linux ptrace commands are handled though. For example: PTRACE_GET_SYSCALL_INFO PTRACE_SECCOMP_GET_FILTER PTRACE_SETSIGMASK PTRACE_GETSIGMASK PTRACE_PEEKSIGINFO