Re: [PATCH v2] perf: fix compilation failure on i386
From: Cao jin
Date: Fri May 08 2020 - 01:55:18 EST
BTW, this is reported by kernel test robot <lkp@xxxxxxxxx>, so please help to add:
Reported-by: kernel test robot <lkp@xxxxxxxxx>
when it got merged.
--
Sincerely,
Cao jin
On 5/1/20 4:25 PM, 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>
> ---
> 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;
> }
>