about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-06-10 10:46:05 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-06-10 10:46:05 +0200
commit2ba3cfa1607c36613f3b30fb1ae4ec530245ce64 (patch)
tree4c215fe75ef1c016943e36821137257480097e01 /ChangeLog
parentf00faa4a43706d85ad8d4d2c970d3f52f0f63bfb (diff)
downloadglibc-2ba3cfa1607c36613f3b30fb1ae4ec530245ce64.tar.gz
glibc-2ba3cfa1607c36613f3b30fb1ae4ec530245ce64.tar.xz
glibc-2ba3cfa1607c36613f3b30fb1ae4ec530245ce64.zip
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
<stdc-predef.h>.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog20
1 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c0a32785e7..9f9c7080a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2016-06-10  Florian Weimer  <fweimer@redhat.com>
+
+	[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  <joseph@codesourcery.com>
 
 	[BZ #20235]