Dear Simon Glass, On 15.08.12 02:15, Simon Glass wrote: > Hi, > > On Tue, Aug 14, 2012 at 1:50 AM, Andreas Bießmann > <andreas.de...@googlemail.com> wrote: >> Dear all, >> >> On 13.08.2012 11:02, Andreas Bießmann wrote: >>> From: Andreas Bießmann <biessm...@corscience.de> >>> >>> The avr32 architecture (and some others) require manual relocation. Due to >>> the >>> previous error all avr32 boards gave warnings in MAKEALL wich makes it hard >>> to >>> find new warnings. >>> >>> This patch fixes following warning: >>> ---8<--- >>> dlmalloc.c: In function 'malloc_bin_reloc': >>> dlmalloc.c:1493: warning: dereferencing pointer 'p' does break >>> strict-aliasing rules >>> dlmalloc.c:1493: warning: dereferencing pointer 'p' does break >>> strict-aliasing rules >>> dlmalloc.c:1490: note: initialized from here >>> dlmalloc.c:1493: note: initialized from here >>> --->8--- >>> >>> Signed-off-by: Andreas Bießmann <biessm...@corscience.de> >>> --- >>> A question to all the other related arches, namely m68k, mips, nds32 and >>> sparc: Do you encounter the same warnings or is this warning due to my >>> outdated compiler (4.4.3 currently, unfortunately atmel do not bother to >>> send >>> their patches mainline)? >>> >>> common/dlmalloc.c | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/common/dlmalloc.c b/common/dlmalloc.c >>> index c645d73..78b1885 100644 >>> --- a/common/dlmalloc.c >>> +++ b/common/dlmalloc.c >>> @@ -1485,9 +1485,10 @@ static mbinptr av_[NAV * 2 + 2] = { >>> }; >>> >>> #ifdef CONFIG_NEEDS_MANUAL_RELOC >>> +typedef unsigned long __attribute__((__may_alias__)) ulong_aliased; >>> void malloc_bin_reloc (void) >>> { >>> - unsigned long *p = (unsigned long *)(&av_[2]); >>> + ulong_aliased *p = (ulong_aliased *)(&av_[2]); >>> int i; >>> for (i=2; i<(sizeof(av_)/sizeof(mbinptr)); ++i) { >>> *p++ += gd->reloc_off; >>> >> >> this seems to be related to >> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/121848/focus=121849 >> can you Wolfgang and/or Simon please comment. > > My only comment is that I created that patch due to errors I saw at > the time, and still see with the toolchain I use for avr32.
So you also want to remove this annoying warning. Sorry that I didn't test your patch from January earlier, but it is broken at runtime. I would really like to remove the alias warning in 2012.10. My patch is straight forward, maybe there are better solutions. However I would like to see tested by from other affected arches (m68k, mips, nds32 and sparc). Best regards Andreas Bießmann _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot