aboutsummaryrefslogtreecommitdiffstats
path: root/stubdom
diff options
context:
space:
mode:
authorOlaf Hering <olaf@aepfle.de>2012-10-18 09:34:59 +0100
committerOlaf Hering <olaf@aepfle.de>2012-10-18 09:34:59 +0100
commit87a05a45860d93455e4cf5672c2b8566c090fb44 (patch)
tree55999298510fb6fde8cadeda933d261b47391f0c /stubdom
parent2f65b96e850e6ef1154d304cc3fe9efba84222e1 (diff)
downloadxen-87a05a45860d93455e4cf5672c2b8566c090fb44.tar.gz
xen-87a05a45860d93455e4cf5672c2b8566c090fb44.tar.bz2
xen-87a05a45860d93455e4cf5672c2b8566c090fb44.zip
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 <olaf@aepfle.de> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'stubdom')
-rw-r--r--stubdom/grub.patches/70compiler_warnings.diff45
1 files changed, 45 insertions, 0 deletions
diff --git a/stubdom/grub.patches/70compiler_warnings.diff b/stubdom/grub.patches/70compiler_warnings.diff
new file mode 100644
index 0000000000..15181fcfaa
--- /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);