From e72b98e6f858583a3ef904e27c6fbd932bdc86c8 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 13 Jul 2020 09:58:37 +0200 Subject: malloc: Deprecate more hook-related functionality __morecore, __after_morecore_hook, and __default_morecore had not been deprecated in commit 7d17596c198f11fa85cbcf9587443f262e63b616 ("Mark malloc hook variables as deprecated"), probably by accident. Reviewed-by: Carlos O'Donell --- NEWS | 7 +++++++ malloc/malloc.h | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 92dcb77fef..f69d48a38f 100644 --- a/NEWS +++ b/NEWS @@ -142,6 +142,13 @@ Deprecated and removed features, and other changes affecting compatibility: storing RPC keys only supported the obsolete and insecure AUTH_DES flavor of secure RPC.) +* The __morecore and __after_morecore_hook malloc hooks and the default + implementation __default_morecore have been deprecated. Applications + should use malloc interposition to change malloc behavior, and mmap to + allocate anonymous memory. A future version of glibc may require that + applications which use the malloc hooks must preload a special shared + object, to enable the hooks. + Changes to build and runtime requirements: * powerpc64le requires GCC 7.4 or newer. This is required for supporting diff --git a/malloc/malloc.h b/malloc/malloc.h index a6903fdd54..e0e91a9331 100644 --- a/malloc/malloc.h +++ b/malloc/malloc.h @@ -75,11 +75,11 @@ extern void *pvalloc (size_t __size) __THROW __attribute_malloc__ __wur; /* Underlying allocation function; successive calls should return contiguous pieces of memory. */ -extern void *(*__morecore) (ptrdiff_t __size); +extern void *(*__morecore) (ptrdiff_t __size) __MALLOC_DEPRECATED; /* Default value of `__morecore'. */ extern void *__default_morecore (ptrdiff_t __size) -__THROW __attribute_malloc__; +__THROW __attribute_malloc__ __MALLOC_DEPRECATED; /* SVID2/XPG mallinfo structure */ @@ -156,7 +156,8 @@ extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t __alignment, size_t __size, const void *) __MALLOC_DEPRECATED; -extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void); +extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void) + __MALLOC_DEPRECATED; __END_DECLS -- cgit 1.4.1