mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-08-21 16:31:14 +02:00

It was using the first variation on producing a string representation for a binary flag, one that used the system's stat.h and preprocessor tricks that had to be updated everytime a new flag was introduced. Use the more recent scrape script + strarray + strarray__scnprintf_flags() combo. $ tools/perf/trace/beauty/statx_mask.sh static const char *statx_mask[] = { [ilog2(0x00000001) + 1] = "TYPE", [ilog2(0x00000002) + 1] = "MODE", [ilog2(0x00000004) + 1] = "NLINK", [ilog2(0x00000008) + 1] = "UID", [ilog2(0x00000010) + 1] = "GID", [ilog2(0x00000020) + 1] = "ATIME", [ilog2(0x00000040) + 1] = "MTIME", [ilog2(0x00000080) + 1] = "CTIME", [ilog2(0x00000100) + 1] = "INO", [ilog2(0x00000200) + 1] = "SIZE", [ilog2(0x00000400) + 1] = "BLOCKS", [ilog2(0x00000800) + 1] = "BTIME", [ilog2(0x00001000) + 1] = "MNT_ID", [ilog2(0x00002000) + 1] = "DIOALIGN", [ilog2(0x00004000) + 1] = "MNT_ID_UNIQUE", }; $ Now we need a copy of uapi/linux/stat.h from tools/include/ in the scrape only directory tools/perf/trace/beauty/include. Reviewed-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/lkml/20240320193115.811899-3-acme@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
24 lines
808 B
Bash
Executable File
24 lines
808 B
Bash
Executable File
#!/bin/sh
|
|
# SPDX-License-Identifier: LGPL-2.1
|
|
|
|
if [ $# -ne 1 ] ; then
|
|
beauty_uapi_linux_dir=tools/perf/trace/beauty/include/uapi/linux/
|
|
else
|
|
beauty_uapi_linux_dir=$1
|
|
fi
|
|
|
|
linux_stat=${beauty_uapi_linux_dir}/stat.h
|
|
|
|
printf "static const char *statx_mask[] = {\n"
|
|
regex='^[[:space:]]*#[[:space:]]*define[[:space:]]+STATX_([^_]+[[:alnum:]_]+)[[:space:]]+(0x[[:xdigit:]]+)[[:space:]]*.*'
|
|
# STATX_BASIC_STATS its a bitmask formed by the mask in the normal stat struct
|
|
# STATX_ALL is another bitmask and deprecated
|
|
# STATX_ATTR_*: Attributes to be found in stx_attributes and masked in stx_attributes_mask
|
|
grep -E $regex ${linux_stat} | \
|
|
grep -v STATX_ALL | \
|
|
grep -v STATX_BASIC_STATS | \
|
|
grep -v '\<STATX_ATTR_' | \
|
|
sed -r "s/$regex/\2 \1/g" | \
|
|
xargs printf "\t[ilog2(%s) + 1] = \"%s\",\n"
|
|
printf "};\n"
|