Re: [PATCH v2] perf: fix compilation failure on i386

From: Jiri Olsa
Date: Fri May 01 2020 - 06:28:25 EST


On Fri, May 01, 2020 at 04:25:37PM +0800, Cao jin wrote:
> Compilation on i386 complains as following:
>
> util/session.c: In function 'perf_session__process_compressed_event':
> util/session.c:91:11: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t {aka unsigned int}' [-Werror=format=]
> pr_debug("decomp (B): %ld to %ld\n", src_size, decomp_size);
> ^
>
> util/zstd.c: In function 'zstd_decompress_stream':
> util/zstd.c:102:11: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t {aka unsigned int}' [-Werror=format=]
> pr_err("failed to decompress (B): %ld -> %ld, dst_size %ld : %s\n",
> ^
>
> Fix them by pairing "%zd" to size_t.
>
> Also revert an unnecessary conversion: "(long)src_size" to plain "src_size"
> with conversion specifier "%zd".
>
> Signed-off-by: Cao jin <caoj.fnst@xxxxxxxxxxxxxx>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

> ---
> tools/perf/util/session.c | 2 +-
> tools/perf/util/zstd.c | 6 +++---
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 0b0bfe5bef17..50c2ffa388ad 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -88,7 +88,7 @@ static int perf_session__process_compressed_event(struct perf_session *session,
> session->decomp_last = decomp;
> }
>
> - pr_debug("decomp (B): %ld to %ld\n", src_size, decomp_size);
> + pr_debug("decomp (B): %zd to %zd\n", src_size, decomp_size);
>
> return 0;
> }
> diff --git a/tools/perf/util/zstd.c b/tools/perf/util/zstd.c
> index d2202392ffdb..877bfb79e4af 100644
> --- a/tools/perf/util/zstd.c
> +++ b/tools/perf/util/zstd.c
> @@ -74,8 +74,8 @@ size_t zstd_compress_stream_to_records(struct zstd_data *data, void *dst, size_t
> ret = ZSTD_compressStream(data->cstream, &output, &input);
> ZSTD_flushStream(data->cstream, &output);
> if (ZSTD_isError(ret)) {
> - pr_err("failed to compress %ld bytes: %s\n",
> - (long)src_size, ZSTD_getErrorName(ret));
> + pr_err("failed to compress %zd bytes: %s\n",
> + src_size, ZSTD_getErrorName(ret));
> memcpy(dst, src, src_size);
> return src_size;
> }
> @@ -99,7 +99,7 @@ size_t zstd_decompress_stream(struct zstd_data *data, void *src, size_t src_size
> while (input.pos < input.size) {
> ret = ZSTD_decompressStream(data->dstream, &output, &input);
> if (ZSTD_isError(ret)) {
> - pr_err("failed to decompress (B): %ld -> %ld, dst_size %ld : %s\n",
> + pr_err("failed to decompress (B): %zd -> %zd, dst_size %zd : %s\n",
> src_size, output.size, dst_size, ZSTD_getErrorName(ret));
> break;
> }
> --
> 2.21.0
>
>
>