| From d47286363fea79078449ddcbebd18c31bdda85c2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 14 Apr 2021 21:27:23 +0300 |
| Subject: perf beauty: Fix fsconfig generator |
| |
| From: Vitaly Chikunov <vt@altlinux.org> |
| |
| [ Upstream commit 2e1daee14e67fbf9b27280b974e2c680a22cabea ] |
| |
| After gnulib update sed stopped matching `[[:space:]]*+' as before, |
| causing the following compilation error: |
| |
| In file included from builtin-trace.c:719: |
| trace/beauty/generated/fsconfig_arrays.c:2:3: error: expected expression before ']' token |
| 2 | [] = "", |
| | ^ |
| trace/beauty/generated/fsconfig_arrays.c:2:3: error: array index in initializer not of integer type |
| trace/beauty/generated/fsconfig_arrays.c:2:3: note: (near initialization for 'fsconfig_cmds') |
| |
| Fix this by correcting the regular expression used in the generator. |
| Also, clean up the script by removing redundant egrep, xargs, and printf |
| invocations. |
| |
| Committer testing: |
| |
| Continues to work: |
| |
| $ cat tools/perf/trace/beauty/fsconfig.sh |
| #!/bin/sh |
| # SPDX-License-Identifier: LGPL-2.1 |
| |
| if [ $# -ne 1 ] ; then |
| linux_header_dir=tools/include/uapi/linux |
| else |
| linux_header_dir=$1 |
| fi |
| |
| linux_mount=${linux_header_dir}/mount.h |
| |
| printf "static const char *fsconfig_cmds[] = {\n" |
| ms='[[:space:]]*' |
| sed -nr "s/^${ms}FSCONFIG_([[:alnum:]_]+)${ms}=${ms}([[:digit:]]+)${ms},.*/\t[\2] = \"\1\",/p" \ |
| ${linux_mount} |
| printf "};\n" |
| $ tools/perf/trace/beauty/fsconfig.sh |
| static const char *fsconfig_cmds[] = { |
| [0] = "SET_FLAG", |
| [1] = "SET_STRING", |
| [2] = "SET_BINARY", |
| [3] = "SET_PATH", |
| [4] = "SET_PATH_EMPTY", |
| [5] = "SET_FD", |
| [6] = "CMD_CREATE", |
| [7] = "CMD_RECONFIGURE", |
| }; |
| $ |
| |
| Fixes: d35293004a5e4 ("perf beauty: Add generator for fsconfig's 'cmd' arg values") |
| Signed-off-by: Vitaly Chikunov <vt@altlinux.org> |
| Co-authored-by: Dmitry V. Levin <ldv@altlinux.org> |
| Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Link: http://lore.kernel.org/lkml/20210414182723.1670663-1-vt@altlinux.org |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/perf/trace/beauty/fsconfig.sh | 7 +++---- |
| 1 file changed, 3 insertions(+), 4 deletions(-) |
| |
| diff --git a/tools/perf/trace/beauty/fsconfig.sh b/tools/perf/trace/beauty/fsconfig.sh |
| index 83fb24df05c9..bc6ef7bb7a5f 100755 |
| --- a/tools/perf/trace/beauty/fsconfig.sh |
| +++ b/tools/perf/trace/beauty/fsconfig.sh |
| @@ -10,8 +10,7 @@ fi |
| linux_mount=${linux_header_dir}/mount.h |
| |
| printf "static const char *fsconfig_cmds[] = {\n" |
| -regex='^[[:space:]]*+FSCONFIG_([[:alnum:]_]+)[[:space:]]*=[[:space:]]*([[:digit:]]+)[[:space:]]*,[[:space:]]*.*' |
| -egrep $regex ${linux_mount} | \ |
| - sed -r "s/$regex/\2 \1/g" | \ |
| - xargs printf "\t[%s] = \"%s\",\n" |
| +ms='[[:space:]]*' |
| +sed -nr "s/^${ms}FSCONFIG_([[:alnum:]_]+)${ms}=${ms}([[:digit:]]+)${ms},.*/\t[\2] = \"\1\",/p" \ |
| + ${linux_mount} |
| printf "};\n" |
| -- |
| 2.30.2 |
| |