
From: Andreas Bießmann biessmann@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 biessmann@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;