lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 515/601] perf beauty: Fix fsconfig generator
    Date
    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


    \
     
     \ /
      Last update: 2021-05-12 20:01    [W:4.327 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site