malloc: Turn cfree into a compatibility symbol

This commit is contained in:
Florian Weimer 2017-04-18 11:50:58 +02:00
parent 6c6ab1fc49
commit 025b33ae84
7 changed files with 17 additions and 19 deletions

View File

@ -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> 2017-04-18 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc64/multiarch/Makefile * sysdeps/powerpc/powerpc64/multiarch/Makefile

3
NEWS
View File

@ -49,6 +49,9 @@ Version 2.26
* res_mkquery and res_nmkquery no longer support the IQUERY opcode. DNS * res_mkquery and res_nmkquery no longer support the IQUERY opcode. DNS
servers have not supported this opcode for a long time. 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: Security related changes:
* The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes, * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,

View File

@ -61,6 +61,8 @@ libc {
GLIBC_2.16 { GLIBC_2.16 {
aligned_alloc; aligned_alloc;
} }
GLIBC_2.26 {
}
GLIBC_PRIVATE { GLIBC_PRIVATE {
# Internal startup hook for libpthread. # Internal startup hook for libpthread.
__libc_malloc_pthread_startup; __libc_malloc_pthread_startup;

View File

@ -84,7 +84,6 @@
independent_calloc(size_t n_elements, size_t size, void* chunks[]); independent_calloc(size_t n_elements, size_t size, void* chunks[]);
independent_comalloc(size_t n_elements, size_t sizes[], void* chunks[]); independent_comalloc(size_t n_elements, size_t sizes[], void* chunks[]);
pvalloc(size_t n); pvalloc(size_t n);
cfree(void* p);
malloc_trim(size_t pad); malloc_trim(size_t pad);
malloc_usable_size(void* p); malloc_usable_size(void* p);
malloc_stats(); 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_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_free, __free) strong_alias (__libc_free, free)
strong_alias (__libc_malloc, __malloc) strong_alias (__libc_malloc, malloc) strong_alias (__libc_malloc, __malloc) strong_alias (__libc_malloc, malloc)
strong_alias (__libc_memalign, __memalign) 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_usable_size, malloc_usable_size)
weak_alias (__malloc_trim, malloc_trim) 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: History:

View File

@ -52,9 +52,6 @@ __THROW __attribute_warn_unused_result__;
/* Free a block allocated by `malloc', `realloc' or `calloc'. */ /* Free a block allocated by `malloc', `realloc' or `calloc'. */
extern void free (void *__ptr) __THROW; 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. */ /* Allocate SIZE bytes allocated to ALIGNMENT bytes. */
extern void *memalign (size_t __alignment, size_t __size) extern void *memalign (size_t __alignment, size_t __size)
__THROW __attribute_malloc__ __wur; __THROW __attribute_malloc__ __wur;

View File

@ -701,15 +701,6 @@ The @code{free} function deallocates the block of memory pointed at
by @var{ptr}. by @var{ptr}.
@end deftypefun @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 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 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 the block after freeing it.} Copy whatever you need out of the block before

View File

@ -425,11 +425,6 @@ extern void *realloc (void *__ptr, size_t __size)
/* Free a block allocated by `malloc', `realloc' or `calloc'. */ /* Free a block allocated by `malloc', `realloc' or `calloc'. */
extern void free (void *__ptr) __THROW; 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 #ifdef __USE_MISC
# include <alloca.h> # include <alloca.h>
#endif /* Use misc. */ #endif /* Use misc. */