[meta-virtualization] [PATCH] spice: Fix compile errors from gcc 7 with spice 0.12.4
Bruce Ashfield
bruce.ashfield at gmail.com
Thu Mar 8 13:15:54 PST 2018
Applied.
I had a reject when working with the patch, so double check that I
resolved things properly.
Bruce
On Fri, Mar 2, 2018 at 4:46 PM, Jason Wessel <jason.wessel at windriver.com> wrote:
> ../../git/server/red_parse_qxl.c:367:18: error: 'BITMAP_FMT_IS_RGB' defined but not used [-Werror=unused-const-variable=]
> static const int BITMAP_FMT_IS_RGB[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1};
> ^~~~~~~~~~~~~~~~~
> ../../git/server/inputs_channel.c: In function 'inputs_channel_handle_parsed':
> ../../git/server/inputs_channel.c:317:38: error: this statement may fall through [-Werror=implicit-fallthrough=]
> case SPICE_MSGC_INPUTS_KEY_DOWN: {
> ^
> ../../git/server/inputs_channel.c:324:5: note: here
> case SPICE_MSGC_INPUTS_KEY_UP: {
> ^~~~
> ../../git/server/reds.c: In function 'vdi_port_read_one_msg_from_device':
> ../../git/server/reds.c:797:31: error: this statement may fall through [-Werror=implicit-fallthrough=]
> state->read_state = VDI_PORT_READ_STATE_GET_BUFF;
> ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../../git/server/reds.c:798:9: note: here
> case VDI_PORT_READ_STATE_GET_BUFF: {
> ^~~~
> ../../git/server/reds.c:807:31: error: this statement may fall through [-Werror=implicit-fallthrough=]
> state->read_state = VDI_PORT_READ_STATE_READ_DATA;
> ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../../git/server/reds.c:809:9: note: here
> case VDI_PORT_READ_STATE_READ_DATA:
> ^~~~
>
> This patch just adds the fallthrough comments which are already
> checked in upstream along with the removal of the static variable
> which is not used.
>
> The newer versions of spice already have this fixed, so there is no
> need to further upstream this patch. It gets dropped in the future.
>
> Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
> ---
> ...ompile-problems-against-spice-0.12.4-with.patch | 88 ++++++++++++++++++++++
> recipes-support/spice/spice_git.bb | 1 +
> 2 files changed, 89 insertions(+)
> create mode 100644 recipes-support/spice/files/v0.12.4_0001-spice-Fix-compile-problems-against-spice-0.12.4-with.patch
>
> diff --git a/recipes-support/spice/files/v0.12.4_0001-spice-Fix-compile-problems-against-spice-0.12.4-with.patch b/recipes-support/spice/files/v0.12.4_0001-spice-Fix-compile-problems-against-spice-0.12.4-with.patch
> new file mode 100644
> index 0000000..cd5eb85
> --- /dev/null
> +++ b/recipes-support/spice/files/v0.12.4_0001-spice-Fix-compile-problems-against-spice-0.12.4-with.patch
> @@ -0,0 +1,88 @@
> +From 26ae6be2c1ac03e6ea017f58d0b126c9eebae5f9 Mon Sep 17 00:00:00 2001
> +From: Jason Wessel <jason.wessel at windriver.com>
> +Date: Fri, 2 Mar 2018 10:47:09 -0600
> +Subject: [PATCH] spice: Fix compile problems against spice 0.12.4 with gcc 7
> +
> +These errors are generated by gcc 7.
> +
> +../../git/server/red_parse_qxl.c:367:18: error: 'BITMAP_FMT_IS_RGB' defined but not used [-Werror=unused-const-variable=]
> + static const int BITMAP_FMT_IS_RGB[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1};
> + ^~~~~~~~~~~~~~~~~
> +../../git/server/inputs_channel.c: In function 'inputs_channel_handle_parsed':
> +../../git/server/inputs_channel.c:317:38: error: this statement may fall through [-Werror=implicit-fallthrough=]
> + case SPICE_MSGC_INPUTS_KEY_DOWN: {
> + ^
> +../../git/server/inputs_channel.c:324:5: note: here
> + case SPICE_MSGC_INPUTS_KEY_UP: {
> + ^~~~
> +../../git/server/reds.c: In function 'vdi_port_read_one_msg_from_device':
> +../../git/server/reds.c:797:31: error: this statement may fall through [-Werror=implicit-fallthrough=]
> + state->read_state = VDI_PORT_READ_STATE_GET_BUFF;
> + ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +../../git/server/reds.c:798:9: note: here
> + case VDI_PORT_READ_STATE_GET_BUFF: {
> + ^~~~
> +../../git/server/reds.c:807:31: error: this statement may fall through [-Werror=implicit-fallthrough=]
> + state->read_state = VDI_PORT_READ_STATE_READ_DATA;
> + ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +../../git/server/reds.c:809:9: note: here
> + case VDI_PORT_READ_STATE_READ_DATA:
> + ^~~~
> +
> +This patch just adds the fallthrough comments which are already
> +checked in upstream along with the removal of the static variable
> +which is not used.
> +---
> + server/inputs_channel.c | 1 +
> + server/red_parse_qxl.c | 4 ----
> + server/reds.c | 2 ++
> + spice-common | 2 +-
> + 4 files changed, 4 insertions(+), 5 deletions(-)
> +
> +diff --git a/server/inputs_channel.c b/server/inputs_channel.c
> +index 931dac1..d6805c4 100644
> +--- a/server/inputs_channel.c
> ++++ b/server/inputs_channel.c
> +@@ -321,6 +321,7 @@ static int inputs_channel_handle_parsed(RedChannelClient *rcc, uint32_t size, ui
> + activate_modifiers_watch();
> + }
> + }
> ++ /* fallthrough */
> + case SPICE_MSGC_INPUTS_KEY_UP: {
> + SpiceMsgcKeyDown *key_down = (SpiceMsgcKeyDown *)buf;
> + for (i = 0; i < 4; i++) {
> +diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
> +index 6c0b065..c361e6b 100644
> +--- a/server/red_parse_qxl.c
> ++++ b/server/red_parse_qxl.c
> +@@ -362,10 +362,6 @@ static int bitmap_consistent(SpiceBitmap *bitmap)
> + return TRUE;
> + }
> +
> +-// This is based on SPICE_BITMAP_FMT_*, copied from server/red_worker.c
> +-// to avoid a possible unoptimization from making it non static.
> +-static const int BITMAP_FMT_IS_RGB[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1};
> +-
> + static SpiceImage *red_get_image(RedMemSlotInfo *slots, int group_id,
> + QXLPHYSICAL addr, uint32_t flags, int is_mask)
> + {
> +diff --git a/server/reds.c b/server/reds.c
> +index 6f262b0..4246170 100644
> +--- a/server/reds.c
> ++++ b/server/reds.c
> +@@ -795,6 +795,7 @@ static SpiceCharDeviceMsgToClient *vdi_port_read_one_msg_from_device(SpiceCharDe
> + }
> + state->message_recive_len = state->vdi_chunk_header.size;
> + state->read_state = VDI_PORT_READ_STATE_GET_BUFF;
> ++ /* fallthrough */
> + case VDI_PORT_READ_STATE_GET_BUFF: {
> + if (!(state->current_read_buf = vdi_port_read_buf_get())) {
> + return NULL;
> +@@ -806,6 +807,7 @@ static SpiceCharDeviceMsgToClient *vdi_port_read_one_msg_from_device(SpiceCharDe
> + state->message_recive_len -= state->recive_len;
> + state->read_state = VDI_PORT_READ_STATE_READ_DATA;
> + }
> ++ /* fallthrough */
> + case VDI_PORT_READ_STATE_READ_DATA:
> + n = sif->read(vdagent, state->recive_pos, state->recive_len);
> + if (!n) {
> diff --git a/recipes-support/spice/spice_git.bb b/recipes-support/spice/spice_git.bb
> index 828087a..ac30de9 100644
> --- a/recipes-support/spice/spice_git.bb
> +++ b/recipes-support/spice/spice_git.bb
> @@ -35,6 +35,7 @@ SRC_URI += " \
> file://spice-fix-CVE-2013-4282.patch \
> file://configure.ac-add-subdir-objects-to-AM_INIT_AUTOMAKE.patch \
> file://build-allow-separated-src-and-build-dirs.patch \
> + file://v0.12.4_0001-spice-Fix-compile-problems-against-spice-0.12.4-with.patch \
> "
>
> S = "${WORKDIR}/git"
> --
> 2.7.4
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
--
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
More information about the meta-virtualization
mailing list