summaryrefslogtreecommitdiff
path: root/common/dlmalloc.c
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-01-21 21:10:38 +0000
committerTom Rini <trini@ti.com>2013-02-19 17:01:26 -0500
commit7b395232da84ae59bd32985bf944a0a9f417a543 (patch)
tree9ce04937d6626a1021c7345cf0c85646c0fe1f2d /common/dlmalloc.c
parent55db9ccae38866c627e64b497deda73547a1e84b (diff)
malloc: make malloc_bin_reloc static
On architectures where manual relocation is needed, the 'malloc_bin_reloc' function must be called after 'mem_malloc_init'. Make the 'malloc_bin_reloc' function static and call it directly from 'mem_malloc_init' instead of calling that from board_init_{r,f} functions of the affected architectures. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Cc: Wolfgang Denk <wd@denx.de> Cc: Andreas Bießmann <andreas.devel@gmail.com> Cc: Jason Jin <Jason.jin@freescale.com> Cc: Macpaul Lin <macpaul@andestech.com> Cc: Daniel Hellstrom <daniel@gaisler.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
Diffstat (limited to 'common/dlmalloc.c')
-rw-r--r--common/dlmalloc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index b2f0a1ad52e..2a9d169f92d 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -1485,7 +1485,7 @@ static mbinptr av_[NAV * 2 + 2] = {
};
#ifdef CONFIG_NEEDS_MANUAL_RELOC
-void malloc_bin_reloc (void)
+static void malloc_bin_reloc(void)
{
mbinptr *p = &av_[2];
size_t i;
@@ -1493,6 +1493,8 @@ void malloc_bin_reloc (void)
for (i = 2; i < ARRAY_SIZE(av_); ++i, ++p)
*p = (mbinptr)((ulong)*p + gd->reloc_off);
}
+#else
+static inline void malloc_bin_reloc(void) {}
#endif
ulong mem_malloc_start = 0;
@@ -1526,6 +1528,8 @@ void mem_malloc_init(ulong start, ulong size)
mem_malloc_brk = start;
memset((void *)mem_malloc_start, 0, size);
+
+ malloc_bin_reloc();
}
/* field-extraction macros */