about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:43:13 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-01 17:43:25 -0700
commitfd331b1179df7fef8016273fb26f5f054793875a (patch)
tree42dd1127d30942b10dbe1d1c96cffd83e86c08d3
parent57f859bdb7be1acb7eea48aba8edf0c6b5900191 (diff)
downloadglibc-fd331b1179df7fef8016273fb26f5f054793875a.tar.gz
glibc-fd331b1179df7fef8016273fb26f5f054793875a.tar.xz
glibc-fd331b1179df7fef8016273fb26f5f054793875a.zip
Hide internal __sched_setparam function [BZ #18822]
Hide internal __sched_setparam function to allow direct access within
libc.so and libc.a without using GOT nor PLT.

__GI___sched_setparam is defined when sysdeps/unix/syscalls.list is
used to generate sched_setparam.  Otherwise libc_hidden_def is needed
explicitly.

	[BZ #18822]
	* include/sched.h (__sched_setparam): Add libc_hidden_proto.
	* posix/sched_setp.c (__sched_setparam): Add libc_hidden_def.
-rw-r--r--ChangeLog6
-rw-r--r--include/sched.h1
-rw-r--r--posix/sched_setp.c1
3 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d9b8a4bbb..e799d168b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18822]
+	* include/sched.h (__sched_setparam): Add libc_hidden_proto.
+	* posix/sched_setp.c (__sched_setparam): Add libc_hidden_def.
+
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18822]
 	* intl/hash-string.h (__hash_string): Add attribute_hidden.
 
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
diff --git a/include/sched.h b/include/sched.h
index f75faed4ce..b698f78666 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -5,6 +5,7 @@
 /* Now define the internal interfaces.  */
 extern int __sched_setparam (__pid_t __pid,
 			     const struct sched_param *__param);
+libc_hidden_proto (__sched_setparam)
 extern int __sched_getparam (__pid_t __pid, struct sched_param *__param);
 extern int __sched_setscheduler (__pid_t __pid, int __policy,
 				 const struct sched_param *__param);
diff --git a/posix/sched_setp.c b/posix/sched_setp.c
index 17c3af322a..ad50d5abe7 100644
--- a/posix/sched_setp.c
+++ b/posix/sched_setp.c
@@ -29,4 +29,5 @@ __sched_setparam (pid_t pid, const struct sched_param *param)
 }
 stub_warning (sched_setparam)
 
+libc_hidden_def (__sched_setparam)
 weak_alias (__sched_setparam, sched_setparam)