]> granicus.if.org Git - strace/commitdiff
cope with FreeBSD compatability syscalls
authorJohn Hughes <john@Calva.COM>
Thu, 8 Mar 2001 17:27:20 +0000 (17:27 +0000)
committerJohn Hughes <john@Calva.COM>
Thu, 8 Mar 2001 17:27:20 +0000 (17:27 +0000)
ChangeLog
freebsd/i386/syscall.h
freebsd/i386/syscallent.h
freebsd/syscalls.pl

index dc83121ac2b5b8b9e4e7521980ec4592a51aa102..872a7de1ae8d252aaeee6aa1260647934018c65f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2001-03-08  John Hughes <john@Calva.COM>
+
+  * freebsd/syscalls.pl: On FreeBSD we must cope with COMPATibility syscalls,
+    pretend they have names ending with "?" so that -e trace=stat (for
+    example) will work.
+  * freebsd/i386/syscallent.h: add ? to compatability syscalls.
+  * freebsd/i386/syscall.h: consistency.
+
 2001-03-08  John Hughes <john@Calva.COM>
 
   * acconfig.h: add new ST_xxx defines.
index a9020721f1848766c863bd27776a8bb5f3215a98..9b60900fe3c3032c876c1b490083187fa07db5ab 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Automatically generated by ./../syscalls.pl on Thu Mar  8 11:47:44 2001
+ * Automatically generated by ./../syscalls.pl on Thu Mar  8 18:14:07 2001
  */
 
 #define sys_syscall printargs
index a8fb64e4cc095ead57eb8996b999c9e7ae9e740e..67e45d0ea45747def0be0e0e4b33d0669f78404f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Automatically generated by ./../syscalls.pl on Thu Mar  8 11:47:44 2001
+ * Automatically generated by ./../syscalls.pl on Thu Mar  8 18:14:07 2001
  */
 
   { 1, 0,      sys_syscall,    "syscall"       }, /* 0 */
@@ -10,7 +10,7 @@
   { 3, TF,     sys_open,       "open"  }, /* 5 */
   { 1, TF,     sys_close,      "close" }, /* 6 */
   { 4, TP,     sys_wait4,      "wait4" }, /* 7 */
-  { 2, TF,     sys_creat,      "creat" }, /* 8 */
+  { 2, TF,     sys_creat,      "creat?"        }, /* 8 */
   { 2, TF,     sys_link,       "link"  }, /* 9 */
   { 1, TF,     sys_unlink,     "unlink"        }, /* 10 */
   { -1,        0,      printargs,      "SYS_11"        }, /* 11 */
@@ -21,7 +21,7 @@
   { 3, TF,     sys_chown,      "chown" }, /* 16 */
   { 1, 0,      sys_break,      "break" }, /* 17 */
   { 3, 0,      sys_getfsstat,  "getfsstat"     }, /* 18 */
-  { 3, 0,      sys_lseek,      "lseek" }, /* 19 */
+  { 3, 0,      sys_lseek,      "lseek?"        }, /* 19 */
   { 1, 0,      sys_getpid,     "getpid"        }, /* 20 */
   { 4, TF,     sys_mount,      "mount" }, /* 21 */
   { 2, TF,     sys_unmount,    "unmount"       }, /* 22 */
   { 2, TF,     sys_fchflags,   "fchflags"      }, /* 35 */
   { 1, 0,      sys_sync,       "sync"  }, /* 36 */
   { 2, TS,     sys_kill,       "kill"  }, /* 37 */
-  { 2, TF,     sys_stat,       "stat }, /* 38 */
+  { 2, TF,     sys_stat,       "stat?" }, /* 38 */
   { 1, 0,      sys_getppid,    "getppid"       }, /* 39 */
-  { 2, TF,     sys_lstat,      "lstat" }, /* 40 */
+  { 2, TF,     sys_lstat,      "lstat?"        }, /* 40 */
   { 1, 0,      sys_dup,        "dup"   }, /* 41 */
   { 1, 0,      sys_pipe,       "pipe"  }, /* 42 */
   { 1, 0,      sys_getegid,    "getegid"       }, /* 43 */
   { 4, 0,      sys_profil,     "profil"        }, /* 44 */
   { 4, 0,      sys_ktrace,     "ktrace"        }, /* 45 */
-  { 3, TS,     sys_sigaction,  "sigaction    }, /* 46 */
+  { 3, TS,     sys_sigaction,  "sigaction?"    }, /* 46 */
   { 1, 0,      sys_getgid,     "getgid"        }, /* 47 */
-  { 2, TS,     sys_sigprocmask,        "sigprocmask  }, /* 48 */
+  { 2, TS,     sys_sigprocmask,        "sigprocmask?"  }, /* 48 */
   { 2, 0,      sys_getlogin,   "getlogin"      }, /* 49 */
   { 1, 0,      sys_setlogin,   "setlogin"      }, /* 50 */
   { 1, TF,     sys_acct,       "acct"  }, /* 51 */
-  { 1, TS,     sys_sigpending, "sigpending   }, /* 52 */
+  { 1, TS,     sys_sigpending, "sigpending?"   }, /* 52 */
   { 2, TS,     sys_sigaltstack,        "sigaltstack"   }, /* 53 */
   { 3, 0,      sys_ioctl,      "ioctl" }, /* 54 */
   { 1, 0,      sys_reboot,     "reboot"        }, /* 55 */
   { 3, TF|TP,  sys_execve,     "execve"        }, /* 59 */
   { 1, 0,      sys_umask,      "umask" }, /* 60 */
   { 1, TF,     sys_chroot,     "chroot"        }, /* 61 */
-  { 2, TF,     sys_fstat,      "fstat" }, /* 62 */
-  { 4, 0,      sys_getkerninfo,        "getkerninfo  }, /* 63 */
-  { 1, 0,      sys_getpagesize,        "getpagesize  }, /* 64 */
+  { 2, TF,     sys_fstat,      "fstat?"        }, /* 62 */
+  { 4, 0,      sys_getkerninfo,        "getkerninfo?"  }, /* 63 */
+  { 1, 0,      sys_getpagesize,        "getpagesize?"  }, /* 64 */
   { 3, 0,      sys_msync,      "msync" }, /* 65 */
   { 1, TP,     sys_vfork,      "vfork" }, /* 66 */
   { -1,        0,      printargs,      "SYS_67"        }, /* 67 */
   { -1,        0,      printargs,      "SYS_68"        }, /* 68 */
   { 1, 0,      sys_sbrk,       "sbrk"  }, /* 69 */
   { 1, 0,      sys_sstk,       "sstk"  }, /* 70 */
-  { 6, 0,      sys_mmap,       "mmap }, /* 71 */
+  { 6, 0,      sys_mmap,       "mmap?" }, /* 71 */
   { 1, 0,      sys_vadvise,    "vadvise"       }, /* 72 */
   { 2, 0,      sys_munmap,     "munmap"        }, /* 73 */
   { 3, 0,      sys_mprotect,   "mprotect"      }, /* 74 */
   { 1, 0,      sys_getpgrp,    "getpgrp"       }, /* 81 */
   { 2, 0,      sys_setpgid,    "setpgid"       }, /* 82 */
   { 3, 0,      sys_setitimer,  "setitimer"     }, /* 83 */
-  { 1, TP,     sys_wait,       "wait }, /* 84 */
+  { 1, TP,     sys_wait,       "wait?" }, /* 84 */
   { 1, TF,     sys_swapon,     "swapon"        }, /* 85 */
   { 2, 0,      sys_getitimer,  "getitimer"     }, /* 86 */
-  { 2, 0,      sys_gethostname,        "gethostname  }, /* 87 */
-  { 2, 0,      sys_sethostname,        "sethostname  }, /* 88 */
+  { 2, 0,      sys_gethostname,        "gethostname?"  }, /* 87 */
+  { 2, 0,      sys_sethostname,        "sethostname?"  }, /* 88 */
   { 1, 0,      sys_getdtablesize,      "getdtablesize" }, /* 89 */
   { 2, 0,      sys_dup2,       "dup2"  }, /* 90 */
   { -1,        0,      printargs,      "SYS_91"        }, /* 91 */
   { 3, TN,     sys_connect,    "connect"       }, /* 98 */
   { 3, TN,     sys_accept,     "accept"        }, /* 99 */
   { 2, 0,      sys_getpriority,        "getpriority"   }, /* 100 */
-  { 4, TN,     sys_send,       "send }, /* 101 */
-  { 4, TN,     sys_recv,       "recv }, /* 102 */
-  { 1, TS,     sys_sigreturn,  "sigreturn    }, /* 103 */
+  { 4, TN,     sys_send,       "send?" }, /* 101 */
+  { 4, TN,     sys_recv,       "recv?" }, /* 102 */
+  { 1, TS,     sys_sigreturn,  "sigreturn?"    }, /* 103 */
   { 3, TN,     sys_bind,       "bind"  }, /* 104 */
   { 5, TN,     sys_setsockopt, "setsockopt"    }, /* 105 */
   { 2, TN,     sys_listen,     "listen"        }, /* 106 */
   { -1,        0,      printargs,      "SYS_107"       }, /* 107 */
-  { 3, TS,     sys_sigvec,     "sigvec       }, /* 108 */
-  { 1, TS,     sys_sigblock,   "sigblock     }, /* 109 */
-  { 1, TS,     sys_sigsetmask, "sigsetmask   }, /* 110 */
-  { 1, TS,     sys_sigsuspend, "sigsuspend   }, /* 111 */
-  { 2, TS,     sys_sigstack,   "sigstack     }, /* 112 */
-  { 3, TN,     sys_recvmsg,    "recvmsg      }, /* 113 */
-  { 3, TN,     sys_sendmsg,    "sendmsg      }, /* 114 */
+  { 3, TS,     sys_sigvec,     "sigvec?"       }, /* 108 */
+  { 1, TS,     sys_sigblock,   "sigblock?"     }, /* 109 */
+  { 1, TS,     sys_sigsetmask, "sigsetmask?"   }, /* 110 */
+  { 1, TS,     sys_sigsuspend, "sigsuspend?"   }, /* 111 */
+  { 2, TS,     sys_sigstack,   "sigstack?"     }, /* 112 */
+  { 3, TN,     sys_recvmsg,    "recvmsg?"      }, /* 113 */
+  { 3, TN,     sys_sendmsg,    "sendmsg?"      }, /* 114 */
   { -1,        0,      printargs,      "SYS_115"       }, /* 115 */
   { 2, 0,      sys_gettimeofday,       "gettimeofday"  }, /* 116 */
   { 2, 0,      sys_getrusage,  "getrusage"     }, /* 117 */
   { 2, 0,      sys_setreuid,   "setreuid"      }, /* 126 */
   { 2, 0,      sys_setregid,   "setregid"      }, /* 127 */
   { 2, TF,     sys_rename,     "rename"        }, /* 128 */
-  { 2, TF,     sys_truncate,   "truncate     }, /* 129 */
-  { 2, 0,      sys_ftruncate,  "ftruncate    }, /* 130 */
+  { 2, TF,     sys_truncate,   "truncate?"     }, /* 129 */
+  { 2, 0,      sys_ftruncate,  "ftruncate?"    }, /* 130 */
   { 2, 0,      sys_flock,      "flock" }, /* 131 */
   { 2, 0,      sys_mkfifo,     "mkfifo"        }, /* 132 */
   { 6, TN,     sys_sendto,     "sendto"        }, /* 133 */
   { 2, TF,     sys_utimes,     "utimes"        }, /* 138 */
   { -1,        0,      printargs,      "SYS_139"       }, /* 139 */
   { 2, 0,      sys_adjtime,    "adjtime"       }, /* 140 */
-  { 3, TN,     sys_getpeername,        "getpeername  }, /* 141 */
-  { 1, 0,      sys_gethostid,  "gethostid    }, /* 142 */
-  { 1, 0,      sys_sethostid,  "sethostid    }, /* 143 */
-  { 2, 0,      sys_getrlimit,  "getrlimit    }, /* 144 */
-  { 2, 0,      sys_setrlimit,  "setrlimit    }, /* 145 */
-  { 2, TS,     sys_killpg,     "killpg       }, /* 146 */
+  { 3, TN,     sys_getpeername,        "getpeername?"  }, /* 141 */
+  { 1, 0,      sys_gethostid,  "gethostid?"    }, /* 142 */
+  { 1, 0,      sys_sethostid,  "sethostid?"    }, /* 143 */
+  { 2, 0,      sys_getrlimit,  "getrlimit?"    }, /* 144 */
+  { 2, 0,      sys_setrlimit,  "setrlimit?"    }, /* 145 */
+  { 2, TS,     sys_killpg,     "killpg?"       }, /* 146 */
   { 1, 0,      sys_setsid,     "setsid"        }, /* 147 */
   { 4, 0,      sys_quotactl,   "quotactl"      }, /* 148 */
-  { 1, 0,      sys_quota,      "quota" }, /* 149 */
+  { 1, 0,      sys_quota,      "quota?"        }, /* 149 */
   { 3, TN,     sys_getsockname,        "getsockname"   }, /* 150 */
   { -1,        0,      printargs,      "SYS_151"       }, /* 151 */
   { -1,        0,      printargs,      "SYS_152"       }, /* 152 */
   { -1,        0,      printargs,      "SYS_153"       }, /* 153 */
   { -1,        0,      printargs,      "SYS_154"       }, /* 154 */
   { 2, 0,      sys_nfssvc,     "nfssvc"        }, /* 155 */
-  { 4, 0,      sys_getdirentries,      "getdirentries" }, /* 156 */
+  { 4, 0,      sys_getdirentries,      "getdirentries?"        }, /* 156 */
   { 2, TF,     sys_statfs,     "statfs"        }, /* 157 */
   { 2, 0,      sys_fstatfs,    "fstatfs"       }, /* 158 */
   { -1,        0,      printargs,      "SYS_159"       }, /* 159 */
index 0dc389ae0202c0cf0c3bb1bf64e201f3c1b39f7f..84fd811c522b8bf627f53ee7551c682914f9cca3 100644 (file)
@@ -110,11 +110,15 @@ while (<MASTER>) {
        $_ = "$_$line";
     }
 
-    if (/^(\d+)\s+(?:MPSAFE\s+)?\w+\s+\w+\s+\{\s*([^}]+)\s*\}([^}]*)$/) {
-       my($proto, $ext, $name, $nargs, @args, $pfunc, $cat);
-       
-       $proto = $2;
-       $ext = $3;
+    if (/^(\d+)\s+(?:MPSAFE\s+)?(\w+)\s+\w+\s+\{\s*([^}]+)\s*\}([^}]*)$/) {
+       my($compat, $proto, $ext, $name, $nargs, @args, $pfunc, $cat);
+
+       next if $2 eq 'OBSOL' || $2 eq 'UNIMPL';
+
+       $compat = $2 eq 'COMPAT' ? '?' : "";
+
+       $proto = $3;
+       $ext = $4;
        
        if ($1 > $sysnum) { # syscall gap
            while($sysnum < $1) {
@@ -142,6 +146,7 @@ while (<MASTER>) {
            } else {
                $cat = "0";
            }
+           $name .= $compat;
            print "  { $nargs,\t$cat,\t$pfunc,\t\"$name\"\t}, /* $sysnum */\n";
            $sysnum++;
        } else {