<div dir="ltr"><div>This patch adds the %open trace class to trace syscalls used</div><div>to open files. The %open class includes open, openat, creat,</div><div> openat2 and open_by_handle_at.</div><br>syscallent headers are updated using the following command:<br><br>sed -i -r '<br>  /\((open(at(2)?|_by_handle_at)?|creat)\)/ {<br>           s/(\{[^,]*,\t[^0][^,]*)/\1|TO/<br>                s/(\{[^,]*,\s*)0/\1TO/<br>        }<br>' linux/*/syscallent*.h<br><br>* basic_filters.c (lookup_class): Add %open member to syscall_class[].<br>* sysent.h: Add TRACE_OPEN macro.<br>* sysent_shorthand_defs.h: Likewise.<br>* sysent_shorthand_undefs.h: Add undef.<br>* doc/<a href="http://strace.1.in">strace.1.in</a> (.SS Filtering): Add a description for `-e trace=%open`.<br>* strace.c (usage): Add %open group to help message.<br>* linux/32/syscallent.h: Add TC flag for %open syscalls.<br>* linux/64/syscallent.h: Likewise.<br>* linux/alpha/syscallent.h: Likewise.<br>* linux/arm/syscallent.h: Likewise.<br>* linux/avr32/syscallent.h: Likewise.<br>* linux/bfin/syscallent.h: Likewise.<br>* linux/generic/syscallent-common.h: Likewise.<br>* linux/hppa/syscallent.h: Likewise.<br>* linux/i386/syscallent.h: Likewise.<br>* linux/ia64/syscallent.h: Likewise.<br>* linux/m68k/syscallent.h: Likewise.<br>* linux/microblaze/syscallent.h: Likewise.<br>* linux/mips/syscallent-n32.h: Likewise.<br>* linux/mips/syscallent-n64.h: Likewise.<br>* linux/mips/syscallent-o32.h: Likewise.<br>* linux/powerpc/syscallent.h: Likewise.<br>* linux/powerpc64/syscallent.h: Likewise.<br>* linux/s390/syscallent.h: Likewise.<br>* linux/s390x/syscallent.h: Likewise.<br>* linux/sh/syscallent.h: Likewise.<br>* linux/sh64/syscallent.h: Likewise.<br>* linux/sparc/syscallent.h: Likewise.<br>* linux/sparc64/syscallent.h: Likewise.<br>* linux/x32/syscallent.h: Likewise.<br>* linux/x86_64/syscallent.h: Likewise.<br>* linux/xtensa/syscallent.h: Likewise.<br>* NEWS: mention this change.<br><br>Signed-off-by: Kossi Glokpor <<a href="mailto:hotkatz32@gmail.com">hotkatz32@gmail.com</a>><br>Signed-off-by: glk0 <<a href="mailto:hotkatz32@gmail.com">hotkatz32@gmail.com</a>><br>---<br> NEWS                                  |  1 +<br> doc/<a href="http://strace.1.in">strace.1.in</a>                       |  6 ++++<br> src/basic_filters.c                   |  1 +<br> src/linux/32/syscallent.h             |  4 +--<br> src/linux/64/syscallent.h             |  4 +--<br> src/linux/alpha/syscallent.h          |  6 ++--<br> src/linux/arm/syscallent.h            |  8 ++---<br> src/linux/avr32/syscallent.h          |  8 ++---<br> src/linux/bfin/syscallent.h           |  8 ++---<br> src/linux/generic/syscallent-common.h |  2 +-<br> src/linux/hppa/syscallent.h           |  8 ++---<br> src/linux/i386/syscallent.h           |  8 ++---<br> src/linux/ia64/syscallent.h           |  8 ++---<br> src/linux/m68k/syscallent.h           |  8 ++---<br> src/linux/microblaze/syscallent.h     |  8 ++---<br> src/linux/mips/syscallent-n32.h       |  8 ++---<br> src/linux/mips/syscallent-n64.h       |  8 ++---<br> src/linux/mips/syscallent-o32.h       |  8 ++---<br> src/linux/powerpc/syscallent.h        |  8 ++---<br> src/linux/powerpc64/syscallent.h      |  8 ++---<br> src/linux/s390/syscallent.h           |  8 ++---<br> src/linux/s390x/syscallent.h          |  8 ++---<br> src/linux/sh/syscallent.h             |  8 ++---<br> src/linux/sh64/syscallent.h           |  8 ++---<br> src/linux/sparc/syscallent.h          |  8 ++---<br> src/linux/sparc64/syscallent.h        |  8 ++---<br> src/linux/x32/syscallent.h            |  8 ++---<br> src/linux/x86_64/syscallent.h         |  8 ++---<br> src/linux/xtensa/syscallent.h         |  8 ++---<br> src/strace.c                          |  2 +-<br> src/sysent.h                          | 49 ++++++++++++++-------------<br> src/sysent_shorthand_defs.h           |  2 ++<br> src/sysent_shorthand_undefs.h         |  1 +<br> 33 files changed, 133 insertions(+), 121 deletions(-)<br><br>diff --git a/NEWS b/NEWS<br>index 5bf6c80cb..f4f21136a 100644<br>--- a/NEWS<br>+++ b/NEWS<br>@@ -3,6 +3,7 @@ Noteworthy changes in release ?.? (????-??-??)<br> <br> * Improvements<br>   * Updated lists of ioctl commands from Linux 6.3.<br>+  * Added -e trace=%open option for tracing syscalls reading or modifying<br> <br> Noteworthy changes in release 6.2 (2023-02-26)<br> ==============================================<br>diff --git a/doc/<a href="http://strace.1.in">strace.1.in</a> b/doc/<a href="http://strace.1.in">strace.1.in</a><br>index 71661bd2e..bd45fbad1 100644<br>--- a/doc/<a href="http://strace.1.in">strace.1.in</a><br>+++ b/doc/<a href="http://strace.1.in">strace.1.in</a><br>@@ -620,6 +620,12 @@ regular expression.<br> .BR %clock<br> Trace system calls that read or modify system clocks.<br> .TP<br>+.BR %open<br>+Trace syscalls used to open files.<br>+Currently, this list includes<br>+.BR open "(2), " openat "(2), " openat2 "(2), " creat "(2) and"<br>+.BR open_by_handle_at "(2) syscalls."<br>+.TP<br> .BR %pure<br> Trace syscalls that always succeed and have no arguments.<br> Currently, this list includes<br>diff --git a/src/basic_filters.c b/src/basic_filters.c<br>index 8aa476bf3..3c676c744 100644<br>--- a/src/basic_filters.c<br>+++ b/src/basic_filters.c<br>@@ -129,6 +129,7 @@ qualify_syscall_class(const char *str, unsigned int p, struct number_set *set)<br>               { TRACE_STATFS_LIKE,    "%%statfs" },<br>              { TRACE_PURE,           "%pure" },<br>                 { TRACE_CLOCK,          "%clock" },<br>+                { TRACE_OPEN,           "%open" },<br>                 /* legacy class names */<br>             { 0,                    "all" },<br>           { TRACE_DESC,           "desc" },<br>diff --git a/src/linux/32/syscallent.h b/src/linux/32/syscallent.h<br>index 44bb908e1..6b8602517 100644<br>--- a/src/linux/32/syscallent.h<br>+++ b/src/linux/32/syscallent.h<br>@@ -64,7 +64,7 @@<br> [ 53] = { 3, TD|TF,          SEN(fchmodat),                  "fchmodat"            },<br> [ 54] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br> [ 55] = { 3,      TD,             SEN(fchown),                    "fchown"              },<br>-[ 56] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[ 56] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [ 57] = { 1,      TD,             SEN(close),                     "close"                       },<br> [ 58] = { 0,      0,              SEN(vhangup),                   "vhangup"             },<br> [ 59] = { 2,      TD,             SEN(pipe2),                     "pipe2"                       },<br>@@ -262,7 +262,7 @@<br> [262] = { 2, TD,             SEN(fanotify_init),             "fanotify_init"               },<br> [263] = { 6,      TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [264] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[265] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[265] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> /* [266] clock_adjtime */<br> [267] = { 1, TD,             SEN(syncfs),                    "syncfs"              },<br> [268] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/64/syscallent.h b/src/linux/64/syscallent.h<br>index 1463d1974..bbec47c9d 100644<br>--- a/src/linux/64/syscallent.h<br>+++ b/src/linux/64/syscallent.h<br>@@ -61,7 +61,7 @@<br> [ 53] = { 3,  TD|TF,          SEN(fchmodat),                  "fchmodat"            },<br> [ 54] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br> [ 55] = { 3,      TD,             SEN(fchown),                    "fchown"              },<br>-[ 56] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[ 56] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [ 57] = { 1,      TD,             SEN(close),                     "close"                       },<br> [ 58] = { 0,      0,              SEN(vhangup),                   "vhangup"             },<br> [ 59] = { 2,      TD,             SEN(pipe2),                     "pipe2"                       },<br>@@ -255,7 +255,7 @@<br> [262] = { 2, TD,             SEN(fanotify_init),             "fanotify_init"               },<br> [263] = { 5,      TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [264] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[265] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[265] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [266] = { 2,      TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [267] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [268] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/alpha/syscallent.h b/src/linux/alpha/syscallent.h<br>index 87cbe59bd..8c6b47475 100644<br>--- a/src/linux/alpha/syscallent.h<br>+++ b/src/linux/alpha/syscallent.h<br>@@ -52,7 +52,7 @@<br> [ 42] = { 0,      TD,             SEN(pipe),                      "pipe"                        },<br> [ 43] = { 4,      0,              SEN(printargs),                 "osf_set_program_attributes"  },<br> [ 44] = { 5,      0,              SEN(printargs),                 "osf_profil"          }, /* not implemented */<br>-[ 45] = { 3, TD|TF,          SEN(open),                      "open"                        },<br>+[ 45] = { 3,       TD|TF|TO,               SEN(open),                      "open"                        },<br> [ 46] = { 5,      0,              SEN(printargs),                 "osf_old_sigaction"   }, /* not implemented */<br> [ 47] = { 0,        TC|PU|NF,       SEN(getxgid),                   "getxgid"             },<br> [ 48] = { 2,      TS,             SEN(osf_sigprocmask),           "osf_sigprocmask"     },<br>@@ -393,7 +393,7 @@<br> [447] = { 1, TD,             SEN(fdatasync),                 "fdatasync"           },<br> [448] = { 4,      0,              SEN(kexec_load),                "kexec_load"          },<br> [449] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[450] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[450] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [451] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [452] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [453] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -441,7 +441,7 @@<br> [495] = { 5, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [496] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [497] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[498] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[498] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [499] = { 2,      TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [500] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [501] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/arm/syscallent.h b/src/linux/arm/syscallent.h<br>index 2086308a2..96ccefecf 100644<br>--- a/src/linux/arm/syscallent.h<br>+++ b/src/linux/arm/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,   TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -329,7 +329,7 @@<br> [319] = { 6, TM,             SEN(mbind),                     "mbind"                       },<br> [320] = { 5,      TM,             SEN(get_mempolicy),             "get_mempolicy"               },<br> [321] = { 3,      TM,             SEN(set_mempolicy),             "set_mempolicy"               },<br>-[322] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[322] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [323] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [324] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [325] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -378,7 +378,7 @@<br> [368] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [369] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [370] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[371] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[371] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [372] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [373] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [374] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/avr32/syscallent.h b/src/linux/avr32/syscallent.h<br>index 104044e5f..d2240c671 100644<br>--- a/src/linux/avr32/syscallent.h<br>+++ b/src/linux/avr32/syscallent.h<br>@@ -11,10 +11,10 @@<br> [  2] = { 0,   TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 1,     NF,             SEN(umask),                     "umask"                       },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -249,7 +249,7 @@<br> [240] = { 0, TD,             SEN(inotify_init),              "inotify_init"                },<br> [241] = { 3,      TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [242] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br>-[243] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[243] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [244] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [245] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [246] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -311,7 +311,7 @@<br> [302] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [303] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [304] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[305] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[305] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [306] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [307] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [308] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/bfin/syscallent.h b/src/linux/bfin/syscallent.h<br>index 05720b4f9..4bc1d37bd 100644<br>--- a/src/linux/bfin/syscallent.h<br>+++ b/src/linux/bfin/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,       TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -301,7 +301,7 @@<br> [292] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [293] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [294] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[295] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[295] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [296] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [297] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [298] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -382,7 +382,7 @@<br> [373] = { 4, 0,              SEN(prlimit64),                 "prlimit64"           },<br> [374] = { 3,      0,              SEN(cacheflush),                "cacheflush"          },<br> [375] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[376] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[376] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [377] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [378] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [379] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/generic/syscallent-common.h b/src/linux/generic/syscallent-common.h<br>index 97ba328e6..058a72edb 100644<br>--- a/src/linux/generic/syscallent-common.h<br>+++ b/src/linux/generic/syscallent-common.h<br>@@ -21,7 +21,7 @@<br> [BASE_NR + 434] = { 2,        TD,             SEN(pidfd_open),                "pidfd_open"          },<br> [BASE_NR + 435] = { 2,    TP,             SEN(clone3),                    "clone3"              },<br> [BASE_NR + 436] = { 3,    0,              SEN(close_range),               "close_range"         },<br>-[BASE_NR + 437] = { 4,     TD|TF,          SEN(openat2),                   "openat2"             },<br>+[BASE_NR + 437] = { 4,     TD|TF|TO,               SEN(openat2),                   "openat2"             },<br> [BASE_NR + 438] = { 3,    TD,             SEN(pidfd_getfd),               "pidfd_getfd"         },<br> [BASE_NR + 439] = { 4,    TD|TF,          SEN(faccessat2),                "faccessat2"          },<br> [BASE_NR + 440] = { 5,    TD,             SEN(process_madvise),           "process_madvise"     },<br>diff --git a/src/linux/hppa/syscallent.h b/src/linux/hppa/syscallent.h<br>index a7dd57ce9..a8b3db888 100644<br>--- a/src/linux/hppa/syscallent.h<br>+++ b/src/linux/hppa/syscallent.h<br>@@ -8,10 +8,10 @@<br> [  2] = { 0, TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -278,7 +278,7 @@<br> [272] = { 4, TM,             SEN(migrate_pages),             "migrate_pages"               },<br> [273] = { 6,      TD,             SEN(pselect6_time32),           "pselect6"            },<br> [274] = { 5,      TD,             SEN(ppoll_time32),              "ppoll"                       },<br>-[275] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[275] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [276] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [277] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [278] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -329,7 +329,7 @@<br> [323] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [324] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [325] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[326] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[326] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [327] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [328] = { 2,      TD,             SEN(setns),                     "setns"                       },<br> [329] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/i386/syscallent.h b/src/linux/i386/syscallent.h<br>index 3553a0575..68ee77892 100644<br>--- a/src/linux/i386/syscallent.h<br>+++ b/src/linux/i386/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,       TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -301,7 +301,7 @@<br> [292] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [293] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [294] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[295] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[295] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [296] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [297] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [298] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -348,7 +348,7 @@<br> [339] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [340] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [341] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[342] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[342] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [343] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [344] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [345] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/ia64/syscallent.h b/src/linux/ia64/syscallent.h<br>index b47c1cce1..ecd805777 100644<br>--- a/src/linux/ia64/syscallent.h<br>+++ b/src/linux/ia64/syscallent.h<br>@@ -24,9 +24,9 @@<br> [BASE_NR +   1] = { 1,       TP|SE,          SEN(exit),                      "exit"                        },<br> [BASE_NR +   2] = { 3,   TD,             SEN(read),                      "read"                        },<br> [BASE_NR +   3] = { 3,   TD,             SEN(write),                     "write"                       },<br>-[BASE_NR +   4] = { 3,    TD|TF,          SEN(open),                      "open"                        },<br>+[BASE_NR +   4] = { 3,    TD|TF|TO,               SEN(open),                      "open"                        },<br> [BASE_NR +   5] = { 1,   TD,             SEN(close),                     "close"                       },<br>-[BASE_NR +   6] = { 2,    TD|TF,          SEN(creat),                     "creat"                       },<br>+[BASE_NR +   6] = { 2,    TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [BASE_NR +   7] = { 2,   TF,             SEN(link),                      "link"                        },<br> [BASE_NR +   8] = { 1,   TF,             SEN(unlink),                    "unlink"              },<br> [BASE_NR +   9] = { 3,   CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -277,7 +277,7 @@<br> [BASE_NR + 254] = { 3,       TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [BASE_NR + 255] = { 2,    TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [BASE_NR + 256] = { 4,    TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[BASE_NR + 257] = { 4,     TD|TF,          SEN(openat),                    "openat"              },<br>+[BASE_NR + 257] = { 4,     TD|TF|TO,               SEN(openat),                    "openat"              },<br> [BASE_NR + 258] = { 3,    TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [BASE_NR + 259] = { 4,    TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [BASE_NR + 260] = { 5,    TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -323,7 +323,7 @@<br> [BASE_NR + 300] = { 5,       TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [BASE_NR + 301] = { 4,    0,              SEN(prlimit64),                 "prlimit64"           },<br> [BASE_NR + 302] = { 5,    TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[BASE_NR + 303] = { 3,     TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[BASE_NR + 303] = { 3,     TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [BASE_NR + 304] = { 2,    TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [BASE_NR + 305] = { 1,    TD,             SEN(syncfs),                    "syncfs"              },<br> [BASE_NR + 306] = { 2,    TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/m68k/syscallent.h b/src/linux/m68k/syscallent.h<br>index 3abd77b0c..ffd9605a4 100644<br>--- a/src/linux/m68k/syscallent.h<br>+++ b/src/linux/m68k/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,       TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -294,7 +294,7 @@<br> [285] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [286] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [287] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[288] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[288] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [289] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [290] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [291] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -347,7 +347,7 @@<br> [338] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [339] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [340] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[341] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[341] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [342] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [343] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [344] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/microblaze/syscallent.h b/src/linux/microblaze/syscallent.h<br>index 15ca048ca..9722f9f37 100644<br>--- a/src/linux/microblaze/syscallent.h<br>+++ b/src/linux/microblaze/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,       TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -301,7 +301,7 @@<br> [292] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [293] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [294] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[295] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[295] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [296] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [297] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [298] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -378,7 +378,7 @@<br> [369] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [370] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [371] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[372] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[372] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [373] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [374] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [375] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/mips/syscallent-n32.h b/src/linux/mips/syscallent-n32.h<br>index a3e2f1de3..70bb125b1 100644<br>--- a/src/linux/mips/syscallent-n32.h<br>+++ b/src/linux/mips/syscallent-n32.h<br>@@ -10,7 +10,7 @@<br> /* For an N32 strace decode the N32 64-bit syscalls. */<br> [BASE_NR +   0] = { 3,    TD,             SEN(read),                      "read"                        }, /* start of Linux N32 */<br> [BASE_NR +   1] = { 3,  TD,             SEN(write),                     "write"                       },<br>-[BASE_NR +   2] = { 3,    TD|TF,          SEN(open),                      "open"                        },<br>+[BASE_NR +   2] = { 3,    TD|TF|TO,               SEN(open),                      "open"                        },<br> [BASE_NR +   3] = { 1,   TD,             SEN(close),                     "close"                       },<br> [BASE_NR +   4] = { 2,   TF|TST|TSTA,    SEN(stat64),                    "stat"                        },<br> [BASE_NR +   5] = { 2,   TD|TFST|TSTA,   SEN(fstat64),                   "fstat"                       },<br>@@ -91,7 +91,7 @@<br> [BASE_NR +  80] = { 2,        TF,             SEN(rename),                    "rename"              },<br> [BASE_NR +  81] = { 2,   TF,             SEN(mkdir),                     "mkdir"                       },<br> [BASE_NR +  82] = { 1,   TF,             SEN(rmdir),                     "rmdir"                       },<br>-[BASE_NR +  83] = { 2,    TD|TF,          SEN(creat),                     "creat"                       },<br>+[BASE_NR +  83] = { 2,    TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [BASE_NR +  84] = { 2,   TF,             SEN(link),                      "link"                        },<br> [BASE_NR +  85] = { 1,   TF,             SEN(unlink),                    "unlink"              },<br> [BASE_NR +  86] = { 2,   TF,             SEN(symlink),                   "symlink"             },<br>@@ -259,7 +259,7 @@<br> [BASE_NR + 248] = { 3,       TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [BASE_NR + 249] = { 2,    TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [BASE_NR + 250] = { 4,    TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[BASE_NR + 251] = { 4,     TD|TF,          SEN(openat),                    "openat"              },<br>+[BASE_NR + 251] = { 4,     TD|TF|TO,               SEN(openat),                    "openat"              },<br> [BASE_NR + 252] = { 3,    TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [BASE_NR + 253] = { 4,    TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [BASE_NR + 254] = { 5,    TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -312,7 +312,7 @@<br> [BASE_NR + 301] = { 5,       TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [BASE_NR + 302] = { 4,    0,              SEN(prlimit64),                 "prlimit64"           },<br> [BASE_NR + 303] = { 5,    TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[BASE_NR + 304] = { 3,     TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[BASE_NR + 304] = { 3,     TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [BASE_NR + 305] = { 2,    TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [BASE_NR + 306] = { 1,    TD,             SEN(syncfs),                    "syncfs"              },<br> [BASE_NR + 307] = { 4,    TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/mips/syscallent-n64.h b/src/linux/mips/syscallent-n64.h<br>index 0eb9a4d57..271d85200 100644<br>--- a/src/linux/mips/syscallent-n64.h<br>+++ b/src/linux/mips/syscallent-n64.h<br>@@ -10,7 +10,7 @@<br> /* For an N64 strace decode the N64 64-bit syscalls. */<br> [BASE_NR +   0] = { 3,    TD,             SEN(read),                      "read"                        }, /* start of Linux N64 */<br> [BASE_NR +   1] = { 3,  TD,             SEN(write),                     "write"                       },<br>-[BASE_NR +   2] = { 3,    TD|TF,          SEN(open),                      "open"                        },<br>+[BASE_NR +   2] = { 3,    TD|TF|TO,               SEN(open),                      "open"                        },<br> [BASE_NR +   3] = { 1,   TD,             SEN(close),                     "close"                       },<br> [BASE_NR +   4] = { 2,   TF|TST|TSTA,    SEN(stat),                      "stat"                        },<br> [BASE_NR +   5] = { 2,   TD|TFST|TSTA,   SEN(fstat),                     "fstat"                       },<br>@@ -91,7 +91,7 @@<br> [BASE_NR +  80] = { 2,        TF,             SEN(rename),                    "rename"              },<br> [BASE_NR +  81] = { 2,   TF,             SEN(mkdir),                     "mkdir"                       },<br> [BASE_NR +  82] = { 1,   TF,             SEN(rmdir),                     "rmdir"                       },<br>-[BASE_NR +  83] = { 2,    TD|TF,          SEN(creat),                     "creat"                       },<br>+[BASE_NR +  83] = { 2,    TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [BASE_NR +  84] = { 2,   TF,             SEN(link),                      "link"                        },<br> [BASE_NR +  85] = { 1,   TF,             SEN(unlink),                    "unlink"              },<br> [BASE_NR +  86] = { 2,   TF,             SEN(symlink),                   "symlink"             },<br>@@ -255,7 +255,7 @@<br> [BASE_NR + 244] = { 3,       TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [BASE_NR + 245] = { 2,    TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [BASE_NR + 246] = { 4,    TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[BASE_NR + 247] = { 4,     TD|TF,          SEN(openat),                    "openat"              },<br>+[BASE_NR + 247] = { 4,     TD|TF|TO,               SEN(openat),                    "openat"              },<br> [BASE_NR + 248] = { 3,    TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [BASE_NR + 249] = { 4,    TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [BASE_NR + 250] = { 5,    TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -307,7 +307,7 @@<br> [BASE_NR + 296] = { 5,       TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [BASE_NR + 297] = { 4,    0,              SEN(prlimit64),                 "prlimit64"           },<br> [BASE_NR + 298] = { 5,    TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[BASE_NR + 299] = { 3,     TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[BASE_NR + 299] = { 3,     TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [BASE_NR + 300] = { 2,    TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [BASE_NR + 301] = { 1,    TD,             SEN(syncfs),                    "syncfs"              },<br> [BASE_NR + 302] = { 4,    TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/mips/syscallent-o32.h b/src/linux/mips/syscallent-o32.h<br>index 61eb35dfe..b92a02bc4 100644<br>--- a/src/linux/mips/syscallent-o32.h<br>+++ b/src/linux/mips/syscallent-o32.h<br>@@ -14,10 +14,10 @@<br> [BASE_NR +   2] = { 0,     TP,             SEN(fork),                      "fork"                        },<br> [BASE_NR +   3] = { 3,   TD,             SEN(read),                      "read"                        },<br> [BASE_NR +   4] = { 3,   TD,             SEN(write),                     "write"                       },<br>-[BASE_NR +   5] = { 3,    TD|TF,          SEN(open),                      "open"                        },<br>+[BASE_NR +   5] = { 3,    TD|TF|TO,               SEN(open),                      "open"                        },<br> [BASE_NR +   6] = { 1,   TD,             SEN(close),                     "close"                       },<br> [BASE_NR +   7] = { 3,   TP,             SEN(waitpid),                   "waitpid"             },<br>-[BASE_NR +   8] = { 2,    TD|TF,          SEN(creat),                     "creat"                       },<br>+[BASE_NR +   8] = { 2,    TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [BASE_NR +   9] = { 2,   TF,             SEN(link),                      "link"                        },<br> [BASE_NR +  10] = { 1,   TF,             SEN(unlink),                    "unlink"              },<br> [BASE_NR +  11] = { 3,   CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -297,7 +297,7 @@<br> [BASE_NR + 285] = { 3,       TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [BASE_NR + 286] = { 2,    TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [BASE_NR + 287] = { 4,    TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[BASE_NR + 288] = { 4,     TD|TF,          SEN(openat),                    "openat"              },<br>+[BASE_NR + 288] = { 4,     TD|TF|TO,               SEN(openat),                    "openat"              },<br> [BASE_NR + 289] = { 3,    TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [BASE_NR + 290] = { 4,    TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [BASE_NR + 291] = { 5,    TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -349,7 +349,7 @@<br> [BASE_NR + 337] = { 6,       TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [BASE_NR + 338] = { 4,    0,              SEN(prlimit64),                 "prlimit64"           },<br> [BASE_NR + 339] = { 5,    TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[BASE_NR + 340] = { 3,     TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[BASE_NR + 340] = { 3,     TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [BASE_NR + 341] = { 2,    TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [BASE_NR + 342] = { 1,    TD,             SEN(syncfs),                    "syncfs"              },<br> [BASE_NR + 343] = { 4,    TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/powerpc/syscallent.h b/src/linux/powerpc/syscallent.h<br>index 34b78cfb2..1d4400a1d 100644<br>--- a/src/linux/powerpc/syscallent.h<br>+++ b/src/linux/powerpc/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,   TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -293,7 +293,7 @@<br> [283] = { 6, TD,             SEN(splice),                    "splice"              },<br> [284] = { 4,      TD,             SEN(tee),                       "tee"                 },<br> [285] = { 4,      TD,             SEN(vmsplice),                  "vmsplice"            },<br>-[286] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[286] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [287] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [288] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [289] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -353,7 +353,7 @@<br> [343] = { 5, TN,             SEN(recvmmsg_time32),           "recvmmsg"            },<br> [344] = { 4,      TN,             SEN(accept4),                   "accept4"             },<br> [345] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[346] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[346] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [347] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [348] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [349] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/powerpc64/syscallent.h b/src/linux/powerpc64/syscallent.h<br>index 0a4f7a8b5..51d9c86d5 100644<br>--- a/src/linux/powerpc64/syscallent.h<br>+++ b/src/linux/powerpc64/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,   TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -293,7 +293,7 @@<br> [283] = { 6, TD,             SEN(splice),                    "splice"              },<br> [284] = { 4,      TD,             SEN(tee),                       "tee"                 },<br> [285] = { 4,      TD,             SEN(vmsplice),                  "vmsplice"            },<br>-[286] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[286] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [287] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [288] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [289] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -353,7 +353,7 @@<br> [343] = { 5, TN,             SEN(recvmmsg_time64),           "recvmmsg"            },<br> [344] = { 4,      TN,             SEN(accept4),                   "accept4"             },<br> [345] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[346] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[346] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [347] = { 2,      TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [348] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [349] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/s390/syscallent.h b/src/linux/s390/syscallent.h<br>index a808c7b5b..cd83b85fa 100644<br>--- a/src/linux/s390/syscallent.h<br>+++ b/src/linux/s390/syscallent.h<br>@@ -14,10 +14,10 @@<br> [  2] = { 0,       TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 0,     0,              SEN(restart_syscall),           "restart_syscall"     },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -297,7 +297,7 @@<br> [285] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [286] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [287] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[288] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[288] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [289] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [290] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [291] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -345,7 +345,7 @@<br> [333] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [334] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [335] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[336] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[336] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [337] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [338] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [339] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/s390x/syscallent.h b/src/linux/s390x/syscallent.h<br>index 90bf993b7..df589569a 100644<br>--- a/src/linux/s390x/syscallent.h<br>+++ b/src/linux/s390x/syscallent.h<br>@@ -13,10 +13,10 @@<br> [  2] = { 0,   TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 0,     0,              SEN(restart_syscall),           "restart_syscall"     },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -281,7 +281,7 @@<br> [285] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [286] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [287] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[288] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[288] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [289] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [290] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [291] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -329,7 +329,7 @@<br> [333] = { 5, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [334] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [335] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[336] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[336] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [337] = { 2,      TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [338] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [339] = { 2,      TD,             SEN(setns),                     "setns"                       },<br>diff --git a/src/linux/sh/syscallent.h b/src/linux/sh/syscallent.h<br>index c238f0400..f959b7b72 100644<br>--- a/src/linux/sh/syscallent.h<br>+++ b/src/linux/sh/syscallent.h<br>@@ -14,10 +14,10 @@<br> [  2] = { 0,       TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -301,7 +301,7 @@<br> [292] = { 2, TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [293] = { },<br> [294] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[295] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[295] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [296] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [297] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [298] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -366,7 +366,7 @@<br> [357] = { 5, TN,             SEN(recvmmsg_time32),           "recvmmsg"            },<br> [358] = { 4,      TN,             SEN(accept4),                   "accept4"             },<br> [359] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[360] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[360] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [361] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [362] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [363] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/sh64/syscallent.h b/src/linux/sh64/syscallent.h<br>index f33504235..8a04cfdde 100644<br>--- a/src/linux/sh64/syscallent.h<br>+++ b/src/linux/sh64/syscallent.h<br>@@ -12,10 +12,10 @@<br> [  2] = { 0,       TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 3,     TP,             SEN(waitpid),                   "waitpid"             },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 3,      CC|TF|TP|TSD|SE|SI,     SEN(execve),                    "execve"              },<br>@@ -327,7 +327,7 @@<br> [320] = { 2, TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [321] = { },<br> [322] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[323] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[323] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [324] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [325] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [326] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -375,7 +375,7 @@<br> [368] = { 5, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [369] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [370] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[371] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[371] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [372] = { 2,      TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [373] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [374] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/sparc/syscallent.h b/src/linux/sparc/syscallent.h<br>index ba2b1b0f1..5ec3c17d7 100644<br>--- a/src/linux/sparc/syscallent.h<br>+++ b/src/linux/sparc/syscallent.h<br>@@ -10,10 +10,10 @@<br> [  2] = { 0,   TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 4,     TP,             SEN(wait4),                     "wait4"                       },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 2,      CC|TF|TP|TSD|SE|SI,     SEN(execv),                     "execv"                       },<br>@@ -289,7 +289,7 @@<br> [281] = { 5, 0,              SEN(add_key),                   "add_key"             },<br> [282] = { 4,      0,              SEN(request_key),               "request_key"         },<br> [283] = { 5,      0,              SEN(keyctl),                    "keyctl"              },<br>-[284] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[284] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [285] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [286] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [287] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -338,7 +338,7 @@<br> [330] = { 6, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [331] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [332] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[333] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[333] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [334] = { 2,      TCL,            SEN(clock_adjtime32),           "clock_adjtime"               },<br> [335] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [336] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/sparc64/syscallent.h b/src/linux/sparc64/syscallent.h<br>index 940d36635..ca3ee4863 100644<br>--- a/src/linux/sparc64/syscallent.h<br>+++ b/src/linux/sparc64/syscallent.h<br>@@ -10,10 +10,10 @@<br> [  2] = { 0,   TP,             SEN(fork),                      "fork"                        },<br> [  3] = { 3,     TD,             SEN(read),                      "read"                        },<br> [  4] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  5] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  5] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  6] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  7] = { 4,     TP,             SEN(wait4),                     "wait4"                       },<br>-[  8] = { 2,      TD|TF,          SEN(creat),                     "creat"                       },<br>+[  8] = { 2,      TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [  9] = { 2,     TF,             SEN(link),                      "link"                        },<br> [ 10] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 11] = { 2,      CC|TF|TP|TSD|SE|SI,     SEN(execv),                     "execv"                       },<br>@@ -289,7 +289,7 @@<br> [281] = { 5, 0,              SEN(add_key),                   "add_key"             },<br> [282] = { 4,      0,              SEN(request_key),               "request_key"         },<br> [283] = { 5,      0,              SEN(keyctl),                    "keyctl"              },<br>-[284] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[284] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [285] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [286] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [287] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -338,7 +338,7 @@<br> [330] = { 5, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [331] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [332] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[333] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[333] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [334] = { 2,      TCL,            SEN(clock_sparc64_adjtime),     "clock_adjtime"               },<br> [335] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [336] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/x32/syscallent.h b/src/linux/x32/syscallent.h<br>index d9a773fa3..a07b4af54 100644<br>--- a/src/linux/x32/syscallent.h<br>+++ b/src/linux/x32/syscallent.h<br>@@ -7,7 +7,7 @@<br> <br> [  0] = { 3,   TD,             SEN(read),                      "read"                        },<br> [  1] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  2] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  2] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  3] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  4] = { 2,     TF|TST|TSTA,    SEN(stat),                      "stat"                        },<br> [  5] = { 2,     TD|TFST|TSTA,   SEN(fstat),                     "fstat"                       },<br>@@ -90,7 +90,7 @@<br> [ 82] = { 2,   TF,             SEN(rename),                    "rename"              },<br> [ 83] = { 2,      TF,             SEN(mkdir),                     "mkdir"                       },<br> [ 84] = { 1,      TF,             SEN(rmdir),                     "rmdir"                       },<br>-[ 85] = { 2,       TD|TF,          SEN(creat),                     "creat"                       },<br>+[ 85] = { 2,       TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [ 86] = { 2,      TF,             SEN(link),                      "link"                        },<br> [ 87] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 88] = { 2,      TF,             SEN(symlink),                   "symlink"             },<br>@@ -262,7 +262,7 @@<br> [254] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [255] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [256] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[257] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[257] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [258] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [259] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [260] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -309,7 +309,7 @@<br> [301] = { 5, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [302] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [303] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[304] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[304] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [305] = { 2,      TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [306] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [307] = { 4,      TN,             SEN(printargs),                 "sendmmsg#64"         },<br>diff --git a/src/linux/x86_64/syscallent.h b/src/linux/x86_64/syscallent.h<br>index 9fd1e3f22..56eae3627 100644<br>--- a/src/linux/x86_64/syscallent.h<br>+++ b/src/linux/x86_64/syscallent.h<br>@@ -7,7 +7,7 @@<br> <br> [  0] = { 3,       TD,             SEN(read),                      "read"                        },<br> [  1] = { 3,     TD,             SEN(write),                     "write"                       },<br>-[  2] = { 3,      TD|TF,          SEN(open),                      "open"                        },<br>+[  2] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  3] = { 1,     TD,             SEN(close),                     "close"                       },<br> [  4] = { 2,     TF|TST|TSTA,    SEN(stat),                      "stat"                        },<br> [  5] = { 2,     TD|TFST|TSTA,   SEN(fstat),                     "fstat"                       },<br>@@ -90,7 +90,7 @@<br> [ 82] = { 2,   TF,             SEN(rename),                    "rename"              },<br> [ 83] = { 2,      TF,             SEN(mkdir),                     "mkdir"                       },<br> [ 84] = { 1,      TF,             SEN(rmdir),                     "rmdir"                       },<br>-[ 85] = { 2,       TD|TF,          SEN(creat),                     "creat"                       },<br>+[ 85] = { 2,       TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [ 86] = { 2,      TF,             SEN(link),                      "link"                        },<br> [ 87] = { 1,      TF,             SEN(unlink),                    "unlink"              },<br> [ 88] = { 2,      TF,             SEN(symlink),                   "symlink"             },<br>@@ -262,7 +262,7 @@<br> [254] = { 3, TD|TF,          SEN(inotify_add_watch),         "inotify_add_watch"   },<br> [255] = { 2,      TD,             SEN(inotify_rm_watch),          "inotify_rm_watch"    },<br> [256] = { 4,      TM,             SEN(migrate_pages),             "migrate_pages"               },<br>-[257] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[257] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [258] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [259] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [260] = { 5,      TD|TF,          SEN(fchownat),                  "fchownat"            },<br>@@ -309,7 +309,7 @@<br> [301] = { 5, TD|TF,          SEN(fanotify_mark),             "fanotify_mark"               },<br> [302] = { 4,      0,              SEN(prlimit64),                 "prlimit64"           },<br> [303] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[304] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[304] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [305] = { 2,      TCL,            SEN(clock_adjtime64),           "clock_adjtime"               },<br> [306] = { 1,      TD,             SEN(syncfs),                    "syncfs"              },<br> [307] = { 4,      TN,             SEN(sendmmsg),                  "sendmmsg"            },<br>diff --git a/src/linux/xtensa/syscallent.h b/src/linux/xtensa/syscallent.h<br>index 09fed329c..d1502f763 100644<br>--- a/src/linux/xtensa/syscallent.h<br>+++ b/src/linux/xtensa/syscallent.h<br>@@ -8,7 +8,7 @@<br> [  0] = { 0,   0,              SEN(printargs),                 "spill"                       },<br> [  1] = { 0,     0,              SEN(printargs),                 "xtensa"              },<br> [  2 ... 7] = { },<br>-[  8] = { 3,       TD|TF,          SEN(open),                      "open"                        },<br>+[  8] = { 3,      TD|TF|TO,               SEN(open),                      "open"                        },<br> [  9] = { 1,     TD,             SEN(close),                     "close"                       },<br> [ 10] = { 1,      TD,             SEN(dup),                       "dup"                 },<br> [ 11] = { 2,      TD,             SEN(dup2),                      "dup2"                        },<br>@@ -21,7 +21,7 @@<br> [ 18] = { 4,   TD,             SEN(epoll_wait),                "epoll_wait"          },<br> [ 19] = { 4,      TD,             SEN(epoll_ctl),                 "epoll_ctl"           },<br> [ 20] = { 1,      TD,             SEN(epoll_create),              "epoll_create"                },<br>-[ 21] = { 2,       TD|TF,          SEN(creat),                     "creat"                       },<br>+[ 21] = { 2,       TD|TF|TO,               SEN(creat),                     "creat"                       },<br> [ 22] = { 2,      TF,             SEN(truncate),                  "truncate"            },<br> [ 23] = { 2,      TD,             SEN(ftruncate),                 "ftruncate"           },<br> [ 24] = { 3,      TD,             SEN(readv),                     "readv"                       },<br>@@ -284,7 +284,7 @@<br> [284] = { 2, 0,              SEN(set_robust_list),           "set_robust_list"     },<br> [285] = { 3,      0,              SEN(get_robust_list),           "get_robust_list"     },<br> [286 ... 287] = { },<br>-[288] = { 4,       TD|TF,          SEN(openat),                    "openat"              },<br>+[288] = { 4,       TD|TF|TO,               SEN(openat),                    "openat"              },<br> [289] = { 3,      TD|TF,          SEN(mkdirat),                   "mkdirat"             },<br> [290] = { 4,      TD|TF,          SEN(mknodat),                   "mknodat"             },<br> [291] = { 3,      TD|TF,          SEN(unlinkat),                  "unlinkat"            },<br>@@ -320,7 +320,7 @@<br> [322] = { 6, 0,              SEN(process_vm_readv),          "process_vm_readv"    },<br> [323] = { 6,      0,              SEN(process_vm_writev),         "process_vm_writev"   },<br> [324] = { 5,      TD|TF,          SEN(name_to_handle_at),         "name_to_handle_at"   },<br>-[325] = { 3,       TD,             SEN(open_by_handle_at),         "open_by_handle_at"   },<br>+[325] = { 3,       TD|TO,          SEN(open_by_handle_at),         "open_by_handle_at"   },<br> [326] = { 6,      TD,             SEN(sync_file_range2),          "sync_file_range2"    },<br> [327] = { 5,      TD,             SEN(perf_event_open),           "perf_event_open"     },<br> [328] = { 4,      TP|TS,          SEN(rt_tgsigqueueinfo),         "rt_tgsigqueueinfo"   },<br>diff --git a/src/strace.c b/src/strace.c<br>index 21b693d02..bf3be8e7d 100644<br>--- a/src/strace.c<br>+++ b/src/strace.c<br>@@ -328,7 +328,7 @@ Filtering:\n\<br>                  trace only specified syscalls.\n\<br>      groups:     %%clock, %%creds, %%desc, %%file, %%fstat, %%fstatfs %%ipc, %%lstat,\n\<br>                  %%memory, %%net, %%process, %%pure, %%signal, %%stat, %%%%stat,\n\<br>-                 %%statfs, %%%%statfs\n\<br>+                 %%statfs, %%%%statfs, %%open\n\<br>   -e signal=SET, --signal=SET\n\<br>                  trace only the specified set of signals\n\<br>                  print only the signals from SET\n\<br>diff --git a/src/sysent.h b/src/sysent.h<br>index a551db8d5..05e1fca4e 100644<br>--- a/src/sysent.h<br>+++ b/src/sysent.h<br>@@ -18,29 +18,30 @@ typedef struct sysent {<br>   const char *sys_name;<br> } struct_sysent;<br> <br>-# define TRACE_FILE                     000000001       /* Trace file-related syscalls. */<br>-# define TRACE_IPC                 000000002       /* Trace IPC-related syscalls. */<br>-# define TRACE_NETWORK                      000000004       /* Trace network-related syscalls. */<br>-# define TRACE_PROCESS                  000000010       /* Trace process-related syscalls. */<br>-# define TRACE_SIGNAL                   000000020       /* Trace signal-related syscalls. */<br>-# define TRACE_DESC                      000000040       /* Trace file descriptor-related syscalls. */<br>-# define TRACE_MEMORY                   000000100       /* Trace memory mapping-related syscalls. */<br>-# define SYSCALL_NEVER_FAILS             000000200       /* Syscall is always successful. */<br>-# define MEMORY_MAPPING_CHANGE            000000400       /* Trigger proc/maps cache updating */<br>-# define STACKTRACE_CAPTURE_ON_ENTER   000001000       /* Capture stacktrace on "entering" stage */<br>-# define TRACE_INDIRECT_SUBCALL                000002000       /* Syscall is an indirect socket/ipc subcall. */<br>-# define COMPAT_SYSCALL_TYPES                000004000       /* A compat syscall that uses compat types. */<br>-# define TRACE_STAT                    000010000       /* Trace {,*_}{,old}{,x}stat{,64} syscalls. */<br>-# define TRACE_LSTAT                   000020000       /* Trace *lstat* syscalls. */<br>-# define TRACE_STATFS                   000040000       /* Trace statfs, statfs64, and statvfs syscalls. */<br>-# define TRACE_FSTATFS                    000100000       /* Trace fstatfs, fstatfs64 and fstatvfs syscalls. */<br>-# define TRACE_STATFS_LIKE              000200000       /* Trace statfs-like, fstatfs-like and ustat syscalls. */<br>-# define TRACE_FSTAT                        000400000       /* Trace *fstat{,at}{,64} syscalls. */<br>-# define TRACE_STAT_LIKE               001000000       /* Trace *{,l,f}stat{,x,at}{,64} syscalls. */<br>-# define TRACE_PURE                     002000000       /* Trace getter syscalls with no arguments. */<br>-# define TRACE_SECCOMP_DEFAULT         004000000       /* Syscall is traced by seccomp filter by default. */<br>-# define TRACE_CREDS                    010000000       /* Trace process credentials-related syscalls. */<br>-# define TRACE_CLOCK                        020000000       /* Trace syscalls reading or modifying system clocks. */<br>-# define COMM_CHANGE                 040000000       /* Trigger /proc/$pid/comm cache update. */<br>+# define TRACE_FILE                       0000000001      /* Trace file-related syscalls. */<br>+# define TRACE_IPC                 0000000002      /* Trace IPC-related syscalls. */<br>+# define TRACE_NETWORK                      0000000004      /* Trace network-related syscalls. */<br>+# define TRACE_PROCESS                  0000000010      /* Trace process-related syscalls. */<br>+# define TRACE_SIGNAL                   0000000020      /* Trace signal-related syscalls. */<br>+# define TRACE_DESC                      0000000040      /* Trace file descriptor-related syscalls. */<br>+# define TRACE_MEMORY                   0000000100      /* Trace memory mapping-related syscalls. */<br>+# define SYSCALL_NEVER_FAILS             0000000200      /* Syscall is always successful. */<br>+# define MEMORY_MAPPING_CHANGE            0000000400      /* Trigger proc/maps cache updating */<br>+# define STACKTRACE_CAPTURE_ON_ENTER   0000001000      /* Capture stacktrace on "entering" stage */<br>+# define TRACE_INDIRECT_SUBCALL                0000002000      /* Syscall is an indirect socket/ipc subcall. */<br>+# define COMPAT_SYSCALL_TYPES                0000004000      /* A compat syscall that uses compat types. */<br>+# define TRACE_STAT                    0000010000      /* Trace {,*_}{,old}{,x}stat{,64} syscalls. */<br>+# define TRACE_LSTAT                   0000020000      /* Trace *lstat* syscalls. */<br>+# define TRACE_STATFS                   0000040000      /* Trace statfs, statfs64, and statvfs syscalls. */<br>+# define TRACE_FSTATFS                    0000100000      /* Trace fstatfs, fstatfs64 and fstatvfs syscalls. */<br>+# define TRACE_STATFS_LIKE              0000200000      /* Trace statfs-like, fstatfs-like and ustat syscalls. */<br>+# define TRACE_FSTAT                        0000400000      /* Trace *fstat{,at}{,64} syscalls. */<br>+# define TRACE_STAT_LIKE               0001000000      /* Trace *{,l,f}stat{,x,at}{,64} syscalls. */<br>+# define TRACE_PURE                     0002000000      /* Trace getter syscalls with no arguments. */<br>+# define TRACE_SECCOMP_DEFAULT         0004000000      /* Syscall is traced by seccomp filter by default. */<br>+# define TRACE_CREDS                    0010000000      /* Trace process credentials-related syscalls. */<br>+# define TRACE_CLOCK                        0020000000      /* Trace syscalls reading or modifying system clocks. */<br>+# define COMM_CHANGE                 0040000000      /* Trigger /proc/$pid/comm cache update. */<br>+# define TRACE_OPEN                       0100000000  /* Trace open, openat and creat syscalls */<br> <br> #endif /* !STRACE_SYSENT_H */<br>diff --git a/src/sysent_shorthand_defs.h b/src/sysent_shorthand_defs.h<br>index 4cf65342a..952b8f3f8 100644<br>--- a/src/sysent_shorthand_defs.h<br>+++ b/src/sysent_shorthand_defs.h<br>@@ -30,6 +30,7 @@<br> # define TSD       0<br> # define TC        0<br> # define TCL       0<br>+# define TO    0<br> # define CC     0<br> # define SEN(a)        0, 0<br> <br>@@ -59,6 +60,7 @@<br> # define TC      TRACE_CREDS<br> # define TCL     TRACE_CLOCK<br> # define CC      COMM_CHANGE<br>+# define TO TRACE_OPEN<br> /* SEN(a) is defined elsewhere */<br> <br> #endif<br>diff --git a/src/sysent_shorthand_undefs.h b/src/sysent_shorthand_undefs.h<br>index b5ce3c6b2..7729eb44b 100644<br>--- a/src/sysent_shorthand_undefs.h<br>+++ b/src/sysent_shorthand_undefs.h<br>@@ -29,4 +29,5 @@<br> #undef TC<br> #undef TCL<br> #undef CC<br>+#undef TO<br> #undef SEN<br>-- <br>2.34.1<br><br><br></div>