[syslinux:master] isohybrid: fix isohybrid.c compile

syslinux-bot for Frediano Ziglio frediano.ziglio at citrix.com
Mon Oct 22 12:51:16 PDT 2012


Commit-ID:  49bb31df33589a9bff1e7505acfe5ff7a37caf64
Gitweb:     http://www.syslinux.org/commit/49bb31df33589a9bff1e7505acfe5ff7a37caf64
Author:     Frediano Ziglio <frediano.ziglio at citrix.com>
AuthorDate: Fri, 31 Aug 2012 12:00:16 +0100
Committer:  Matt Fleming <matt.fleming at intel.com>
CommitDate: Wed, 10 Oct 2012 11:00:03 +0100

isohybrid: fix isohybrid.c compile

Make isohybrid.c compile on gcc 4.4 32 bit instead of producing the
following error,

	isohybrid.c: In function ‘lendian_64’:
	isohybrid.c:437: error: integer constant is too large for ‘long’ type

Cc: Matthew Garrett <mjg at redhat.com>
Cc: Michal Soltys <soltys at ziu.info>
Signed-off-by: Frediano Ziglio <frediano.ziglio at citrix.com>
Signed-off-by: Matt Fleming <matt.fleming at intel.com>

---
 utils/isohybrid.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/utils/isohybrid.c b/utils/isohybrid.c
index ac04bfd..97d43b8 100644
--- a/utils/isohybrid.c
+++ b/utils/isohybrid.c
@@ -434,10 +434,10 @@ lendian_64(const uint64_t s)
 	if (*(uint8_t *)&r)
 		return s;
 
-	r = (s & 0x00000000000000FF) << 56 | (s & 0xFF00000000000000) >> 56
-	     | (s & 0x000000000000FF00) << 40 | (s & 0x00FF000000000000) >> 40
-	     | (s & 0x0000000000FF0000) << 24 | (s & 0x0000FF0000000000) >> 24
-	     | (s & 0x00000000FF000000) << 8 | (s & 0x000000FF00000000) >> 8;
+       r = (s & 0x00000000000000FFull) << 56 | (s & 0xFF00000000000000ull) >> 56
+            | (s & 0x000000000000FF00ull) << 40 | (s & 0x00FF000000000000ull) >> 40
+            | (s & 0x0000000000FF0000ull) << 24 | (s & 0x0000FF0000000000ull) >> 24
+            | (s & 0x00000000FF000000ull) << 8 | (s & 0x000000FF00000000ull) >> 8;
 
 	return r;
 }
@@ -759,7 +759,7 @@ initialise_gpt(uint8_t *gpt, uint32_t current, uint32_t alternate, int primary)
 	reverse_uuid(disk_uuid);
     }
 
-    header->signature = lendian_64(0x5452415020494645);
+    header->signature = lendian_64(0x5452415020494645ull);
     header->revision = lendian_int(0x010000);
     header->headerSize = lendian_int(0x5c);
     header->currentLBA = lendian_64(current);


More information about the Syslinux-commits mailing list