aboutsummaryrefslogtreecommitdiff
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
parentSupport PLT and GOT references in local PIC check (diff)
downloadglibc-d95453ef5d9fccac44ab3d4a161d917e7ef6231f.tar.gz
glibc-d95453ef5d9fccac44ab3d4a161d917e7ef6231f.tar.bz2
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')
-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)