[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