Browse Source

add UCLIBC_SUSV2_LEGACY to hide valloc

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>
Bernhard Reutner-Fischer 11 years ago
parent
commit
e80657059a

+ 10 - 0
extra/Configs/Config.in

@@ -669,6 +669,16 @@ config COMPAT_ATEXIT
 	  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,

+ 2 - 0
include/malloc.h

@@ -125,8 +125,10 @@ extern void free __MALLOC_P ((__malloc_ptr_t __ptr));
 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__
 

+ 2 - 1
libc/stdlib/Makefile.in

@@ -17,7 +17,8 @@ CSRC-y := \
 	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

+ 3 - 1
libc/stdlib/malloc-simple/Makefile.in

@@ -11,7 +11,9 @@ STDLIB_MALLOC_SIMPLE_DIR := $(top_srcdir)libc/stdlib/malloc-simple
 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))

+ 4 - 0
test/malloc/Makefile.in

@@ -2,3 +2,7 @@
 # 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