From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Sun, 8 Jul 2007 13:44:27 +0200 Subject: [U-Boot-Users] Fix malloc problem introduced with the relocation fixup for the PPC platform Message-ID: <200707081344.27628.sr@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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. Signed-off-by: Stefan Roese --- commit 3a1e66ba75172959973377d6069f1d12e1a4ecb3 tree 6fdde574dd5328b805e0e438ebb32cc7e7de8f4d parent dcc0264878406d52b879d2e5a63d3d793371434e author Stefan Roese Sun, 08 Jul 2007 13:42:52 +0200 committer Stefan Roese Sun, 08 Jul 2007 13:42:52 +0200 lib_ppc/board.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 8bb885d..5e156ab 100644 --- 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; - - mem_malloc_end = dest_addr; - mem_malloc_start = dest_addr - TOTAL_MALLOC_LEN; +#if !defined(CONFIG_RELOC_FIXUP_WORKS) + mem_malloc_end = CFG_MONITOR_BASE + gd->reloc_off; +#endif + mem_malloc_start = mem_malloc_end - TOTAL_MALLOC_LEN; mem_malloc_brk = mem_malloc_start; memset ((void *) mem_malloc_start, @@ -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; #else gd->reloc_off = dest_addr - CFG_MONITOR_BASE; #endif