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
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.
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/unix/sysv/linux/sched_getaffinity.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6cc7224af6..74f413c81f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2015-10-14 H.J. Lu <hongjiu.lu@intel.com>
+ [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 <hongjiu.lu@intel.com>
+
[BZ #19007]
* scripts/localplt.awk: Also allow GOT references.
* sysdeps/unix/sysv/linux/i386/localplt.data: Mark
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)