From 81efada5287c3215307623e57d3bbbeefa0c1250 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 25 May 2017 06:55:42 -0700 Subject: Make __tunables_init hidden and avoid PLT Since __tunables_init is internal to ld.so, we should mark it hidden to avoid PLT. We should also avoid PLT when calling __tunable_set_val within ld.so. 2017-05-25 Siddhesh Poyarekar H.J. Lu * elf/dl-tunables.c (__tunable_set_val): Make a hidden alias. * elf/dl-tunables.h (__tunables_init): Mark it hidden in rtld. (__tunable_set_val): Likewise. --- ChangeLog | 7 +++++++ elf/dl-tunables.c | 2 ++ elf/dl-tunables.h | 3 +++ 3 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index b0c2047b80..baf21026c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-05-25 Siddhesh Poyarekar + H.J. Lu + + * elf/dl-tunables.c (__tunable_set_val): Make a hidden alias. + * elf/dl-tunables.h (__tunables_init): Mark it hidden in rtld. + (__tunable_set_val): Likewise. + 2017-05-25 H.J. Lu * Makeconfig ($(common-objpfx)dl-tunable-list.h): Also check diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c index 8d72e268ef..b6e6b3da52 100644 --- a/elf/dl-tunables.c +++ b/elf/dl-tunables.c @@ -470,3 +470,5 @@ cb: if (callback) callback (&cur->val); } + +rtld_hidden_def (__tunable_set_val) diff --git a/elf/dl-tunables.h b/elf/dl-tunables.h index f33adfb359..20ee51254e 100644 --- a/elf/dl-tunables.h +++ b/elf/dl-tunables.h @@ -69,6 +69,9 @@ typedef struct _tunable tunable_t; extern void __tunables_init (char **); extern void __tunable_set_val (tunable_id_t, void *, tunable_callback_t); +rtld_hidden_proto (__tunables_init) +rtld_hidden_proto (__tunable_set_val) + /* Check if the tunable has been set to a non-default value and if it is, copy it over into __VAL. */ # define TUNABLE_SET_VAL(__id,__val) \ -- cgit 1.4.1