[U-Boot] [PATCH 1/2] m68k: fix an undefined behavior warning of M5253DEMO board

Tom Rini trini at ti.com
Tue Jul 22 21:24:42 CEST 2014


On Tue, Jul 22, 2014 at 10:57:18AM +0900, Masahiro Yamada wrote:

> The latest GCC is so clever that it reports more warnings
> than old ones did:
> 
>  ------------------------------>8------------------------------
> 
>   board/freescale/m5253demo/flash.c: In function 'flash_get_offsets':
>   board/freescale/m5253demo/flash.c:65:23: warning: iteration 2047u
>   invokes undefined behavior [-Waggressive-loop-optimizations]
>       info->start[k + 1] = info->start[k] + CONFIG_SYS_SST_SECTSZ;
>                          ^
>   board/freescale/m5253demo/flash.c:64:3: note: containing loop
>      for (k = 0, j = 0; j < CONFIG_SYS_SST_SECT; j++, k++) {
>      ^
> 
>  ------------------------------8<------------------------------
> 
> The cause of the warning is like this:
> 
> The for statement iterates 2048 times in flash_get_offsets() func.
> (Notice CONFIG_SYS_SST_SECT is defined as 2048)
> 
> The last iteration does
>   info->start[2048] = info->start[2047] + CONFIG_SYS_SST_SECTSZ;
> causing an undefined behavior.
> 
> (Please note the array size of info->start is 2048.
> CONFIG_SYS_MAX_FLASH_SECT is defined as 2048 for this board.)
> 
> This commit fixes that so as not to overrun the info->start array.
> 
> Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
> Cc: Jason Jin <Jason.jin at freescale.com>

Applied to u-boot/master, thanks!

-- 
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/20140722/84f4f2f0/attachment.pgp>


More information about the U-Boot mailing list