]> granicus.if.org Git - strace/commitdiff
Remove checks of __NR_* availability from strace source code
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 3 Jan 2017 13:46:26 +0000 (13:46 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 3 Jan 2017 13:46:26 +0000 (13:46 +0000)
* strace.c: Remove __NR_tkill checks, assume it is always defined.
* util.c: Remove __NR_process_vm_readv checks and fallback definitions,
assume it is always defined.

strace.c
util.c

index 440ff4c4cee26440132c973caa2fd1050b732cfd..394b657c93ed1ed9b7cde431dd0e85e19b49aff2 100644 (file)
--- a/strace.c
+++ b/strace.c
@@ -59,15 +59,7 @@ extern char *optarg;
 bool stack_trace_enabled = false;
 #endif
 
-#if defined __NR_tkill
-# define my_tkill(tid, sig) syscall(__NR_tkill, (tid), (sig))
-#else
-   /* kill() may choose arbitrarily the target task of the process group
-      while we later wait on a that specific TID.  PID process waits become
-      TID task specific waits for a process under ptrace(2).  */
-# warning "tkill(2) not available, risk of strace hangs!"
-# define my_tkill(tid, sig) kill((tid), (sig))
-#endif
+#define my_tkill(tid, sig) syscall(__NR_tkill, (tid), (sig))
 
 /* Glue for systems without a MMU that cannot provide fork() */
 #if !defined(HAVE_FORK)
diff --git a/util.c b/util.c
index 0e062da3e56a679ffbda3f8e62c23f94cda1c470..16e3b51fa27e78aa4f69c3a11c88628dd5e90200 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1065,27 +1065,13 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, const int len)
        }
 }
 
-#ifdef HAVE_PROCESS_VM_READV
-/* C library supports this, but the kernel might not. */
 static bool process_vm_readv_not_supported = 0;
-#else
-
-/* Need to do this since process_vm_readv() is not yet available in libc.
+#ifndef HAVE_PROCESS_VM_READV
+/*
+ * Need to do this since process_vm_readv() is not yet available in libc.
  * When libc is be updated, only "static bool process_vm_readv_not_supported"
  * line should remain.
  */
-#if !defined(__NR_process_vm_readv)
-# if defined(I386)
-#  define __NR_process_vm_readv  347
-# elif defined(X86_64)
-#  define __NR_process_vm_readv  310
-# elif defined(POWERPC)
-#  define __NR_process_vm_readv  351
-# endif
-#endif
-
-#if defined(__NR_process_vm_readv)
-static bool process_vm_readv_not_supported = 0;
 /* Have to avoid duplicating with the C library headers. */
 static ssize_t strace_process_vm_readv(pid_t pid,
                 const struct iovec *lvec,
@@ -1096,13 +1082,8 @@ static ssize_t strace_process_vm_readv(pid_t pid,
 {
        return syscall(__NR_process_vm_readv, (long)pid, lvec, liovcnt, rvec, riovcnt, flags);
 }
-#define process_vm_readv strace_process_vm_readv
-#else
-static bool process_vm_readv_not_supported = 1;
-# define process_vm_readv(...) (errno = ENOSYS, -1)
-#endif
-
-#endif /* end of hack */
+# define process_vm_readv strace_process_vm_readv
+#endif /* !HAVE_PROCESS_VM_READV */
 
 static ssize_t
 vm_read_mem(const pid_t pid, void *const laddr,