perf trace: Remove union from syscalltbl, all the fields are needed
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 28 May 2020 20:12:16 +0000 (17:12 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 29 May 2020 19:50:26 +0000 (16:50 -0300)
commitdb6b8cc8912a8c7688429b711292e7a923556776
tree03a8c57d1eaee52af0acbb76288891f7398e527c
parent43de3869b5164c85f536297c24d0e7eba8e75120
perf trace: Remove union from syscalltbl, all the fields are needed

When we moved to a syscalltbl generated from the kernel syscall tables
(arch/..../syscall*.tbl) the idea was to either use it, when having the
generator (e.g. tools/perf/arch/x86/entry/syscalls/syscalltbl.sh), or
falling back to the previous audit-libs based way of mapping syscall ids
to strings and the other way around.

At first we just needed the audit_detect_machine() return to then use it
to the str->id/id->str, or the other fields for the now used by default
in the most well developed arches method of using the syscall table
generator.

The problem is that then the libaudit code fell into disrepair, and
architectures where it is the method used are not working.

Now, with NO_SYSCALL_TABLE=1 being possible to pass on the make command
line we can automate the testing of that method even on x86-64, arm64,
etc.

And doing it I noted that we actually use fields in both entries in the
union, oops, so ditch the union, as we need all those fields at the same
time.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/syscalltbl.h