[U-Boot] Bug in TOP860 code with gcc 4.8.1

Reinhard Meyer reinhard.meyer at emk-elektronik.de
Tue Jan 14 12:33:43 CET 2014


Dear Wolfgang,
> Dear Reinhard,
>
> attempting to build the TOP860 code with a GCC 4.8.1 based tool chain
> (say ELDK v5.5 or Yocto 1.5) gives the following errors:
>
> -> ./MAKEALL TOP860
> Configuring for TOP860 board...
>     text    data     bss     dec     hex filename
>   165471   21020   17316  203807   31c1f ./u-boot
> ../common/flash.c: In function 'flash_init':
> ../common/flash.c:336:20: warning: iteration 128u invokes undefined behavior [-Waggressive-loop-optimizations]
>       info->start[i] = (ulong)addr + 0x10000 * i;
>                      ^
> ../common/flash.c:334:4: note: containing loop
>      for (i = 0; i < info->sector_count; i++)
>      ^
> ...
>
> Can you please provide a fix - or is this old hardware and the code
> should be removed from the U-Boot tree?
1. on first and second glance I cannot see where this (simple!!) loop 
might "invoke undefined behaviour". Seems like a compiler/optimizer bug 
to me...

2. should not the same issue arise with TOP5200 (using the same flash.c) ??

3. nevertheless TOP860 can be removed.

Best Regards,
Reinhard


More information about the U-Boot mailing list