From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: [PATCH] stubdom: fix compile errors in grub Date: Wed, 10 Oct 2012 16:40:53 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org # HG changeset patch # User Olaf Hering # Date 1349880048 -7200 # Node ID a74e22faa1c90a38345be8fdf333101c07166671 # Parent 384714804b9b2a9742cc45dffaa43b749b85513b stubdom: fix compile errors in grub Building xen.rpm in SLES11 started to fail due to these compiler warnings: [ 1436s] ../grub-upstream/netboot/fsys_tftp.c:213: warning: operation on 'block' may be undefined [ 1437s] ../grub-upstream/netboot/main.c:444: warning: operation on 'block' may be undefined [ 1234s] E: xen sequence-point ../grub-upstream/netboot/fsys_tftp.c:213 [ 1234s] E: xen sequence-point ../grub-upstream/netboot/main.c:444 The reason for this is that the assignment is done twice: tp.u.ack.block = ((uint16_t)( (((uint16_t)((block = prevblock)) & (uint16_t)0x00ffU) << 8) | (((uint16_t)((block = prevblock)) & (uint16_t)0xff00U) >> 8))); Fix this package build error by adding another patch for grub, which moves the assignment out of the macro usage. Signed-off-by: Olaf Hering diff -r 384714804b9b -r a74e22faa1c9 stubdom/grub.patches/70compiler_warnings.diff --- /dev/null +++ b/stubdom/grub.patches/70compiler_warnings.diff @@ -0,0 +1,45 @@ +[ 1436s] ../grub-upstream/netboot/fsys_tftp.c:213: warning: operation on 'block' may be undefined +[ 1437s] ../grub-upstream/netboot/main.c:444: warning: operation on 'block' may be undefined + +[ 1234s] E: xen sequence-point ../grub-upstream/netboot/fsys_tftp.c:213 +[ 1234s] E: xen sequence-point ../grub-upstream/netboot/main.c:444 + +--- + netboot/fsys_tftp.c | 5 ++++- + netboot/main.c | 5 ++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +Index: grub-0.97/netboot/fsys_tftp.c +=================================================================== +--- grub-0.97.orig/netboot/fsys_tftp.c ++++ grub-0.97/netboot/fsys_tftp.c +@@ -209,8 +209,11 @@ buf_fill (int abort) + break; + + if ((block || bcounter) && (block != prevblock + (unsigned short) 1)) ++ { ++ block = prevblock; + /* Block order should be continuous */ +- tp.u.ack.block = htons (block = prevblock); ++ tp.u.ack.block = htons (block); ++ } + + /* Should be continuous. */ + tp.opcode = abort ? htons (TFTP_ERROR) : htons (TFTP_ACK); +Index: grub-0.97/netboot/main.c +=================================================================== +--- grub-0.97.orig/netboot/main.c ++++ grub-0.97/netboot/main.c +@@ -440,8 +440,11 @@ tftp (const char *name, int (*fnc) (unsi + break; + + if ((block || bcounter) && (block != prevblock + 1)) ++ { ++ block = prevblock; + /* Block order should be continuous */ +- tp.u.ack.block = htons (block = prevblock); ++ tp.u.ack.block = htons (block); ++ } + + /* Should be continuous. */ + tp.opcode = htons (TFTP_ACK);