• Arnaldo Carvalho de Melo's avatar
    tools headers API: Update faccessat2 affected files · 6c3c184f
    Arnaldo Carvalho de Melo authored
    Update the copies of files affected by:
    
      c8ffd8bc ("vfs: add faccessat2 syscall")
    
    To address this perf build warning:
    
      Warning: Kernel ABI header at 'tools/include/uapi/linux/fcntl.h' differs from latest version at 'include/uapi/linux/fcntl.h'
      diff -u tools/include/uapi/linux/fcntl.h include/uapi/linux/fcntl.h
      Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/unistd.h' differs from latest version at 'include/uapi/asm-generic/unistd.h'
      diff -u tools/include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.h
      Warning: Kernel ABI header at 'tools/perf/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl'
      diff -u tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl
    
    Which results in 'perf trace' gaining support for the 'faccessat2'
    syscall, now one can use:
    
      # perf trace -e faccessat2
    
    And have system wide tracing of this syscall. And this also will include
    it;
    
      # perf trace -e faccess*
    
    Together with the other variants.
    
    How it affects building/usage (on an x86_64 system):
    
      $ cp /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c /tmp/syscalls_64.c.before
      $
      [root@five ~]# perf trace -e faccessat2
      event syntax error: 'faccessat2'
                           \___ parser error
      Run 'perf list' for a list of valid events
    
       Usage: perf trace [<options>] [<command>]
          or: perf trace [<options>] -- <command> [<options>]
          or: perf trace record [<options>] [<command>]
          or: perf trace record [<options>] -- <command> [<options>]
    
          -e, --event <event>   event/syscall selector. use 'perf list' to list available events
      [root@five ~]#
      $ cp arch/x86/entry/syscalls/syscall_64.tbl tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
      $ git diff
      diff --git a/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl b/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
      index 37b844f839bc..78847b32e137 100644
      --- a/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
      +++ b/tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
      @@ -359,6 +359,7 @@
       435    common  clone3                  sys_clone3
       437    common  openat2                 sys_openat2
       438    common  pidfd_getfd             sys_pidfd_getfd
      +439    common  faccessat2              sys_faccessat2
    
       #
       # x32-specific system call numbers start at 512 to avoid cache impact
      $
    
      $ make -C tools/perf O=/tmp/build/perf/ install-bin
      <SNIP>
      CC       /tmp/build/perf/util/syscalltbl.o
      LD       /tmp/build/perf/util/perf-in.o
      LD       /tmp/build/perf/perf-in.o
      LINK     /tmp/build/perf/perf
      <SNIP>
      [root@five ~]# perf trace -e faccessat2
      ^C[root@five ~]#
    
    Cc: Miklos Szeredi <mszeredi@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    6c3c184f
syscall_64.tbl 13.8 KB