Author: bdrewery
Date: Fri Apr 11 01:04:07 2014
New Revision: 264333
URL: http://svnweb.freebsd.org/changeset/base/264333

Log:
  MFC r263879:
  
    Add `-S' to display syscall numbers in the output as well.

Modified:
  stable/9/usr.bin/kdump/kdump.1
  stable/9/usr.bin/kdump/kdump.c
Directory Properties:
  stable/9/usr.bin/kdump/   (props changed)

Modified: stable/9/usr.bin/kdump/kdump.1
==============================================================================
--- stable/9/usr.bin/kdump/kdump.1      Fri Apr 11 01:00:51 2014        
(r264332)
+++ stable/9/usr.bin/kdump/kdump.1      Fri Apr 11 01:04:07 2014        
(r264333)
@@ -28,7 +28,7 @@
 .\"    @(#)kdump.1     8.1 (Berkeley) 6/6/93
 .\" $FreeBSD$
 .\"
-.Dd June 4, 2012
+.Dd March 28, 2014
 .Dt KDUMP 1
 .Os
 .Sh NAME
@@ -36,7 +36,7 @@
 .Nd display kernel trace data
 .Sh SYNOPSIS
 .Nm
-.Op Fl dEnlHRsTA
+.Op Fl dEnlHRSsTA
 .Op Fl f Ar trfile
 .Op Fl m Ar maxdata
 .Op Fl p Ar pid
@@ -95,6 +95,8 @@ Display relative timestamps (time since 
 .It Fl r
 When decoding STRU records, display structure members such as UIDs,
 GIDs, dates etc. symbolically instead of numerically.
+.It Fl S
+Display system call numbers.
 .It Fl s
 Suppress display of I/O data.
 .It Fl T

Modified: stable/9/usr.bin/kdump/kdump.c
==============================================================================
--- stable/9/usr.bin/kdump/kdump.c      Fri Apr 11 01:00:51 2014        
(r264332)
+++ stable/9/usr.bin/kdump/kdump.c      Fri Apr 11 01:04:07 2014        
(r264333)
@@ -109,7 +109,7 @@ void usage(void);
 void ioctlname(unsigned long, int);
 
 int timestamp, decimal, fancy = 1, suppressdata, tail, threads, maxdata,
-    resolv = 0, abiflag = 0;
+    resolv = 0, abiflag = 0, syscallno = 0;
 const char *tracefile = DEF_TRACEFILE;
 struct ktr_header ktr_header;
 
@@ -172,7 +172,7 @@ main(int argc, char *argv[])
 
        setlocale(LC_CTYPE, "");
 
-       while ((ch = getopt(argc,argv,"f:dElm:np:AHRrsTt:")) != -1)
+       while ((ch = getopt(argc,argv,"f:dElm:np:AHRrSsTt:")) != -1)
                switch (ch) {
                case 'A':
                        abiflag = 1;
@@ -198,6 +198,9 @@ main(int argc, char *argv[])
                case 'r':
                        resolv = 1;
                        break;
+               case 'S':
+                       syscallno = 1;
+                       break;
                case 's':
                        suppressdata = 1;
                        break;
@@ -515,8 +518,11 @@ ktrsyscall(struct ktr_syscall *ktr, u_in
        if ((flags != 0 && ((flags & SV_ABI_MASK) != SV_ABI_FREEBSD)) ||
            (ktr->ktr_code >= nsyscalls || ktr->ktr_code < 0))
                printf("[%d]", ktr->ktr_code);
-       else
+       else {
                printf("%s", syscallnames[ktr->ktr_code]);
+               if (syscallno)
+                       printf("[%d]", ktr->ktr_code);
+       }
        ip = &ktr->ktr_args[0];
        if (narg) {
                char c = '(';
@@ -1063,8 +1069,12 @@ ktrsysret(struct ktr_sysret *ktr, u_int 
        if ((flags != 0 && ((flags & SV_ABI_MASK) != SV_ABI_FREEBSD)) ||
            (code >= nsyscalls || code < 0))
                printf("[%d] ", code);
-       else
-               printf("%s ", syscallnames[code]);
+       else {
+               printf("%s", syscallnames[code]);
+               if (syscallno)
+                       printf("[%d]", code);
+               printf(" ");
+       }
 
        if (error == 0) {
                if (fancy) {
@@ -1651,8 +1661,11 @@ linux_ktrsyscall(struct ktr_syscall *ktr
 
        if (ktr->ktr_code >= nlinux_syscalls || ktr->ktr_code < 0)
                printf("[%d]", ktr->ktr_code);
-       else
+       else {
                printf("%s", linux_syscallnames[ktr->ktr_code]);
+               if (syscallno)
+                       printf("[%d]", ktr->ktr_code);
+       }
        ip = &ktr->ktr_args[0];
        if (narg) {
                char c = '(';
@@ -1672,8 +1685,12 @@ linux_ktrsysret(struct ktr_sysret *ktr)
 
        if (code >= nlinux_syscalls || code < 0)
                printf("[%d] ", code);
-       else
-               printf("%s ", linux_syscallnames[code]);
+       else {
+               printf("%s", linux_syscallnames[code]);
+               if (syscallno)
+                       printf("[%d]", code);
+               printf(" ");
+       }
 
        if (error == 0) {
                if (fancy) {
@@ -1706,7 +1723,7 @@ linux_ktrsysret(struct ktr_sysret *ktr)
 void
 usage(void)
 {
-       fprintf(stderr, "usage: kdump [-dEnlHRrsTA] [-f trfile] "
+       fprintf(stderr, "usage: kdump [-dEnlHRrSsTA] [-f trfile] "
            "[-m maxdata] [-p pid] [-t trstr]\n");
        exit(1);
 }
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to