| Submitter | Andreas Bießmann |
|---|---|
| Date | Sept. 4, 2012, 9:31 p.m. |
| Message ID | <1346794267-10709-1-git-send-email-andreas.devel@googlemail.com> |
| Download | mbox | patch |
| Permalink | /patch/181686/ |
| State | Accepted |
| Commit | 93691842e8dc86e6b2cb148c7c60a168654bbc34 |
| Delegated to: | Andreas Bießmann |
| Headers | show |
Comments
Dear Andreas Bießmann, On 04.09.2012 23:31, andreas.devel@googlemail.com wrote: > From: Simon Glass <sjg@chromium.org> > > This fixes the following warnings in dlmalloc seen with my gcc 4.6. > > 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 > > This version is tested on avr32 arch boards. > > Signed-off-by: Simon Glass <sjg@chromium.org> > Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> > --- > since v1: > * use size_t for array counter instead of int > * increment the pinter for next iteration damn, this is in fact a [PATCH v2]. It is a successor of http://patchwork.ozlabs.org/patch/134597/ Best regards Andreas Bießmann
Dear all, On 04.09.2012 23:31, andreas.devel@googlemail.com wrote: > From: Simon Glass <sjg@chromium.org> > > This fixes the following warnings in dlmalloc seen with my gcc 4.6. > > 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 > > This version is tested on avr32 arch boards. > > Signed-off-by: Simon Glass <sjg@chromium.org> > Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> > --- if no one complains I will apply this through u-boot-avr32 next weekend. Best regards Andreas Bießmann
Dear Andreas Bießmann, On 04.09.2012 23:31, andreas.devel@googlemail.com wrote: > From: Simon Glass <sjg@chromium.org> > > This fixes the following warnings in dlmalloc seen with my gcc 4.6. > > 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 > > This version is tested on avr32 arch boards. > > Signed-off-by: Simon Glass <sjg@chromium.org> > Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> > --- > since v1: > * use size_t for array counter instead of int > * increment the pinter for next iteration applied to u-boot-avr32/master, thanks! Best regards Andreas Bießmann
Patch
diff --git a/common/dlmalloc.c b/common/dlmalloc.c index c645d73..1d7e527 100644 --- a/common/dlmalloc.c +++ b/common/dlmalloc.c @@ -1487,11 +1487,11 @@ static mbinptr av_[NAV * 2 + 2] = { #ifdef CONFIG_NEEDS_MANUAL_RELOC void malloc_bin_reloc (void) { - unsigned long *p = (unsigned long *)(&av_[2]); - int i; - for (i=2; i<(sizeof(av_)/sizeof(mbinptr)); ++i) { - *p++ += gd->reloc_off; - } + mbinptr *p = &av_[2]; + size_t i; + + for (i = 2; i < ARRAY_SIZE(av_); ++i, ++p) + *p = (mbinptr)((ulong)*p + gd->reloc_off); } #endif