diff options
Diffstat (limited to 'libc/stdlib/malloc-simple')
-rw-r--r-- | libc/stdlib/malloc-simple/Makefile.in | 29 | ||||
-rw-r--r-- | libc/stdlib/malloc-simple/alloc.c | 20 | ||||
-rw-r--r-- | libc/stdlib/malloc-simple/calloc.c | 8 | ||||
-rw-r--r-- | libc/stdlib/malloc-simple/free.c | 8 | ||||
-rw-r--r-- | libc/stdlib/malloc-simple/malloc.c | 8 | ||||
-rw-r--r-- | libc/stdlib/malloc-simple/memalign.c | 8 | ||||
-rw-r--r-- | libc/stdlib/malloc-simple/realloc.c | 8 |
7 files changed, 60 insertions, 29 deletions
diff --git a/libc/stdlib/malloc-simple/Makefile.in b/libc/stdlib/malloc-simple/Makefile.in index 7add9deaa..51488ff58 100644 --- a/libc/stdlib/malloc-simple/Makefile.in +++ b/libc/stdlib/malloc-simple/Makefile.in @@ -1,33 +1,22 @@ # Makefile for uClibc # -# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org> +# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> # # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # -MSRC:=alloc.c -MOBJ:=malloc.o realloc.o free.o calloc.o memalign.o +STDLIB_MALLOC_SIMPLE_DIR := $(top_srcdir)libc/stdlib/malloc-simple +STDLIB_MALLOC_SIMPLE_OUT := $(top_builddir)libc/stdlib/malloc-simple -STDLIB_MALLOC_SIMPLE_DIR:=$(top_srcdir)libc/stdlib/malloc-simple -STDLIB_MALLOC_SIMPLE_OUT:=$(top_builddir)libc/stdlib/malloc-simple +CSRC := $(notdir $(wildcard $(STDLIB_MALLOC_SIMPLE_DIR)/*.c)) +CSRC := $(filter-out alloc.c,$(CSRC)) -STDLIB_MALLOC_SIMPLE_MSRC:=$(STDLIB_MALLOC_SIMPLE_DIR)/$(MSRC) -STDLIB_MALLOC_SIMPLE_MOBJ:=$(patsubst %.o,$(STDLIB_MALLOC_SIMPLE_OUT)/%.o,$(MOBJ)) -STDLIB_MALLOC_SIMPLE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STDLIB_MALLOC_SIMPLE_MOBJ)))) +STDLIB_MALLOC_SIMPLE_SRC := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_DIR)/%.c,$(CSRC)) +STDLIB_MALLOC_SIMPLE_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_OUT)/%.o,$(CSRC)) -libc-a-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_MOBJ) -libc-so-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_MOBJ:.o=.os) +libc-$(MALLOC_SIMPLE) += $(STDLIB_MALLOC_SIMPLE_OBJ) -CFLAGS-multi-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_DEF) -libc-multi-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_MSRC) - -$(STDLIB_MALLOC_SIMPLE_MOBJ): $(STDLIB_MALLOC_SIMPLE_MSRC) - $(compile.m) - -$(STDLIB_MALLOC_SIMPLE_MOBJ:.o=.os): $(STDLIB_MALLOC_SIMPLE_MSRC) - $(compile.m) - -objclean-y+=stdlib_malloc_simple_objclean +objclean-y += stdlib_malloc_simple_objclean stdlib_malloc_simple_objclean: $(RM) $(STDLIB_MALLOC_SIMPLE_OUT)/*.{o,os} diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c index 5a208bf28..e382cee55 100644 --- a/libc/stdlib/malloc-simple/alloc.c +++ b/libc/stdlib/malloc-simple/alloc.c @@ -1,15 +1,13 @@ /* alloc.c * - * Written by Erik Andersen <andersee@codepoet.org> - * LGPLv2 + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ +/* * Parts of the memalign code were stolen from malloc-930716. */ -#define mmap __mmap -#define munmap __munmap - -#define _GNU_SOURCE #include <features.h> #include <unistd.h> #include <stdio.h> @@ -19,6 +17,10 @@ #include <errno.h> #include <sys/mman.h> +libc_hidden_proto(memcpy) +/*libc_hidden_proto(memset)*/ +libc_hidden_proto(mmap) +libc_hidden_proto(munmap) #ifdef L_malloc void *malloc(size_t size) @@ -34,7 +36,7 @@ void *malloc(size_t size) #endif } -#ifdef __ARCH_HAS_MMU__ +#ifdef __ARCH_USE_MMU__ # define MMAP_FLAGS MAP_PRIVATE | MAP_ANONYMOUS #else # define MMAP_FLAGS MAP_SHARED | MAP_ANONYMOUS @@ -67,7 +69,7 @@ void * calloc(size_t nmemb, size_t lsize) * doesn't need to actually zero anything.... */ if (result != NULL) { - __memset(result, 0, size); + memset(result, 0, size); } #endif return result; @@ -88,7 +90,7 @@ void *realloc(void *ptr, size_t size) newptr = malloc(size); if (newptr) { - __memcpy(newptr, ptr, *((size_t *) (ptr - sizeof(size_t)))); + memcpy(newptr, ptr, *((size_t *) (ptr - sizeof(size_t)))); free(ptr); } return newptr; diff --git a/libc/stdlib/malloc-simple/calloc.c b/libc/stdlib/malloc-simple/calloc.c new file mode 100644 index 000000000..75edff86d --- /dev/null +++ b/libc/stdlib/malloc-simple/calloc.c @@ -0,0 +1,8 @@ +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#define L_calloc +#include "alloc.c" diff --git a/libc/stdlib/malloc-simple/free.c b/libc/stdlib/malloc-simple/free.c new file mode 100644 index 000000000..553a6bfc8 --- /dev/null +++ b/libc/stdlib/malloc-simple/free.c @@ -0,0 +1,8 @@ +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#define L_free +#include "alloc.c" diff --git a/libc/stdlib/malloc-simple/malloc.c b/libc/stdlib/malloc-simple/malloc.c new file mode 100644 index 000000000..61f33d871 --- /dev/null +++ b/libc/stdlib/malloc-simple/malloc.c @@ -0,0 +1,8 @@ +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#define L_malloc +#include "alloc.c" diff --git a/libc/stdlib/malloc-simple/memalign.c b/libc/stdlib/malloc-simple/memalign.c new file mode 100644 index 000000000..24b7ab9c5 --- /dev/null +++ b/libc/stdlib/malloc-simple/memalign.c @@ -0,0 +1,8 @@ +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#define L_memalign +#include "alloc.c" diff --git a/libc/stdlib/malloc-simple/realloc.c b/libc/stdlib/malloc-simple/realloc.c new file mode 100644 index 000000000..de9675d59 --- /dev/null +++ b/libc/stdlib/malloc-simple/realloc.c @@ -0,0 +1,8 @@ +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#define L_realloc +#include "alloc.c" |