forked from rpms/glibc
Manually sync form upstrem master:
- Add back x86 vDSO support. - Fix rtkaio build to reference clock_* functions from libc.
This commit is contained in:
parent
a086cd2399
commit
85a0930b02
@ -1,655 +0,0 @@
|
|||||||
commit ca677d3c3cd0eba7d1f03092517aea553a0e8569
|
|
||||||
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
|
||||||
Date: Fri Jun 27 14:00:18 2014 -0700
|
|
||||||
|
|
||||||
Add x86 32 bit vDSO time function support
|
|
||||||
|
|
||||||
Linux 3.15 adds support for clock_gettime, gettimeofday, and time vDSO
|
|
||||||
(commit id 37c975545ec63320789962bf307f000f08fabd48). This patch adds
|
|
||||||
GLIBC supports to use such symbol when they are avaiable.
|
|
||||||
|
|
||||||
Along with x86 vDSO support, this patch cleanup x86_64 code by moving
|
|
||||||
all common code to x86 common folder. Only init-first.c is different
|
|
||||||
between implementations.
|
|
||||||
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/i386/gettimeofday.c b/sysdeps/unix/sysv/linux/i386/gettimeofday.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..3e00eb4
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/gettimeofday.c
|
|
||||||
@@ -0,0 +1,39 @@
|
|
||||||
+/* gettimeofday - get the time. Linux/i386 version.
|
|
||||||
+ Copyright (C) 2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#include <sys/time.h>
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+
|
|
||||||
+# include <dl-vdso.h>
|
|
||||||
+# include <errno.h>
|
|
||||||
+
|
|
||||||
+/* If the vDSO is not available we fall back on the syscall. */
|
|
||||||
+static int
|
|
||||||
+__gettimeofday_syscall (struct timeval *tv, struct timezone *tz)
|
|
||||||
+{
|
|
||||||
+ return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
|
|
||||||
+}
|
|
||||||
+# define GETTIMEOFAY_FALLBACK (void*) (&__gettimeofday_syscall)
|
|
||||||
+# undef libc_ifunc_hidden_def
|
|
||||||
+# define libc_ifunc_hidden_def(name) \
|
|
||||||
+ libc_ifunc_hidden_def1 (__GI_##name, __gettimeofday_syscall)
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <sysdeps/unix/sysv/linux/x86/gettimeofday.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/i386/init-first.c b/sysdeps/unix/sysv/linux/i386/init-first.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..4be65d7
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/init-first.c
|
|
||||||
@@ -0,0 +1,52 @@
|
|
||||||
+/* Initialization code run first thing by the ELF startup code. Linux/i386.
|
|
||||||
+ Copyright (C) 2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+# include <time.h>
|
|
||||||
+# include <sysdep.h>
|
|
||||||
+# include <dl-vdso.h>
|
|
||||||
+# include <libc-vdso.h>
|
|
||||||
+
|
|
||||||
+long int (*__vdso_clock_gettime) (clockid_t, struct timespec *)
|
|
||||||
+ __attribute__ ((nocommon));
|
|
||||||
+libc_hidden_proto (__vdso_clock_gettime)
|
|
||||||
+libc_hidden_data_def (__vdso_clock_gettime)
|
|
||||||
+
|
|
||||||
+static long int
|
|
||||||
+clock_gettime_syscall (clockid_t id, struct timespec *tp)
|
|
||||||
+{
|
|
||||||
+ INTERNAL_SYSCALL_DECL (err);
|
|
||||||
+ return INTERNAL_SYSCALL (clock_gettime, err, 2, id, tp);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static inline void
|
|
||||||
+__vdso_platform_setup (void)
|
|
||||||
+{
|
|
||||||
+ PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
|
|
||||||
+
|
|
||||||
+ void *p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26);
|
|
||||||
+ if (p == NULL)
|
|
||||||
+ p = clock_gettime_syscall;
|
|
||||||
+ PTR_MANGLE (p);
|
|
||||||
+ __vdso_clock_gettime = p;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# define VDSO_SETUP __vdso_platform_setup
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <csu/init-first.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/i386/time.c b/sysdeps/unix/sysv/linux/i386/time.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..e8a4e59
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/i386/time.c
|
|
||||||
@@ -0,0 +1,37 @@
|
|
||||||
+/* time -- Get number of seconds since Epoch. Linux/i386 version.
|
|
||||||
+ Copyright (C) 2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+
|
|
||||||
+# include <dl-vdso.h>
|
|
||||||
+# include <errno.h>
|
|
||||||
+
|
|
||||||
+/* If the vDSO is not available we fall back on the old vsyscall. */
|
|
||||||
+static time_t
|
|
||||||
+__time_syscall (time_t *t)
|
|
||||||
+{
|
|
||||||
+ INTERNAL_SYSCALL_DECL (err);
|
|
||||||
+ return INTERNAL_SYSCALL (time, err, 1, t);
|
|
||||||
+}
|
|
||||||
+# define TIME_FALLBACK (void*) &__time_syscall
|
|
||||||
+# undef libc_ifunc_hidden_def
|
|
||||||
+# define libc_ifunc_hidden_def(name) \
|
|
||||||
+ libc_ifunc_hidden_def1 (__GI_##name, __time_syscall)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <sysdeps/unix/sysv/linux/x86/time.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86/Makefile b/sysdeps/unix/sysv/linux/x86/Makefile
|
|
||||||
index 0281f87..d6be472 100644
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86/Makefile
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86/Makefile
|
|
||||||
@@ -19,3 +19,7 @@ libpthread-sysdep_routines += init-arch
|
|
||||||
libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
|
|
||||||
elision-trylock
|
|
||||||
endif
|
|
||||||
+
|
|
||||||
+ifeq ($(subdir),elf)
|
|
||||||
+sysdep_routines += dl-vdso
|
|
||||||
+endif
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86/clock_gettime.c b/sysdeps/unix/sysv/linux/x86/clock_gettime.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..98ffb01
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86/clock_gettime.c
|
|
||||||
@@ -0,0 +1,34 @@
|
|
||||||
+/* Get the current value of a clock. Linux/x86 version.
|
|
||||||
+ Copyright (C) 2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#include <libc-vdso.h>
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+# define SYSCALL_GETTIME(id, tp) \
|
|
||||||
+ ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
|
|
||||||
+ long int v_ret; \
|
|
||||||
+ PTR_DEMANGLE (f); \
|
|
||||||
+ v_ret = (*f) (id, tp); \
|
|
||||||
+ if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \
|
|
||||||
+ __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \
|
|
||||||
+ v_ret = -1; \
|
|
||||||
+ } \
|
|
||||||
+ v_ret; })
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <sysdeps/unix/sysv/linux/clock_gettime.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86/gettimeofday.c b/sysdeps/unix/sysv/linux/x86/gettimeofday.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..c820fd7
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86/gettimeofday.c
|
|
||||||
@@ -0,0 +1,54 @@
|
|
||||||
+/* gettimeofday - get the time. Linux/x86 version.
|
|
||||||
+ Copyright (C) 2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#include <sys/time.h>
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+
|
|
||||||
+# include <dl-vdso.h>
|
|
||||||
+
|
|
||||||
+void *gettimeofday_ifunc (void) __asm__ ("__gettimeofday");
|
|
||||||
+
|
|
||||||
+void *
|
|
||||||
+gettimeofday_ifunc (void)
|
|
||||||
+{
|
|
||||||
+ PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
|
|
||||||
+
|
|
||||||
+ /* If the vDSO is not available we fall back on the old vsyscall. */
|
|
||||||
+ return (_dl_vdso_vsym ("__vdso_gettimeofday", &linux26)
|
|
||||||
+ ?: GETTIMEOFAY_FALLBACK);
|
|
||||||
+}
|
|
||||||
+asm (".type __gettimeofday, %gnu_indirect_function");
|
|
||||||
+
|
|
||||||
+libc_ifunc_hidden_def(__gettimeofday)
|
|
||||||
+
|
|
||||||
+#else
|
|
||||||
+
|
|
||||||
+# include <sysdep.h>
|
|
||||||
+# include <errno.h>
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+__gettimeofday (struct timeval *tv, struct timezone *tz)
|
|
||||||
+{
|
|
||||||
+ return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
|
|
||||||
+}
|
|
||||||
+libc_hidden_def (__gettimeofday)
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+weak_alias (__gettimeofday, gettimeofday)
|
|
||||||
+libc_hidden_weak (gettimeofday)
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86/libc-vdso.h b/sysdeps/unix/sysv/linux/x86/libc-vdso.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..03ff875
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86/libc-vdso.h
|
|
||||||
@@ -0,0 +1,31 @@
|
|
||||||
+/* Resolve function pointers to VDSO functions.
|
|
||||||
+ Copyright (C) 2005-2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#ifndef _LIBC_VDSO_H
|
|
||||||
+#define _LIBC_VDSO_H
|
|
||||||
+
|
|
||||||
+#include <time.h>
|
|
||||||
+#include <sys/time.h>
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+
|
|
||||||
+extern long int (*__vdso_clock_gettime) (clockid_t, struct timespec *);
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif /* _LIBC_VDSO_H */
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86/time.c b/sysdeps/unix/sysv/linux/x86/time.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..1ab9248
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86/time.c
|
|
||||||
@@ -0,0 +1,49 @@
|
|
||||||
+/* time -- Get number of seconds since Epoch. Linux/x86 version.
|
|
||||||
+ Copyright (C) 2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#include <time.h>
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+
|
|
||||||
+#include <dl-vdso.h>
|
|
||||||
+
|
|
||||||
+void *time_ifunc (void) __asm__ ("time");
|
|
||||||
+
|
|
||||||
+void *
|
|
||||||
+time_ifunc (void)
|
|
||||||
+{
|
|
||||||
+ PREPARE_VERSION_KNOWN (linux26, LINUX_2_6);
|
|
||||||
+
|
|
||||||
+ return _dl_vdso_vsym ("__vdso_time", &linux26) ?: TIME_FALLBACK;
|
|
||||||
+}
|
|
||||||
+asm (".type time, %gnu_indirect_function");
|
|
||||||
+
|
|
||||||
+libc_ifunc_hidden_def(time)
|
|
||||||
+
|
|
||||||
+#else
|
|
||||||
+
|
|
||||||
+# include <sysdep.h>
|
|
||||||
+
|
|
||||||
+time_t
|
|
||||||
+time (time_t *t)
|
|
||||||
+{
|
|
||||||
+ INTERNAL_SYSCALL_DECL (err);
|
|
||||||
+ return INTERNAL_SYSCALL (time, err, 1, t);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86/timespec_get.c b/sysdeps/unix/sysv/linux/x86/timespec_get.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..b21efce
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86/timespec_get.c
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+/* timespec_get -- returns the calendar time based on a given time base.
|
|
||||||
+ Linux/x86 version.
|
|
||||||
+ Copyright (C) 2015 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
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with the GNU C Library; if not, see
|
|
||||||
+ <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#include <libc-vdso.h>
|
|
||||||
+
|
|
||||||
+#ifdef SHARED
|
|
||||||
+# define INTERNAL_GETTIME(id, tp) \
|
|
||||||
+ ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
|
|
||||||
+ PTR_DEMANGLE (f); \
|
|
||||||
+ (*f) (id, tp); })
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <sysdeps/unix/sysv/linux/timespec_get.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/Makefile b/sysdeps/unix/sysv/linux/x86_64/Makefile
|
|
||||||
index d6a9d36..9b82155 100644
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/Makefile
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86_64/Makefile
|
|
||||||
@@ -13,7 +13,3 @@ endif
|
|
||||||
ifeq ($(subdir),misc)
|
|
||||||
gen-as-const-headers += sigaltstack-offsets.sym
|
|
||||||
endif
|
|
||||||
-
|
|
||||||
-ifeq ($(subdir),elf)
|
|
||||||
-sysdep_routines += dl-vdso
|
|
||||||
-endif
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h b/sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h
|
|
||||||
deleted file mode 100644
|
|
||||||
index 03ff875..0000000
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,31 +0,0 @@
|
|
||||||
-/* Resolve function pointers to VDSO functions.
|
|
||||||
- Copyright (C) 2005-2015 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
|
|
||||||
- modify it under the terms of the GNU Lesser General Public
|
|
||||||
- License as published by the Free Software Foundation; either
|
|
||||||
- version 2.1 of the License, or (at your option) any later version.
|
|
||||||
-
|
|
||||||
- The GNU C Library is distributed in the hope that it will be useful,
|
|
||||||
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
- Lesser General Public License for more details.
|
|
||||||
-
|
|
||||||
- You should have received a copy of the GNU Lesser General Public
|
|
||||||
- License along with the GNU C Library; if not, see
|
|
||||||
- <http://www.gnu.org/licenses/>. */
|
|
||||||
-
|
|
||||||
-#ifndef _LIBC_VDSO_H
|
|
||||||
-#define _LIBC_VDSO_H
|
|
||||||
-
|
|
||||||
-#include <time.h>
|
|
||||||
-#include <sys/time.h>
|
|
||||||
-
|
|
||||||
-#ifdef SHARED
|
|
||||||
-
|
|
||||||
-extern long int (*__vdso_clock_gettime) (clockid_t, struct timespec *);
|
|
||||||
-
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#endif /* _LIBC_VDSO_H */
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c b/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c
|
|
||||||
deleted file mode 100644
|
|
||||||
index f712110..0000000
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,20 +0,0 @@
|
|
||||||
-#include "bits/libc-vdso.h"
|
|
||||||
-
|
|
||||||
-#ifdef SHARED
|
|
||||||
-# define SYSCALL_GETTIME(id, tp) \
|
|
||||||
- ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
|
|
||||||
- long int v_ret; \
|
|
||||||
- PTR_DEMANGLE (f); \
|
|
||||||
- v_ret = f (id, tp); \
|
|
||||||
- if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \
|
|
||||||
- __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \
|
|
||||||
- v_ret = -1; \
|
|
||||||
- } \
|
|
||||||
- v_ret; })
|
|
||||||
-# define INTERNAL_GETTIME(id, tp) \
|
|
||||||
- ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
|
|
||||||
- PTR_DEMANGLE (f); \
|
|
||||||
- f (id, tp); })
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#include "../clock_gettime.c"
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c b/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c
|
|
||||||
index 866d9c1..daa14de 100644
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c
|
|
||||||
@@ -18,42 +18,9 @@
|
|
||||||
#include <sys/time.h>
|
|
||||||
|
|
||||||
#ifdef SHARED
|
|
||||||
-
|
|
||||||
-# include <dl-vdso.h>
|
|
||||||
-
|
|
||||||
+/* If the vDSO is not available we fall back on the old vsyscall. */
|
|
||||||
# define VSYSCALL_ADDR_vgettimeofday 0xffffffffff600000ul
|
|
||||||
-
|
|
||||||
-void *gettimeofday_ifunc (void) __asm__ ("__gettimeofday");
|
|
||||||
-
|
|
||||||
-void *
|
|
||||||
-gettimeofday_ifunc (void)
|
|
||||||
-{
|
|
||||||
- PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
|
|
||||||
-
|
|
||||||
- /* If the vDSO is not available we fall back on the old vsyscall. */
|
|
||||||
- return (_dl_vdso_vsym ("__vdso_gettimeofday", &linux26)
|
|
||||||
- ?: (void *) VSYSCALL_ADDR_vgettimeofday);
|
|
||||||
-}
|
|
||||||
-asm (".type __gettimeofday, %gnu_indirect_function");
|
|
||||||
-
|
|
||||||
-/* This is doing "libc_hidden_def (__gettimeofday)" but the compiler won't
|
|
||||||
- let us do it in C because it doesn't know we're defining __gettimeofday
|
|
||||||
- here in this file. */
|
|
||||||
-asm (".globl __GI___gettimeofday\n"
|
|
||||||
- "__GI___gettimeofday = __gettimeofday");
|
|
||||||
-
|
|
||||||
-#else
|
|
||||||
-
|
|
||||||
-# include <sysdep.h>
|
|
||||||
-# include <errno.h>
|
|
||||||
-
|
|
||||||
-int
|
|
||||||
-__gettimeofday (struct timeval *tv, struct timezone *tz)
|
|
||||||
-{
|
|
||||||
- return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
|
|
||||||
-}
|
|
||||||
-libc_hidden_def (__gettimeofday)
|
|
||||||
-
|
|
||||||
+# define GETTIMEOFAY_FALLBACK (void*)VSYSCALL_ADDR_vgettimeofday
|
|
||||||
#endif
|
|
||||||
-weak_alias (__gettimeofday, gettimeofday)
|
|
||||||
-libc_hidden_weak (gettimeofday)
|
|
||||||
+
|
|
||||||
+#include <sysdeps/unix/sysv/linux/x86/gettimeofday.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/init-first.c b/sysdeps/unix/sysv/linux/x86_64/init-first.c
|
|
||||||
index e3bc712..36f9afc 100644
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/init-first.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86_64/init-first.c
|
|
||||||
@@ -20,20 +20,20 @@
|
|
||||||
# include <time.h>
|
|
||||||
# include <sysdep.h>
|
|
||||||
# include <dl-vdso.h>
|
|
||||||
-# include <bits/libc-vdso.h>
|
|
||||||
+# include <libc-vdso.h>
|
|
||||||
|
|
||||||
long int (*__vdso_clock_gettime) (clockid_t, struct timespec *)
|
|
||||||
__attribute__ ((nocommon));
|
|
||||||
-strong_alias (__vdso_clock_gettime, __GI___vdso_clock_gettime attribute_hidden)
|
|
||||||
+libc_hidden_proto (__vdso_clock_gettime)
|
|
||||||
+libc_hidden_data_def (__vdso_clock_gettime)
|
|
||||||
|
|
||||||
long int (*__vdso_getcpu) (unsigned *, unsigned *, void *) attribute_hidden;
|
|
||||||
|
|
||||||
-
|
|
||||||
extern long int __syscall_clock_gettime (clockid_t, struct timespec *);
|
|
||||||
|
|
||||||
|
|
||||||
static inline void
|
|
||||||
-_libc_vdso_platform_setup (void)
|
|
||||||
+__vdso_platform_setup (void)
|
|
||||||
{
|
|
||||||
PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
|
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ _libc_vdso_platform_setup (void)
|
|
||||||
if (p == NULL)
|
|
||||||
p = __syscall_clock_gettime;
|
|
||||||
PTR_MANGLE (p);
|
|
||||||
- __GI___vdso_clock_gettime = p;
|
|
||||||
+ __vdso_clock_gettime = p;
|
|
||||||
|
|
||||||
p = _dl_vdso_vsym ("__vdso_getcpu", &linux26);
|
|
||||||
/* If the vDSO is not available we fall back on the old vsyscall. */
|
|
||||||
@@ -52,7 +52,7 @@ _libc_vdso_platform_setup (void)
|
|
||||||
__vdso_getcpu = p;
|
|
||||||
}
|
|
||||||
|
|
||||||
-# define VDSO_SETUP _libc_vdso_platform_setup
|
|
||||||
+# define VDSO_SETUP __vdso_platform_setup
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <csu/init-first.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/time.c b/sysdeps/unix/sysv/linux/x86_64/time.c
|
|
||||||
index c00b5be..6ceb819 100644
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/time.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86_64/time.c
|
|
||||||
@@ -16,45 +16,9 @@
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#ifdef SHARED
|
|
||||||
-/* Redefine time so that the compiler won't complain about the type
|
|
||||||
- mismatch with the IFUNC selector in strong_alias, below. */
|
|
||||||
-#undef time
|
|
||||||
-#define time __redirect_time
|
|
||||||
-#include <time.h>
|
|
||||||
-
|
|
||||||
-#include <dl-vdso.h>
|
|
||||||
-
|
|
||||||
+/* If the vDSO is not available we fall back on the old vsyscall. */
|
|
||||||
#define VSYSCALL_ADDR_vtime 0xffffffffff600400
|
|
||||||
-
|
|
||||||
-/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle
|
|
||||||
- ifunc symbol properly. */
|
|
||||||
-extern __typeof (__redirect_time) __libc_time;
|
|
||||||
-void *time_ifunc (void) __asm__ ("__libc_time");
|
|
||||||
-
|
|
||||||
-void *
|
|
||||||
-time_ifunc (void)
|
|
||||||
-{
|
|
||||||
- PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
|
|
||||||
-
|
|
||||||
- /* If the vDSO is not available we fall back on the old vsyscall. */
|
|
||||||
- return _dl_vdso_vsym ("__vdso_time", &linux26) ?: (void *) VSYSCALL_ADDR_vtime;
|
|
||||||
-}
|
|
||||||
-__asm (".type __libc_time, %gnu_indirect_function");
|
|
||||||
-
|
|
||||||
-#undef time
|
|
||||||
-strong_alias (__libc_time, time)
|
|
||||||
-libc_hidden_ver (__libc_time, time)
|
|
||||||
-
|
|
||||||
-#else
|
|
||||||
-
|
|
||||||
-# include <time.h>
|
|
||||||
-# include <sysdep.h>
|
|
||||||
-
|
|
||||||
-time_t
|
|
||||||
-time (time_t *t)
|
|
||||||
-{
|
|
||||||
- INTERNAL_SYSCALL_DECL (err);
|
|
||||||
- return INTERNAL_SYSCALL (time, err, 1, t);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
+#define TIME_FALLBACK (void*)VSYSCALL_ADDR_vtime
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
+#include <sysdeps/unix/sysv/linux/x86/time.c>
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/timespec_get.c b/sysdeps/unix/sysv/linux/x86_64/timespec_get.c
|
|
||||||
deleted file mode 100644
|
|
||||||
index cb26068..0000000
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/timespec_get.c
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,10 +0,0 @@
|
|
||||||
-#include "bits/libc-vdso.h"
|
|
||||||
-
|
|
||||||
-#ifdef SHARED
|
|
||||||
-# define INTERNAL_GETTIME(id, tp) \
|
|
||||||
- ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \
|
|
||||||
- PTR_DEMANGLE (f); \
|
|
||||||
- f (id, tp); })
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#include "../timespec_get.c"
|
|
||||||
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/init-first.c b/sysdeps/unix/sysv/linux/x86_64/x32/init-first.c
|
|
||||||
index 88369e5..93e0508 100644
|
|
||||||
--- a/sysdeps/unix/sysv/linux/x86_64/x32/init-first.c
|
|
||||||
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/init-first.c
|
|
||||||
@@ -18,7 +18,7 @@
|
|
||||||
|
|
||||||
#ifdef SHARED
|
|
||||||
# include <dl-vdso.h>
|
|
||||||
-# include <bits/libc-vdso.h>
|
|
||||||
+# include <libc-vdso.h>
|
|
||||||
|
|
||||||
long int (*__vdso_clock_gettime) (clockid_t, struct timespec *)
|
|
||||||
__attribute__ ((nocommon));
|
|
102
glibc-rtkaio-clock.patch
Normal file
102
glibc-rtkaio-clock.patch
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
#
|
||||||
|
# Based on the following upstream commit:
|
||||||
|
#
|
||||||
|
# commit 6e6249d0b461b952d0f544792372663feb6d792a
|
||||||
|
# Author: Roland McGrath <roland@hack.frob.com>
|
||||||
|
# Date: Wed Oct 24 14:50:46 2012 -0700
|
||||||
|
#
|
||||||
|
# BZ#14743: Move clock_* symbols from librt to libc.
|
||||||
|
#
|
||||||
|
# We remove the clock* functions from librtkaio.so.1 and
|
||||||
|
# use those provided in libc.so.6, matching librt.so.
|
||||||
|
#
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/clock-compat.c glibc-2.21-59-gd35273f/rtkaio/clock-compat.c
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/clock-compat.c 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/clock-compat.c 2015-02-11 22:52:29.912765683 -0500
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+#include <rt/clock-compat.c>
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_getcpuclockid.c glibc-2.21-59-gd35273f/rtkaio/kaio_clock_getcpuclockid.c
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_getcpuclockid.c 2015-02-11 13:00:55.105400863 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/kaio_clock_getcpuclockid.c 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <clock_getcpuclockid.c>
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_getres.c glibc-2.21-59-gd35273f/rtkaio/kaio_clock_getres.c
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_getres.c 2015-02-11 13:00:55.105400863 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/kaio_clock_getres.c 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <clock_getres.c>
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_gettime.c glibc-2.21-59-gd35273f/rtkaio/kaio_clock_gettime.c
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_gettime.c 2015-02-11 13:00:55.109400738 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/kaio_clock_gettime.c 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <clock_gettime.c>
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_nanosleep.c glibc-2.21-59-gd35273f/rtkaio/kaio_clock_nanosleep.c
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_nanosleep.c 2015-02-11 13:00:55.115400552 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/kaio_clock_nanosleep.c 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <clock_nanosleep.c>
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_settime.c glibc-2.21-59-gd35273f/rtkaio/kaio_clock_settime.c
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/kaio_clock_settime.c 2015-02-11 13:00:55.110400708 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/kaio_clock_settime.c 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <clock_settime.c>
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/kaio_get_clockfreq.c glibc-2.21-59-gd35273f/rtkaio/kaio_get_clockfreq.c
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/kaio_get_clockfreq.c 2015-02-11 13:00:55.118400459 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/kaio_get_clockfreq.c 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-#include <get_clockfreq.c>
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/Makefile glibc-2.21-59-gd35273f/rtkaio/Makefile
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/Makefile 2015-02-11 13:00:55.107400801 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/Makefile 2015-02-11 22:46:46.930374298 -0500
|
||||||
|
@@ -25,9 +25,6 @@
|
||||||
|
aio_read64 aio_return aio_suspend aio_write \
|
||||||
|
aio_write64 lio_listio lio_listio64 aio_sigqueue \
|
||||||
|
aio_notify
|
||||||
|
-clock-routines := get_clockfreq clock_getcpuclockid \
|
||||||
|
- clock_getres clock_gettime clock_settime \
|
||||||
|
- clock_nanosleep
|
||||||
|
timer-routines := timer_create timer_delete timer_getoverr \
|
||||||
|
timer_gettime timer_settime
|
||||||
|
shm-routines := shm_open shm_unlink
|
||||||
|
@@ -36,8 +33,9 @@
|
||||||
|
mq_timedreceive
|
||||||
|
|
||||||
|
librtkaio-routines = $(patsubst %,k%,$(aio-routines)) \
|
||||||
|
- $(patsubst %,kaio_%,$(clock-routines) $(timer-routines) \
|
||||||
|
- $(shm-routines) $(mq-routines))
|
||||||
|
+ $(patsubst %,kaio_%,$(timer-routines) \
|
||||||
|
+ $(shm-routines) $(mq-routines)) \
|
||||||
|
+ clock-compat
|
||||||
|
|
||||||
|
tests := tst-shm tst-clock tst-clock_nanosleep tst-timer tst-timer2 \
|
||||||
|
tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \
|
||||||
|
@@ -64,7 +62,6 @@
|
||||||
|
include $(..)Rules
|
||||||
|
|
||||||
|
CFLAGS-kaio_suspend.c = -fexceptions
|
||||||
|
-CFLAGS-kaio_clock_nanosleep.c = -fexceptions -fasynchronous-unwind-tables
|
||||||
|
CFLAGS-kaio_librt-cancellation.c = -fasynchronous-unwind-tables
|
||||||
|
|
||||||
|
LDFLAGS-rtkaio.so = -Wl,-soname=lib$(libprefix)rt.so$(librt.so-version) \
|
||||||
|
@@ -88,9 +85,6 @@
|
||||||
|
else
|
||||||
|
$(addprefix $(objpfx),$(tests)): $(objpfx)librtkaio.a $(static-thread-library)
|
||||||
|
endif
|
||||||
|
-ifeq (yes,$(build-bounded))
|
||||||
|
-$(tests:%=$(objpfx)%-bp): $(objpfx)librtkaio_b.a $(bounded-thread-library)
|
||||||
|
-endif
|
||||||
|
|
||||||
|
tst-mqueue7-ARGS = -- $(built-program-file)
|
||||||
|
|
||||||
|
diff -urN glibc-2.21-59-gd35273f.mod/rtkaio/Versions glibc-2.21-59-gd35273f/rtkaio/Versions
|
||||||
|
--- glibc-2.21-59-gd35273f.mod/rtkaio/Versions 2015-02-11 13:00:55.118400459 -0500
|
||||||
|
+++ glibc-2.21-59-gd35273f/rtkaio/Versions 2015-02-11 22:36:11.974051389 -0500
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
aio_suspend64; aio_write; aio_write64; lio_listio; lio_listio64;
|
||||||
|
}
|
||||||
|
GLIBC_2.2 {
|
||||||
|
- # c*
|
||||||
|
+ # These have moved to libc and are still here only for compatibility.
|
||||||
|
clock_getres; clock_gettime; clock_settime; clock_getcpuclockid;
|
||||||
|
clock_nanosleep;
|
||||||
|
|
14
glibc.spec
14
glibc.spec
@ -1,6 +1,6 @@
|
|||||||
%define glibcsrcdir glibc-2.20-549-g86bba16
|
%define glibcsrcdir glibc-2.20-549-g86bba16
|
||||||
%define glibcversion 2.20.90
|
%define glibcversion 2.21.90
|
||||||
%define glibcrelease 20%{?dist}
|
%define glibcrelease 1%{?dist}
|
||||||
# Pre-release tarballs are pulled in from git using a command that is
|
# Pre-release tarballs are pulled in from git using a command that is
|
||||||
# effectively:
|
# effectively:
|
||||||
#
|
#
|
||||||
@ -206,8 +206,8 @@ Patch0052: %{name}-disable-rwlock-elision.patch
|
|||||||
# symlink to it.
|
# symlink to it.
|
||||||
Patch0053: %{name}-cs-path.patch
|
Patch0053: %{name}-cs-path.patch
|
||||||
|
|
||||||
# Temporary revert till I fix rtkaio build on i686.
|
# Remove the clock_* functions and use the ones in libc like librt does.
|
||||||
Patch0054: %{name}-revert-x86-vdso.patch
|
Patch0054: %{name}-rtkaio-clock.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
@ -578,7 +578,7 @@ package or when debugging this package.
|
|||||||
%patch0050 -p1
|
%patch0050 -p1
|
||||||
%patch0052 -p1
|
%patch0052 -p1
|
||||||
%patch0053 -p1
|
%patch0053 -p1
|
||||||
%patch0054 -p1 -R
|
%patch0054 -p1
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# %%prep - Additional prep required...
|
# %%prep - Additional prep required...
|
||||||
@ -1751,6 +1751,10 @@ rm -f *.filelist*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 11 2015 Carlos O'Donell <carlos@systemhalted.org> - 2.21.90-1
|
||||||
|
- Add back x86 vDSO support.
|
||||||
|
- Fix rtkaio build to reference clock_* functions from libc.
|
||||||
|
|
||||||
* Wed Jan 21 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-20
|
* Wed Jan 21 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-20
|
||||||
- Sync with upstream master.
|
- Sync with upstream master.
|
||||||
- Disable werror on s390x.
|
- Disable werror on s390x.
|
||||||
|
Loading…
Reference in New Issue
Block a user