]> granicus.if.org Git - strace/commitdiff
ptrace: do not print data argument of some requests on sparc
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 12 May 2016 15:18:05 +0000 (15:18 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 12 May 2016 15:18:05 +0000 (15:18 +0000)
On sparc, kernel ignores data argument of PTRACE_GETREGS,
PTRACE_SETREGS, PTRACE_GETFPREGS, and PTRACE_SETFPREGS requests.

* process.c (SYS_FUNC(ptrace)) [SPARC || SPARC64]: Return RVAL_DECODED
right after printing addr argument if request is one of PTRACE_GETREGS,
PTRACE_SETREGS, PTRACE_GETFPREGS, or PTRACE_SETFPREGS.

process.c

index 620cc1f437d4c316fcacc3596008bcb9e3812de1..e735bc36982415447797cf711389889a825a9137 100644 (file)
--- a/process.c
+++ b/process.c
@@ -117,6 +117,16 @@ SYS_FUNC(ptrace)
                        tprints(", ");
                        printxval(nt_descriptor_types, addr, "NT_???");
                        break;
+#if defined SPARC || defined SPARC64
+               case PTRACE_GETREGS:
+               case PTRACE_SETREGS:
+               case PTRACE_GETFPREGS:
+               case PTRACE_SETFPREGS:
+                       tprints(", ");
+                       printaddr(addr);
+                       /* data is ignored */
+                       return RVAL_DECODED;
+#endif
                default:
                        tprints(", ");
                        printaddr(addr);