• Vitaly Chikunov's avatar
    perf beauty: Fix fsconfig generator · 2e1daee1
    Vitaly Chikunov authored
    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: d3529300 ("perf beauty: Add generator for fsconfig's 'cmd' arg values")
    Signed-off-by: default avatarVitaly Chikunov <vt@altlinux.org>
    Co-authored-by: default avatarDmitry V. Levin <ldv@altlinux.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Link: http://lore.kernel.org/lkml/20210414182723.1670663-1-vt@altlinux.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    2e1daee1
fsconfig.sh 379 Bytes