Re: [PATCH v4] perf tools: Add missing case value

From: Mathieu Poirier
Date: Thu Mar 21 2019 - 12:27:09 EST


On Thu, Mar 21, 2019 at 01:29:11AM +0000, Solomon Tan wrote:
> The following error was thrown when compiling `tools/perf` using OpenCSD
> v0.11.1. This patch fixes said error.
> ```
> CC util/intel-pt-decoder/intel-pt-log.o
> CC util/cs-etm-decoder/cs-etm-decoder.o
> util/cs-etm-decoder/cs-etm-decoder.c: In function
> âcs_etm_decoder__buffer_rangeâ:
> util/cs-etm-decoder/cs-etm-decoder.c:370:2: error: enumeration value âOCSD_INSTR_WFI_WFEâ not handled in switch [-Werror=switch-enum]
> switch (elem->last_i_type) {
> ^~~~~~
> CC util/intel-pt-decoder/intel-pt-decoder.o
> cc1: all warnings being treated as errors
> ```
>
> Because `OCSD_INSTR_WFI_WFE` case was added only in v0.11.0, the minimum
> required OpenCSD library version for this patch is no longer v0.10.0.
>
> Signed-off-by: Solomon Tan <solomonbstoner@xxxxxxxxxxxxx>
> ---
> tools/build/feature/test-libopencsd.c | 4 ++--
> tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 1 +
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/build/feature/test-libopencsd.c b/tools/build/feature/test-libopencsd.c
> index d68eb4fb40cc..2b0e02c38870 100644
> --- a/tools/build/feature/test-libopencsd.c
> +++ b/tools/build/feature/test-libopencsd.c
> @@ -4,9 +4,9 @@
> /*
> * Check OpenCSD library version is sufficient to provide required features
> */
> -#define OCSD_MIN_VER ((0 << 16) | (10 << 8) | (0))
> +#define OCSD_MIN_VER ((0 << 16) | (11 << 8) | (0))
> #if !defined(OCSD_VER_NUM) || (OCSD_VER_NUM < OCSD_MIN_VER)
> -#error "OpenCSD >= 0.10.0 is required"
> +#error "OpenCSD >= 0.11.0 is required"
> #endif
>
> int main(void)
> diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
> index ba4c623cd8de..39fe21e1cf93 100644
> --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
> +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
> @@ -387,6 +387,7 @@ cs_etm_decoder__buffer_range(struct cs_etm_decoder *decoder,
> break;
> case OCSD_INSTR_ISB:
> case OCSD_INSTR_DSB_DMB:
> + case OCSD_INSTR_WFI_WFE:
> case OCSD_INSTR_OTHER:
> default:
> packet->last_instr_taken_branch = false;
> --
> 2.19.1

On my side this patch is no different from V3, i.e it doesn't pass checkpatch
and it doesn't apply on my next tree.

Mathieu

>

pub RSA 2048/C88289A6 2018-05-09 solomonbstoner@xxxxxxxxxxxxx <solomonbstoner@xxxxxxxxxxxxx>
> sub RSA 2048/7C5E8D6D 2018-05-09
>