[U-Boot-Users] Fix malloc problem introduced with the relocation fixup for the PPC platform

Stefan Roese sr at denx.de
Mon Jul 9 07:30:38 CEST 2007


Hi Wolfgang,

On Sunday 08 July 2007, Wolfgang Denk wrote:
> in message <200707081344.27628.sr at denx.de> you wrote:
> > The relocation fixup didn't handle the malloc pointer initialization
> > correctly. This patch fixes this problem. Tested successfully on 4xx.
> > The relocation fixup patches for 4xx will follow soon.
>
> Thanks.
>
> I hiess you only tested this with CONFIG_RELOC_FIXUP_WORKS undefined?

No, I tested both versions. And with this patch both versions work. At least 
on the 2 4xx platforms I tested on. The patches for the 4xx relocation fixup 
will follow later. This patch is generic and needed on all ppc platforms.

> > --- a/lib_ppc/board.c
> > +++ b/lib_ppc/board.c
> > @@ -139,10 +139,10 @@ static	ulong	mem_malloc_brk	 = 0;
> >   */
> >  static void mem_malloc_init (void)
> >  {
> > -	ulong dest_addr = CFG_MONITOR_BASE + gd->reloc_off;
>
> Here you delte the declaration of dest_addr ...
>
> > @@ -623,6 +623,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
> >
> >  #if defined(CONFIG_RELOC_FIXUP_WORKS)
> >  	gd->reloc_off = 0;
> > +	mem_malloc_end = dest_addr;
>
> ...and here you try to use it again?

As Grant already mentionend, there are two different variables.

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================




More information about the U-Boot mailing list