From ed8f688eeab70308af7240931861189d3f509e1c Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 24 May 2017 12:09:41 -0700
Subject: [PATCH] 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 <siddhesh@sourceware.org>
H.J. Lu <hongjiu.lu@intel.com>
* 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.
---
elf/dl-tunables.c | 2 ++
elf/dl-tunables.h | 3 +++
2 files changed, 5 insertions(+)
@@ -470,3 +470,5 @@ cb:
if (callback)
callback (&cur->val);
}
+
+rtld_hidden_def (__tunable_set_val)
@@ -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) \
--
2.9.4