aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-10-16 20:52:34 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-10-16 20:52:34 +0200
commit7ece6cd509703ee151092a50956dbd45ca1b13da (patch)
tree3d7ab02934c1d23ac9a090be4f4499f098c69146
parentd8287b36ab44aa2bc3ba59b97433bcf0ab6ae0e8 (diff)
downloadglibc-7ece6cd509703ee151092a50956dbd45ca1b13da.tar
glibc-7ece6cd509703ee151092a50956dbd45ca1b13da.tar.gz
glibc-7ece6cd509703ee151092a50956dbd45ca1b13da.tar.bz2
glibc-7ece6cd509703ee151092a50956dbd45ca1b13da.zip
malloc: Use compat_symbol_reference in libmcheck [BZ #22050]
Since glibc 2.24, __malloc_initialize_hook is a compat symbol. As a result, the link editor does not export a definition of __malloc_initialize_hook from the main program, so that it no longer interposes the variable definition in libc.so. Specifying the symbol version restores the exported symbol.
-rw-r--r--ChangeLog6
-rw-r--r--malloc/mcheck-init.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c10cb9fd22..f860884e14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2017-10-16 Florian Weimer <fweimer@redhat.com>
+ [BZ #22050]
+ * malloc/mcheck-init.c (__malloc_initialize_hook): Use
+ compat_symbol_reference to access non-default version.
+
+2017-10-16 Florian Weimer <fweimer@redhat.com>
+
* malloc/Makefile (others-extras): Set to mcheck-init.o.
2017-10-16 Carlos O'Donell <carlos@redhat.com>
diff --git a/malloc/mcheck-init.c b/malloc/mcheck-init.c
index 6d2492ef7e..05bf032417 100644
--- a/malloc/mcheck-init.c
+++ b/malloc/mcheck-init.c
@@ -20,6 +20,7 @@
#include <malloc.h>
#include <mcheck.h>
+#include <shlib-compat.h>
static void
turn_on_mcheck (void)
@@ -28,3 +29,5 @@ turn_on_mcheck (void)
}
void (*__malloc_initialize_hook) (void) = turn_on_mcheck;
+compat_symbol_reference (libc, __malloc_initialize_hook,
+ __malloc_initialize_hook, GLIBC_2_0);