From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Sat, 28 Mar 2015 12:02:35 -0400 Subject: [U-Boot] common: Fix source command on 64-bit architectures In-Reply-To: <1426852422-16630-1-git-send-email-thierry.reding@gmail.com> References: <1426852422-16630-1-git-send-email-thierry.reding@gmail.com> Message-ID: <20150328160235.GA14699@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, Mar 20, 2015 at 12:53:42PM +0100, Thierry Reding wrote: > From: Thierry Reding > > The source command uses an unsigned long to iterate over the 32-bit > lengths array contained in the legacy image format. On architectures > where unsigned long is 64-bit this fails to find the correct entry > point of a script. > > Cc: Tom Rini > Signed-off-by: Thierry Reding > --- > common/cmd_source.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/common/cmd_source.c b/common/cmd_source.c > index 6881bc9ddd33..5f550a525430 100644 > --- a/common/cmd_source.c > +++ b/common/cmd_source.c > @@ -32,7 +32,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) > @@ -73,7 +73,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"); On PowerPC this causes: powerpc: + T1042RDB_PI +(T1042RDB_PI) data = (ulong *)fit_data; +(T1042RDB_PI) ^ w+(T1042RDB_PI) ../common/cmd_source.c: In function 'source': w+(T1042RDB_PI) ../common/cmd_source.c:130:8: warning: assignment from incompatible pointer type [enabled by default] (and of course a number of similar boards). -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: