diff options
Diffstat (limited to 'recipes-support')
-rw-r--r-- | recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch | 59 | ||||
-rw-r--r-- | recipes-support/spice/spice_git.bb | 1 |
2 files changed, 60 insertions, 0 deletions
diff --git a/recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch b/recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch new file mode 100644 index 00000000..7fcafdc7 --- /dev/null +++ b/recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch @@ -0,0 +1,59 @@ +From 9f001b6818ac4baa1df010ccf4200ca56bfb11b2 Mon Sep 17 00:00:00 2001 +From: Mark Asselstine <mark.asselstine@windriver.com> +Date: Wed, 23 Aug 2017 13:47:29 -0400 +Subject: [PATCH] Fix build issues with gcc 7 + +gcc 7 checks for when a switch statement doesn't break between +cases. When a break is not found you will see + +| ../../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: { +| ^~~~ + +The 'fallthrough' comment will let gcc know this is done on purpose. + +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> +--- + server/inputs_channel.c | 1 + + server/reds.c | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/server/inputs_channel.c b/server/inputs_channel.c +index 931dac1..534ab66 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/reds.c b/server/reds.c +index 30d0652..8c80eb6 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) { +-- +2.7.4 + diff --git a/recipes-support/spice/spice_git.bb b/recipes-support/spice/spice_git.bb index cfb75d77..04e7a25d 100644 --- a/recipes-support/spice/spice_git.bb +++ b/recipes-support/spice/spice_git.bb @@ -37,6 +37,7 @@ SRC_URI += " \ file://build-allow-separated-src-and-build-dirs.patch \ file://0001-red_parse_qxl-Fix-BITMAP_FMT_IS_RGB-defined-but-not-.patch \ file://0001-Use-PRI-macros-in-printf-to-keep-compatibility-betwe.patch \ + file://Fix-build-issues-with-gcc-7.patch \ " S = "${WORKDIR}/git" |