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
> 
> 
>