]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
malloc: Turn cfree into a compatibility symbol
authorFlorian Weimer <fweimer@redhat.com>
Tue, 18 Apr 2017 09:50:58 +0000 (11:50 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 18 Apr 2017 09:50:58 +0000 (11:50 +0200)
ChangeLog
NEWS
malloc/Versions
malloc/malloc.c
malloc/malloc.h
manual/memory.texi
stdlib/stdlib.h

index 13579e1a86d64e06e4d939a52f842541f01093df..0a5e5691d94d5829783d96bc2e8c89e3c6027a7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-04-18  Florian Weimer  <fweimer@redhat.com>
+
+       * malloc/malloc.c (cfree): Turn into compat symbol.
+       (__cfree): Remove alias.
+       * stdlib/stdlib.h (cfree): Remove declaration.
+       * malloc/malloc.h (cfree): Likewise.
+       * manual/memory.texi (Freeing after Malloc): Remove cfree.
+       * malloc/Versions (GLIBC_2.26): Add.
+
 2017-04-18  Rajalakshmi Srinivasaraghavan  <raji@linux.vnet.ibm.com>
 
        * sysdeps/powerpc/powerpc64/multiarch/Makefile
diff --git a/NEWS b/NEWS
index ace0e0d90f4691513fbcb2eb7d39b98fdbe5f2bd..811178bca669e53039aae46b132e4373bd1faae1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -49,6 +49,9 @@ Version 2.26
 * res_mkquery and res_nmkquery no longer support the IQUERY opcode.  DNS
   servers have not supported this opcode for a long time.
 
+* The legacy cfree function has been removed.  Applications should use the
+  free function instead.
+
 Security related changes:
 
 * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
index f3c3d8a0934bdcd3f6efc885276037f9a06b6225..e34ab177be665140327c57c0da174f11413df902 100644 (file)
@@ -61,6 +61,8 @@ libc {
   GLIBC_2.16 {
     aligned_alloc;
   }
+  GLIBC_2.26 {
+  }
   GLIBC_PRIVATE {
     # Internal startup hook for libpthread.
     __libc_malloc_pthread_startup;
index 4c40e2ea19139a5f1168c523d76bba699ac12af5..068ffc1684cc368bbeceb95d6d310b6042311e1c 100644 (file)
@@ -84,7 +84,6 @@
     independent_calloc(size_t n_elements, size_t size, void* chunks[]);
     independent_comalloc(size_t n_elements, size_t sizes[], void* chunks[]);
     pvalloc(size_t n);
-    cfree(void* p);
     malloc_trim(size_t pad);
     malloc_usable_size(void* p);
     malloc_stats();
@@ -5290,7 +5289,6 @@ weak_alias (__malloc_info, malloc_info)
 
 
 strong_alias (__libc_calloc, __calloc) weak_alias (__libc_calloc, calloc)
-strong_alias (__libc_free, __cfree) weak_alias (__libc_free, cfree)
 strong_alias (__libc_free, __free) strong_alias (__libc_free, free)
 strong_alias (__libc_malloc, __malloc) strong_alias (__libc_malloc, malloc)
 strong_alias (__libc_memalign, __memalign)
@@ -5306,6 +5304,9 @@ weak_alias (__malloc_stats, malloc_stats)
 weak_alias (__malloc_usable_size, malloc_usable_size)
 weak_alias (__malloc_trim, malloc_trim)
 
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)
+compat_symbol (libc, __libc_free, cfree, GLIBC_2_0);
+#endif
 
 /* ------------------------------------------------------------
    History:
index 0bd8f97bc3923f0db3f1cb4c3f4f7fb6da2a93aa..274c0958e475c396c207e66251ec7b1f1771c673 100644 (file)
@@ -52,9 +52,6 @@ __THROW __attribute_warn_unused_result__;
 /* Free a block allocated by `malloc', `realloc' or `calloc'.  */
 extern void free (void *__ptr) __THROW;
 
-/* Free a block allocated by `calloc'. */
-extern void cfree (void *__ptr) __THROW;
-
 /* Allocate SIZE bytes allocated to ALIGNMENT bytes.  */
 extern void *memalign (size_t __alignment, size_t __size)
 __THROW __attribute_malloc__ __wur;
index 38d3c3a4bb44d0eaaa859dc67f9a952bf3dfe6a4..a39cac805f822660cea46edc612032b50ae4fd61 100644 (file)
@@ -701,15 +701,6 @@ The @code{free} function deallocates the block of memory pointed at
 by @var{ptr}.
 @end deftypefun
 
-@comment stdlib.h
-@comment Sun
-@deftypefun void cfree (void *@var{ptr})
-@safety{@prelim{}@mtsafe{}@asunsafe{@asulock{}}@acunsafe{@aculock{} @acsfd{} @acsmem{}}}
-@c alias to free
-This function does the same thing as @code{free}.  It's provided for
-backward compatibility with SunOS; you should use @code{free} instead.
-@end deftypefun
-
 Freeing a block alters the contents of the block.  @strong{Do not expect to
 find any data (such as a pointer to the next block in a chain of blocks) in
 the block after freeing it.}  Copy whatever you need out of the block before
index c1f389253aecd8391e6de3fc7b087f2050f33da8..99125f2d2396985a6cd00b75d6e77a3b98e00d0d 100644 (file)
@@ -425,11 +425,6 @@ extern void *realloc (void *__ptr, size_t __size)
 /* Free a block allocated by `malloc', `realloc' or `calloc'.  */
 extern void free (void *__ptr) __THROW;
 
-#ifdef __USE_MISC
-/* Free a block.  An alias for `free'. (Sun Unices).  */
-extern void cfree (void *__ptr) __THROW;
-#endif /* Use misc.  */
-
 #ifdef __USE_MISC
 # include <alloca.h>
 #endif /* Use misc.  */