lkml.org 
[lkml]   [2022]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] tools: Rename __fallthrough to fallthrough
    Date
    Rename the fallthrough attribute to better align with the kernel
    version. Copy the definition from include/linux/compiler_attributes.h
    including the #else clause. Adding the #else clause allows the tools
    compiler.h header to drop the check for a definition entirely and keeps
    both definitions together.

    Change any __fallthrough statements to fallthrough anywhere it was used
    within perf.

    This allows other tools to use the same key word as the kernel.

    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Miguel Ojeda <ojeda@kernel.org>
    Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Tom Rix <trix@redhat.com>
    Signed-off-by: Liam Howlett <Liam.Howlett@oracle.com>
    ---
    tools/include/linux/compiler-gcc.h | 6 ++++--
    tools/include/linux/compiler.h | 4 ----
    tools/perf/builtin-probe.c | 2 +-
    tools/perf/builtin-stat.c | 2 +-
    tools/perf/builtin-top.c | 2 +-
    tools/perf/util/callchain.c | 4 ++--
    tools/perf/util/intel-pt-decoder/intel-pt-decoder.c | 6 +++---
    tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c | 2 +-
    tools/perf/util/ordered-events.c | 2 +-
    tools/perf/util/strfilter.c | 2 +-
    tools/perf/util/string.c | 2 +-
    11 files changed, 16 insertions(+), 18 deletions(-)

    diff --git a/tools/include/linux/compiler-gcc.h b/tools/include/linux/compiler-gcc.h
    index 8816f06fc6c7..62e7c901ac28 100644
    --- a/tools/include/linux/compiler-gcc.h
    +++ b/tools/include/linux/compiler-gcc.h
    @@ -12,8 +12,10 @@
    + __GNUC_PATCHLEVEL__)
    #endif

    -#if GCC_VERSION >= 70000 && !defined(__CHECKER__)
    -# define __fallthrough __attribute__ ((fallthrough))
    +#if __has_attribute(__fallthrough__)
    +# define fallthrough __attribute__((__fallthrough__))
    +#else
    +# define fallthrough do {} while (0) /* fallthrough */
    #endif

    #if __has_attribute(__error__)
    diff --git a/tools/include/linux/compiler.h b/tools/include/linux/compiler.h
    index 90ba44a99199..9d36c8ce1fe7 100644
    --- a/tools/include/linux/compiler.h
    +++ b/tools/include/linux/compiler.h
    @@ -186,10 +186,6 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
    })


    -#ifndef __fallthrough
    -# define __fallthrough
    -#endif
    -
    /* Indirect macros required for expanded argument pasting, eg. __LINE__. */
    #define ___PASTE(a, b) a##b
    #define __PASTE(a, b) ___PASTE(a, b)
    diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
    index f62298f5db3b..8539843d1909 100644
    --- a/tools/perf/builtin-probe.c
    +++ b/tools/perf/builtin-probe.c
    @@ -706,7 +706,7 @@ __cmd_probe(int argc, const char **argv)
    pr_err(" Error: --bootconfig doesn't support uprobes.\n");
    return -EINVAL;
    }
    - __fallthrough;
    + fallthrough;
    case 'a':

    /* Ensure the last given target is used */
    diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
    index 265b05157972..19b0278d496c 100644
    --- a/tools/perf/builtin-stat.c
    +++ b/tools/perf/builtin-stat.c
    @@ -616,7 +616,7 @@ static void process_evlist(struct evlist *evlist, unsigned int interval)
    if (evlist__ctlfd_process(evlist, &cmd) > 0) {
    switch (cmd) {
    case EVLIST_CTL_CMD_ENABLE:
    - __fallthrough;
    + fallthrough;
    case EVLIST_CTL_CMD_DISABLE:
    if (interval)
    process_interval();
    diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
    index 4b3ff7687236..cfe1cde35528 100644
    --- a/tools/perf/builtin-top.c
    +++ b/tools/perf/builtin-top.c
    @@ -707,7 +707,7 @@ static void *display_thread(void *arg)
    case -1:
    if (errno == EINTR)
    continue;
    - __fallthrough;
    + fallthrough;
    default:
    c = getc(stdin);
    tcsetattr(0, TCSAFLUSH, &save);
    diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
    index a093a15f048f..588f86a84eaa 100644
    --- a/tools/perf/util/callchain.c
    +++ b/tools/perf/util/callchain.c
    @@ -724,7 +724,7 @@ static enum match_result match_chain(struct callchain_cursor_node *node,
    if (match != MATCH_ERROR)
    break;
    /* otherwise fall-back to symbol-based comparison below */
    - __fallthrough;
    + fallthrough;
    case CCKEY_FUNCTION:
    if (node->ms.sym && cnode->ms.sym) {
    /*
    @@ -745,7 +745,7 @@ static enum match_result match_chain(struct callchain_cursor_node *node,
    }
    }
    /* otherwise fall-back to IP-based comparison below */
    - __fallthrough;
    + fallthrough;
    case CCKEY_ADDRESS:
    default:
    match = match_chain_dso_addresses(cnode->ms.map, cnode->ip, node->ms.map, node->ip);
    diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
    index 0ac860c8dd2b..57dea8074777 100644
    --- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
    +++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
    @@ -3544,7 +3544,7 @@ static int intel_pt_walk_psb(struct intel_pt_decoder *decoder)
    switch (decoder->packet.type) {
    case INTEL_PT_TIP_PGD:
    decoder->continuous_period = false;
    - __fallthrough;
    + fallthrough;
    case INTEL_PT_TIP_PGE:
    case INTEL_PT_TIP:
    case INTEL_PT_PTWRITE:
    @@ -3614,7 +3614,7 @@ static int intel_pt_walk_psb(struct intel_pt_decoder *decoder)
    decoder->pge = false;
    decoder->continuous_period = false;
    intel_pt_clear_tx_flags(decoder);
    - __fallthrough;
    + fallthrough;

    case INTEL_PT_TNT:
    decoder->have_tma = false;
    @@ -3978,7 +3978,7 @@ const struct intel_pt_state *intel_pt_decode(struct intel_pt_decoder *decoder)
    decoder->have_last_ip = false;
    decoder->last_ip = 0;
    decoder->ip = 0;
    - __fallthrough;
    + fallthrough;
    case INTEL_PT_STATE_ERR_RESYNC:
    err = intel_pt_sync_ip(decoder);
    break;
    diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c
    index 18f97f43e01a..af9710622a1f 100644
    --- a/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c
    +++ b/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c
    @@ -730,7 +730,7 @@ int intel_pt_pkt_desc(const struct intel_pt_pkt *packet, char *buf,
    case INTEL_PT_FUP:
    if (!(packet->count))
    return snprintf(buf, buf_len, "%s no ip", name);
    - __fallthrough;
    + fallthrough;
    case INTEL_PT_CYC:
    case INTEL_PT_VMCS:
    case INTEL_PT_MTC:
    diff --git a/tools/perf/util/ordered-events.c b/tools/perf/util/ordered-events.c
    index b887dfeea673..8c62611f10aa 100644
    --- a/tools/perf/util/ordered-events.c
    +++ b/tools/perf/util/ordered-events.c
    @@ -284,7 +284,7 @@ static int __ordered_events__flush(struct ordered_events *oe, enum oe_flush how,
    switch (how) {
    case OE_FLUSH__FINAL:
    show_progress = true;
    - __fallthrough;
    + fallthrough;
    case OE_FLUSH__TOP:
    oe->next_flush = ULLONG_MAX;
    break;
    diff --git a/tools/perf/util/strfilter.c b/tools/perf/util/strfilter.c
    index 78aa4c3b990d..02807b9d4122 100644
    --- a/tools/perf/util/strfilter.c
    +++ b/tools/perf/util/strfilter.c
    @@ -274,7 +274,7 @@ static int strfilter_node__sprint(struct strfilter_node *node, char *buf)
    len = strfilter_node__sprint_pt(node->l, buf);
    if (len < 0)
    return len;
    - __fallthrough;
    + fallthrough;
    case '!':
    if (buf) {
    *(buf + len++) = *node->p;
    diff --git a/tools/perf/util/string.c b/tools/perf/util/string.c
    index 4f12a96f33cc..cf05b0b56c57 100644
    --- a/tools/perf/util/string.c
    +++ b/tools/perf/util/string.c
    @@ -35,7 +35,7 @@ s64 perf_atoll(const char *str)
    if (*p)
    goto out_err;

    - __fallthrough;
    + fallthrough;
    case '\0':
    return length;
    default:
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-11-25 16:51    [W:7.139 / U:0.172 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site