[glibc] Manually sync form upstrem master:

Carlos O'Donell codonell at fedoraproject.org
Thu Feb 12 05:29:19 UTC 2015


commit 85a0930b022ac78abb1d1e3b6f3be6e1b934f56e
Author: Carlos O'Donell <carlos at systemhalted.org>
Date:   Thu Feb 12 00:19:12 2015 -0500

    Manually sync form upstrem master:
    
    - Add back x86 vDSO support.
    - Fix rtkaio build to reference clock_* functions from libc.

 glibc-revert-x86-vdso.patch |  655 -------------------------------------------
 glibc-rtkaio-clock.patch    |  102 +++++++
 glibc.spec                  |   14 +-
 3 files changed, 111 insertions(+), 660 deletions(-)
---
diff --git a/glibc-rtkaio-clock.patch b/glibc-rtkaio-clock.patch
new file mode 100644
index 0000000..560380f
--- /dev/null
+++ b/glibc-rtkaio-clock.patch
@@ -0,0 +1,102 @@
+#
+# Based on the following upstream commit:
+#
+# commit 6e6249d0b461b952d0f544792372663feb6d792a
+# Author: Roland McGrath <roland at 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;
+ 
diff --git a/glibc.spec b/glibc.spec
index b5392de..42ed184 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -1,6 +1,6 @@
 %define glibcsrcdir  glibc-2.20-549-g86bba16
-%define glibcversion 2.20.90
-%define glibcrelease 20%{?dist}
+%define glibcversion 2.21.90
+%define glibcrelease 1%{?dist}
 # Pre-release tarballs are pulled in from git using a command that is
 # effectively:
 #
@@ -206,8 +206,8 @@ Patch0052: %{name}-disable-rwlock-elision.patch
 # symlink to it.
 Patch0053: %{name}-cs-path.patch
 
-# Temporary revert till I fix rtkaio build on i686.
-Patch0054: %{name}-revert-x86-vdso.patch
+# Remove the clock_* functions and use the ones in libc like librt does.
+Patch0054: %{name}-rtkaio-clock.patch
 
 ##############################################################################
 #
@@ -578,7 +578,7 @@ package or when debugging this package.
 %patch0050 -p1
 %patch0052 -p1
 %patch0053 -p1
-%patch0054 -p1 -R
+%patch0054 -p1
 
 ##############################################################################
 # %%prep - Additional prep required...
@@ -1751,6 +1751,10 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Wed Feb 11 2015 Carlos O'Donell <carlos at 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 at redhat.com> - 2.20.90-20
 - Sync with upstream master.
 - Disable werror on s390x.


More information about the scm-commits mailing list