From: James Clarke Date: Mon, 29 Aug 2016 23:50:33 +0000 (+0100) Subject: Use PTRACE_SUNDETACH everywhere on SPARC and SPARC64 X-Git-Tag: v4.14~159 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b4a32f9e57b0009a36bf0eaf9cc9be4457020276;p=strace Use PTRACE_SUNDETACH everywhere on SPARC and SPARC64 SPARC has a different PTRACE_DETACH value correctly defined in sys/ptrace.h, but linux/ptrace.h clobbers it with the standard one. PTRACE_SUNDETACH is also defined to the correct value by sys/ptrace.h, so use that instead. * strace.c (detach) [SPARC]: Move redefinition of PTRACE_DETACH to PTRACE_SUNDETACH ... * ptrace.h [SPARC || SPARC64]: ... here. --- diff --git a/ptrace.h b/ptrace.h index 0f3b0220..ddb46cb4 100644 --- a/ptrace.h +++ b/ptrace.h @@ -67,6 +67,16 @@ extern long ptrace(int, int, char *, long); # undef ptrace_peeksiginfo_args #endif +#if defined(SPARC) || defined(SPARC64) +/* + * SPARC has a different PTRACE_DETACH value correctly defined in sys/ptrace.h, + * but linux/ptrace.h clobbers it with the standard one. PTRACE_SUNDETACH is + * also defined to the correct value by sys/ptrace.h, so use that instead. + */ +# undef PTRACE_DETACH +# define PTRACE_DETACH PTRACE_SUNDETACH +#endif + #ifndef PTRACE_EVENT_FORK # define PTRACE_EVENT_FORK 1 #endif diff --git a/strace.c b/strace.c index 0ee43cff..a4b999e1 100644 --- a/strace.c +++ b/strace.c @@ -836,10 +836,6 @@ detach(struct tcb *tcp) * before detaching. Arghh. We go through hoops * to make a clean break of things. */ -#if defined(SPARC) -# undef PTRACE_DETACH -# define PTRACE_DETACH PTRACE_SUNDETACH -#endif if (!(tcp->flags & TCB_ATTACHED)) goto drop;