[U-Boot] [PATCH] yaffs2: Fix GCC 4.6 compile warnings

Tom Rini trini at ti.com
Tue Oct 9 23:53:32 CEST 2012


On Tue, Oct 09, 2012 at 02:08:13PM -0500, Scott Wood wrote:
> On 10/09/2012 01:51:14 PM, Tom Rini wrote:
> >On Tue, Oct 09, 2012 at 01:09:22PM -0500, Scott Wood wrote:
> >> On 10/06/2012 11:59:17 AM, Albert ARIBAUD wrote:
> >> >Hi Anatolij,
> >> >
> >> >On Sat,  6 Oct 2012 11:31:03 +0200, Anatolij Gustschin
> ><agust at denx.de>
> >> >wrote:
> >> >
> >> >> Fix:
> >> >> yaffs_guts.c: In function 'yaffs_check_chunk_erased':
> >> >> yaffs_guts.c:324:6: warning: variable 'result' set but not used
> >> >> [-Wunused-but-set-variable]
> >> [snip]
> >> >Tested-by: Albert ARIBAUD <albert.u.boot at aribaud.net>
> >> >
> >> >This effectively makes VCMA9 and smdk2410 (the two boards which had
> >> >the yaffs warnings) build clean.
> >>
> >> It takes care of the warnings, but I still see this:
> >>
> >> Configuring for VCMA9 board...
> >> make: *** [u-boot] Error 139
> >
> >The linaro and ELDK 4.2, 5.2 toolchains build this fine.  I would
> >suggest grabbing one of those for ARM.
> 
> I'll give one of them a try, but is it expected that the compiler
> will be able to do 64/32 division without __udivdi3?  Shouldn't
> yaffs2 be using lldiv() or do_div()?

Based on a very short skim, yes, yaffs2 looks to be buggy here and for
example "end_block = mtd->size / mtd->erasesize - 1;" from
yaffs_uboot_glue.c should be using mtd->erase_shift and shifting.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121009/15b543c9/attachment.pgp>


More information about the U-Boot mailing list