[oe] [PATCH][meta-networking] spice: fix compile error on 32bit system

Khem Raj raj.khem at gmail.com
Thu Sep 13 07:23:09 UTC 2018


On Thu, Sep 13, 2018 at 12:00 AM Changqing Li
<changqing.li at windriver.com> wrote:
>
>
>
> On 09/13/2018 01:58 PM, Khem Raj wrote:
>
> On Wed, Sep 12, 2018 at 10:38 PM <changqing.li at windriver.com> wrote:
>
> From: Changqing Li <changqing.li at windriver.com>
>
> Fix below compile error on 32bit system,  since input argument
> is uLong, but use format %d:
> format '%d' expects argument of type 'int', but argument 6 has type
> 'long unsigned int' [-Werror=format=]
>
> Signed-off-by: Changqing Li <changqing.li at windriver.com>
> ---
>  .../0001-spice-fix-compile-fail-problem.patch      | 36 ++++++++++++++++++++++
>  meta-networking/recipes-support/spice/spice_git.bb |  1 +
>  2 files changed, 37 insertions(+)
>  create mode 100644 meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch
>
> diff --git a/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch b/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch
> new file mode 100644
> index 0000000..1f9d5fd
> --- /dev/null
> +++ b/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch
> @@ -0,0 +1,36 @@
> +From 7023732c65b4dc509c46a54fb7715da275b5597f Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li at windriver.com>
> +Date: Thu, 13 Sep 2018 12:39:44 +0800
> +Subject: [PATCH] spice: fix compile fail problem
> +
> +compile error:
> +format '%d' expects argument of type 'int', but argument 6 has
> +type 'long unsigned int' [-Werror=format=]
> +
> +spice compile failed on 32bit system, since upstream commit
> +9541cd2fe(in V0.14.1) change %ld to %PRIdPTR, %PRIdPTR is %d, but argument
> +strm.total_out is uLong.
> +
> +Upstream-Status: Submitted[https://github.com/freedesktop/spice/pull/1]
> +
> +Signed-off-by: Changqing Li <changqing.li at windriver.com>
> +---
> + server/red-replay-qxl.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
> +index 1fce76c..bd33b58 100644
> +--- a/server/red-replay-qxl.c
> ++++ b/server/red-replay-qxl.c
> +@@ -266,7 +266,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz
> +             exit(1);
> +         }
> +         if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) {
> +-            spice_error("inflate error %d (disc: %" PRIdPTR ")", ret, *size - strm.total_out);
> ++            spice_error("inflate error %d (disc: %ld)", ret, *size - strm.total_out);
>
> these values seem to be size_t types so please use PRIuPTR instead of PRIdPTR
>
>
> the format %ld is for "*size - strm.total_out",   and strm.total_out is defined in zlib.h, is uLong.
> if use PRIuPTR(%u), we will still met compile error:
> format '%u' expects argument of type 'unsigned int', but argument 6 has type 'long unsigned int' [-Werror=format=]

hmmm yes if its uLong then this might be fine.

>
> Besides,  "*size - strm.total_out" ,   size is unsigned int,  and strm.total_out is uLong,  but I think here we should use %ld,
>  and need to convert unsigned to signed, to get the diff of these two value,  maybe unsigned in meaningless to read the reported error.
>
> spice_error("inflate error %d (disc: %ld)", ret, (long int)(*size - strm.total_out));
>
> How do you think?
>
> //Sandy
>
> +             if (ret == Z_DATA_ERROR) {
> +                 /* last operation may be wrong. since we do the recording
> +                  * in red_worker, when there is a shutdown from the vcpu/io thread
> +--
> +2.7.4
> +
> diff --git a/meta-networking/recipes-support/spice/spice_git.bb b/meta-networking/recipes-support/spice/spice_git.bb
> index 871bb0f..c7e4b03 100644
> --- a/meta-networking/recipes-support/spice/spice_git.bb
> +++ b/meta-networking/recipes-support/spice/spice_git.bb
> @@ -24,6 +24,7 @@ SRC_URI = " \
>      git://anongit.freedesktop.org/spice/spice;name=spice \
>      git://anongit.freedesktop.org/spice/spice-common;destsuffix=git/subprojects/spice-common;name=spice-common \
>      file://0001-Convert-pthread_t-to-be-numeric.patch \
> +    file://0001-spice-fix-compile-fail-problem.patch \
>  "
>
>  FOO = "\
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
>
> --
> BRs
>
> Sandy(Li Changqing)
> Wind River Linux



More information about the Openembedded-devel mailing list