From 2ba3cfa1607c36613f3b30fb1ae4ec530245ce64 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 10 Jun 2016 10:46:05 +0200 Subject: malloc: Remove __malloc_initialize_hook from the API [BZ #19564] __malloc_initialize_hook is interposed by application code, so the usual approach to define a compatibility symbol does not work. This commit adds a new mechanism based on #pragma GCC poison in . --- ChangeLog | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index c0a32785e7..9f9c7080a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +2016-06-10 Florian Weimer + + [BZ #19564] + Remove __malloc_initialize_hook from the API. + * malloc/malloc.h (__malloc_initialize_hook): Remove. + * include/stdc-predef.h (__malloc_initialize_hook): Poison with + #pragma GCC poison. + * malloc/malloc-hooks.h: New file. + * malloc/arena.c (ptmalloc_init): Use old__malloc_initialize_hook. + * malloc/malloc.c (HAVE_MALLOC_INIT_HOOK): New. + (old__malloc_initialize_hook): Rename from + __malloc_initialize_hook to evade poisoning. Turn into compat + symbol. + * malloc/mcheck-init.c (old__malloc_initialize_hook): Rename from + __malloc_initialize_hook. + * malloc/Makefile (poisoned_apis, unpoisoned_api_defines): New. + (mallo.c, mcheck-init.c): Compile with unpoisoned symbol. + * manual/memory.texi (Hooks for Malloc): Remove + __malloc_initialize_hook. Adjust hook example. + 2016-06-09 Joseph Myers [BZ #20235] -- cgit 1.4.1