about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sched_getaffinity.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-10-14 06:33:24 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-10-14 06:33:48 -0700
commitd95453ef5d9fccac44ab3d4a161d917e7ef6231f (patch)
tree67e00942b8d458dae176210175b125000d452026 /sysdeps/unix/sysv/linux/sched_getaffinity.c
parentd3d9c95aefded7716d037e241f9d23a1cccab45a (diff)
downloadglibc-d95453ef5d9fccac44ab3d4a161d917e7ef6231f.tar.gz
glibc-d95453ef5d9fccac44ab3d4a161d917e7ef6231f.tar.xz
glibc-d95453ef5d9fccac44ab3d4a161d917e7ef6231f.zip
Avoid PLT when calling __sched_getaffinity_new
This patch adds an internal entry for __sched_getaffinity_new so that
__sched_getaffinity_old calls __sched_getaffinity_new without going
through PLT.

	[BZ #18822]
	* sysdeps/unix/sysv/linux/sched_getaffinity.c
	(__sched_getaffinity_new): Add libc_hidden_proto and
	libc_hidden_def.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sched_getaffinity.c')
-rw-r--r--sysdeps/unix/sysv/linux/sched_getaffinity.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sched_getaffinity.c b/sysdeps/unix/sysv/linux/sched_getaffinity.c
index 9850806298..a37573f8a6 100644
--- a/sysdeps/unix/sysv/linux/sched_getaffinity.c
+++ b/sysdeps/unix/sysv/linux/sched_getaffinity.c
@@ -25,6 +25,11 @@
 
 
 #ifdef __NR_sched_getaffinity
+# if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+extern int __sched_getaffinity_new (pid_t, size_t, cpu_set_t *);
+libc_hidden_proto (__sched_getaffinity_new)
+# endif
+
 int
 __sched_getaffinity_new (pid_t pid, size_t cpusetsize, cpu_set_t *cpuset)
 {
@@ -44,6 +49,8 @@ versioned_symbol (libc, __sched_getaffinity_new, sched_getaffinity,
 
 
 # if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)
+libc_hidden_def (__sched_getaffinity_new)
+
 int
 attribute_compat_text_section
 __sched_getaffinity_old (pid_t pid, cpu_set_t *cpuset)