This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.17-67-gd5e0b9b
- From: rsa at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 10 Jan 2013 02:31:22 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.17-67-gd5e0b9b
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via d5e0b9bd6e296f3ec5263fa296d39f3fed9b8fa2 (commit)
from 0c07e3eaa735d73ca6fdf8a5927aa09f1c33f51d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d5e0b9bd6e296f3ec5263fa296d39f3fed9b8fa2
commit d5e0b9bd6e296f3ec5263fa296d39f3fed9b8fa2
Author: Anton Blanchard <anton@samba.org>
Date: Wed Jan 9 20:30:11 2013 -0600
PowerPC: Change sched_getcpu to use vDSO getcpu instead of syscall.
diff --git a/ChangeLog b/ChangeLog
index 77fbac8..e7991c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-01-09 Anton Blanchard <anton@samba.org>
+
+ * sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c: New file.
+ * sysdeps/unix/sysv/linux/powerpc/Versions: Add __vdso_getcpu.
+ * sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/init-first.c: Likewise.
+
2013-01-09 Joseph Myers <joseph@codesourcery.com>
* include/features.h (__USE_ANSI): Remove.
diff --git a/sysdeps/unix/sysv/linux/powerpc/Versions b/sysdeps/unix/sysv/linux/powerpc/Versions
index 1ef53b9..396a423 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Versions
+++ b/sysdeps/unix/sysv/linux/powerpc/Versions
@@ -3,5 +3,6 @@ libc {
__vdso_get_tbfreq;
__vdso_clock_gettime;
__vdso_clock_getres;
+ __vdso_getcpu;
}
}
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h b/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
index 6f79841..545fda4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
@@ -30,6 +30,8 @@ extern void *__vdso_clock_getres;
extern void *__vdso_get_tbfreq;
+extern void *__vdso_getcpu;
+
#endif
#endif /* _LIBC_VDSO_H */
diff --git a/sysdeps/unix/sysv/linux/powerpc/init-first.c b/sysdeps/unix/sysv/linux/powerpc/init-first.c
index 5202e7d..195d030 100644
--- a/sysdeps/unix/sysv/linux/powerpc/init-first.c
+++ b/sysdeps/unix/sysv/linux/powerpc/init-first.c
@@ -27,6 +27,7 @@ void *__vdso_gettimeofday attribute_hidden;
void *__vdso_clock_gettime;
void *__vdso_clock_getres;
void *__vdso_get_tbfreq;
+void *__vdso_getcpu;
static inline void
@@ -41,6 +42,8 @@ _libc_vdso_platform_setup (void)
__vdso_clock_getres = _dl_vdso_vsym ("__kernel_clock_getres", &linux2615);
__vdso_get_tbfreq = _dl_vdso_vsym ("__kernel_vdso_get_tbfreq", &linux2615);
+
+ __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux2615);
}
# define VDSO_SETUP _libc_vdso_platform_setup
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h b/sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c
similarity index 67%
copy from sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
copy to sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c
index 6f79841..617e6f1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c
@@ -1,5 +1,4 @@
-/* Resolve function pointers to VDSO functions.
- Copyright (C) 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,20 +15,16 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <sched.h>
+#include <sysdep.h>
+#include <bits/libc-vdso.h>
-#ifndef _LIBC_VDSO_H
-#define _LIBC_VDSO_H
-#ifdef SHARED
+int
+sched_getcpu (void)
+{
+ unsigned int cpu;
+ int r = INLINE_VSYSCALL (getcpu, 3, &cpu, NULL, NULL);
-extern void *__vdso_gettimeofday attribute_hidden;
-
-extern void *__vdso_clock_gettime;
-
-extern void *__vdso_clock_getres;
-
-extern void *__vdso_get_tbfreq;
-
-#endif
-
-#endif /* _LIBC_VDSO_H */
+ return r == -1 ? r : cpu;
+}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
sysdeps/unix/sysv/linux/powerpc/Versions | 1 +
sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h | 2 ++
sysdeps/unix/sysv/linux/powerpc/init-first.c | 3 +++
.../unix/sysv/linux/{ => powerpc}/sched_getcpu.c | 11 +++--------
5 files changed, 16 insertions(+), 8 deletions(-)
copy sysdeps/unix/sysv/linux/{ => powerpc}/sched_getcpu.c (80%)
hooks/post-receive
--
GNU C Library master sources