valloc was marked as LEGACY in SUSv2, removed from SUSv3 and later.
TODO: Remove this (point people to memalign and it's successors?).
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Enable this option if you want to update from 0.9.28 to git/0.9.29,
else you will be missing atexit() until you rebuild all apps.
+config UCLIBC_SUSV2_LEGACY
+ bool "Enable SuSv2 LEGACY functions"
+ help
+ Enable this option if you want to have SuSv2 LEGACY functions
+ Currently applies to:
+
+ valloc
+
+ WARNING! ABI incompatibility.
+
config UCLIBC_SUSV3_LEGACY
bool "Enable SuSv3 LEGACY functions"
#vfork,
extern __malloc_ptr_t memalign __MALLOC_P ((size_t __alignment, size_t __size));
libc_hidden_proto(memalign)
+#ifdef __UCLIBC_SUSV2_LEGACY__
/* Allocate SIZE bytes on a page boundary. */
extern __malloc_ptr_t valloc __MALLOC_P ((size_t __size)) __attribute_malloc__;
+#endif
#ifdef __MALLOC_STANDARD__
getpt.c drand48-iter.c jrand48.c \
jrand48_r.c lcong48.c lrand48.c lrand48_r.c mrand48.c mrand48_r.c nrand48.c \
nrand48_r.c rand_r.c srand48.c srand48_r.c seed48.c seed48_r.c \
- valloc.c a64l.c l64a.c __uc_malloc.c
+ a64l.c l64a.c __uc_malloc.c
+CSRC-$(UCLIBC_SUSV2_LEGACY) += valloc.c
CSRC-$(UCLIBC_HAS_ADVANCED_REALTIME) += posix_memalign.c
CSRC-$(UCLIBC_HAS_PTY) += grantpt.c unlockpt.c ptsname.c
CSRC-$(UCLIBC_HAS_ARC4RANDOM) += arc4random.c
STDLIB_MALLOC_SIMPLE_OUT := $(top_builddir)libc/stdlib/malloc-simple
CSRC-y := $(notdir $(wildcard $(STDLIB_MALLOC_SIMPLE_DIR)/*.c))
-CSRC-y := $(filter-out alloc.c,$(CSRC-y))
+# multi source alloc.c
+CSRC- := alloc.c
+CSRC-y := $(filter-out $(CSRC-),$(CSRC-y))
STDLIB_MALLOC_SIMPLE_SRC := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_DIR)/%.c,$(CSRC-y))
STDLIB_MALLOC_SIMPLE_OBJ := $(patsubst %.c,$(STDLIB_MALLOC_SIMPLE_OUT)/%.o,$(CSRC-y))
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
TESTS_DISABLED := time_malloc
+
+ifneq ($(UCLIBC_SUSV2_LEGACY),y)
+TESTS_DISABLED += tst-valloc
+endif