From: Gong Qianyu Date: Thu, 30 Jul 2015 06:00:01 +0000 (+0800) Subject: common/cmd_source.c: Fix the source command failure under 64-bit platform X-Git-Tag: v2015.10-rc2~90 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=210fbee901b13d8e21568fc3e00932f3e082c178;p=u-boot common/cmd_source.c: Fix the source command failure under 64-bit platform Modify the data pointer type from ulong* to u32*. For arm64 type "ulong" could be 64-bit. Then in line 89 of common/cmd_source.c: "while (*data++);" data will point to the next 64 bits each time. As the uImage file generated by mkimage tool keeps the same data format in either 32-bit or 64-bit platform, the difference would cause failure in 64-bit platform. Signed-off-by: Gong Qianyu --- diff --git a/common/cmd_source.c b/common/cmd_source.c index d2a881ddc7..db7ab7e5f4 100644 --- a/common/cmd_source.c +++ b/common/cmd_source.c @@ -33,7 +33,7 @@ source (ulong addr, const char *fit_uname) #if defined(CONFIG_IMAGE_FORMAT_LEGACY) const image_header_t *hdr; #endif - ulong *data; + u32 *data; int verify; void *buf; #if defined(CONFIG_FIT) @@ -74,7 +74,7 @@ source (ulong addr, const char *fit_uname) } /* get length of script */ - data = (ulong *)image_get_data (hdr); + data = (u32 *)image_get_data (hdr); if ((len = uimage_to_cpu (*data)) == 0) { puts ("Empty Script\n"); @@ -128,7 +128,7 @@ source (ulong addr, const char *fit_uname) return 1; } - data = (ulong *)fit_data; + data = (u32 *)fit_data; len = (ulong)fit_len; break; #endif