* [PATCH] malloc: Turn cfree into a compatibility symbol
@ 2017-04-13 12:52 Florian Weimer
2017-04-17 13:36 ` Adhemerval Zanella
0 siblings, 1 reply; 2+ messages in thread
From: Florian Weimer @ 2017-04-13 12:52 UTC (permalink / raw)
To: libc-alpha
2017-04-13 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.
diff --git a/NEWS b/NEWS
index ace0e0d..811178b 100644
--- 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,
diff --git a/malloc/Versions b/malloc/Versions
index f3c3d8a..e34ab17 100644
--- a/malloc/Versions
+++ b/malloc/Versions
@@ -61,6 +61,8 @@ libc {
GLIBC_2.16 {
aligned_alloc;
}
+ GLIBC_2.26 {
+ }
GLIBC_PRIVATE {
# Internal startup hook for libpthread.
__libc_malloc_pthread_startup;
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 4c40e2e..068ffc1 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -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:
diff --git a/malloc/malloc.h b/malloc/malloc.h
index 0bd8f97..274c095 100644
--- a/malloc/malloc.h
+++ b/malloc/malloc.h
@@ -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;
diff --git a/manual/memory.texi b/manual/memory.texi
index b8c2320..58a2f7b 100644
--- a/manual/memory.texi
+++ b/manual/memory.texi
@@ -705,15 +705,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
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index c1f3892..99125f2 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -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. */
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] malloc: Turn cfree into a compatibility symbol
2017-04-13 12:52 [PATCH] malloc: Turn cfree into a compatibility symbol Florian Weimer
@ 2017-04-17 13:36 ` Adhemerval Zanella
0 siblings, 0 replies; 2+ messages in thread
From: Adhemerval Zanella @ 2017-04-17 13:36 UTC (permalink / raw)
To: libc-alpha
On 13/04/2017 09:52, Florian Weimer wrote:
> 2017-04-13 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.
>
LGTM.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-04-17 13:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13 12:52 [PATCH] malloc: Turn cfree into a compatibility symbol Florian Weimer
2017-04-17 13:36 ` Adhemerval Zanella
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).