]> granicus.if.org Git - strace/blobdiff - strace.c
sg_io: cleanup printing of sg_io buffers
[strace] / strace.c
index 9df942ecd452700216f359d7c5bf57cc07798bd5..653009b5a3880c78b9b74983f264dd0cec1dd894 100644 (file)
--- a/strace.c
+++ b/strace.c
@@ -43,7 +43,9 @@
 #ifdef HAVE_PRCTL
 # include <sys/prctl.h>
 #endif
+#include <asm/unistd.h>
 
+#include "scno.h"
 #include "ptrace.h"
 #include "printsiginfo.h"
 
@@ -57,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)
@@ -199,7 +193,7 @@ print_version(void)
               "Copyright (C) %s The strace developers <%s>.\n"
               "This is free software; see the source for copying conditions.  There is NO\n"
               "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
-              PACKAGE_NAME, PACKAGE_VERSION, "1991-2016", PACKAGE_URL);
+              PACKAGE_NAME, PACKAGE_VERSION, "1991-2017", PACKAGE_URL);
 }
 
 static void
@@ -579,7 +573,7 @@ tprintf(const char *fmt, ...)
 
        va_start(args, fmt);
        if (current_tcp) {
-               int n = strace_vfprintf(current_tcp->outf, fmt, args);
+               int n = vfprintf(current_tcp->outf, fmt, args);
                if (n < 0) {
                        if (current_tcp->outf != stderr)
                                perror_msg("%s", outfname);
@@ -1415,7 +1409,8 @@ startup_child(char **argv)
                                }
                                if (!WIFSTOPPED(status) || WSTOPSIG(status) != SIGSTOP) {
                                        kill_save_errno(pid, SIGKILL);
-                                       perror_msg_and_die("Unexpected wait status %x", status);
+                                       perror_msg_and_die("Unexpected wait status %#x",
+                                                          status);
                                }
                        }
                        /* Else: NOMMU case, we have no way to sync.
@@ -1528,8 +1523,8 @@ test_ptrace_seize(void)
                if (WIFSIGNALED(status)) {
                        return;
                }
-               error_msg_and_die("%s: unexpected wait status %x",
-                               __func__, status);
+               error_msg_and_die("%s: unexpected wait status %#x",
+                                 __func__, status);
        }
 }
 #else /* !USE_SEIZE */