[45/58] Hide internal __sched_setparam function [BZ #18822]

Message ID 20170901180029.9527-46-hjl.tools@gmail.com
State Committed
Commit fd331b1179df7fef8016273fb26f5f054793875a
Headers

Commit Message

H.J. Lu Sept. 1, 2017, 6 p.m. UTC
  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.
---
 include/sched.h    | 1 +
 posix/sched_setp.c | 1 +
 2 files changed, 2 insertions(+)
  

Comments

H.J. Lu Oct. 2, 2017, 12:42 a.m. UTC | #1
On 9/1/17, H.J. Lu <hjl.tools@gmail.com> wrote:
> 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.

Tested with build-many-glibcs.py.  I am checking it in.
  

Patch

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)