aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 16:06:43 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 16:06:58 -0700
commitfe84fed04800bc5becb9fba84db98f58007e77f3 (patch)
tree6e9a03e0637ea863e35bd3de6fdce3f785076ac6
parent048dd6813f36c31fa21871d840a0b62f1c3a590f (diff)
downloadglibc-fe84fed04800bc5becb9fba84db98f58007e77f3.zip
glibc-fe84fed04800bc5becb9fba84db98f58007e77f3.tar.gz
glibc-fe84fed04800bc5becb9fba84db98f58007e77f3.tar.bz2
Hide internal __tdestroy function [BZ #18822]
Hide internal __tdestroy function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/search.h (__tdestroy): Add libc_hidden_proto. * misc/tsearch.c (__tdestroy): Add libc_hidden_def.
-rw-r--r--ChangeLog6
-rw-r--r--include/search.h1
-rw-r--r--misc/tsearch.c1
3 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2b486b1..ccdc1c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18822]
+ * include/search.h (__tdestroy): Add libc_hidden_proto.
+ * misc/tsearch.c (__tdestroy): Add libc_hidden_def.
+
+2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18822]
* include/assert.h (__assert_fail_base): Add attribute_hidden.
2017-10-01 H.J. Lu <hongjiu.lu@intel.com>
diff --git a/include/search.h b/include/search.h
index a941959..e176930 100644
--- a/include/search.h
+++ b/include/search.h
@@ -24,5 +24,6 @@ libc_hidden_proto (__tdelete)
extern void __twalk (const void *__root, __action_fn_t action);
libc_hidden_proto (__twalk)
extern void __tdestroy (void *__root, __free_fn_t freefct);
+libc_hidden_proto (__tdestroy)
#endif
#endif
diff --git a/misc/tsearch.c b/misc/tsearch.c
index aef9c7c..cdc401a 100644
--- a/misc/tsearch.c
+++ b/misc/tsearch.c
@@ -745,4 +745,5 @@ __tdestroy (void *vroot, __free_fn_t freefct)
if (root != NULL)
tdestroy_recurse (root, freefct);
}
+libc_hidden_def (__tdestroy)
weak_alias (__tdestroy, tdestroy)