From d95453ef5d9fccac44ab3d4a161d917e7ef6231f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 14 Oct 2015 06:33:24 -0700 Subject: [PATCH] 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. --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/sched_getaffinity.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6cc7224af6..74f413c81f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2015-10-14 H.J. Lu + + [BZ #18822] + * sysdeps/unix/sysv/linux/sched_getaffinity.c + (__sched_getaffinity_new): Add libc_hidden_proto and + libc_hidden_def. + 2015-10-14 H.J. Lu [BZ #19007] 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) -- 2.43.5