77 lines
2.9 KiB
Diff
77 lines
2.9 KiB
Diff
|
changeset: 26077:33348baecf37
|
||
|
user: Olaf Hering <olaf@aepfle.de>
|
||
|
date: Thu Oct 18 09:34:59 2012 +0100
|
||
|
files: stubdom/grub.patches/70compiler_warnings.diff
|
||
|
description:
|
||
|
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>
|
||
|
|
||
|
|
||
|
diff -r 8dcab28b8081 -r 33348baecf37 stubdom/grub.patches/70compiler_warnings.diff
|
||
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||
|
+++ b/stubdom/grub.patches/70compiler_warnings.diff Thu Oct 18 09:34:59 2012 +0100
|
||
|
@@ -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);
|