diff --git a/.gitignore b/.gitignore index a661375..83ced4c 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,5 @@ glibc-2.14-394-g8f3b1ff /glibc-2.16.90-715a900c.tar.gz /glibc-2.16.90-bec749fd-fedora.tar.gz /glibc-2.16.90-bec749fd.tar.gz +/glibc-2.16.90-05699367-fedora.tar.gz +/glibc-2.16.90-05699367.tar.gz diff --git a/glibc-rh552960.patch b/glibc-rh552960.patch index d84108a..eef7122 100644 --- a/glibc-rh552960.patch +++ b/glibc-rh552960.patch @@ -1,17 +1,16 @@ -diff --git a/nptl/Makefile b/nptl/Makefile -index 6f2b66c..16ba845 100644 ---- a/nptl/Makefile -+++ b/nptl/Makefile +diff -Nrup a/nptl/Makefile b/nptl/Makefile +--- a/nptl/Makefile 2012-10-02 06:37:02.202769148 -0600 ++++ b/nptl/Makefile 2012-10-02 06:38:22.574397081 -0600 @@ -206,7 +206,7 @@ tests = tst-typesizes \ tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \ tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \ tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \ -- tst-cond20 tst-cond21 tst-cond22 tst-cond23 \ -+ tst-cond20 tst-cond21 tst-cond22 tst-cond23 tst-cond24 \ +- tst-cond20 tst-cond21 tst-cond22 tst-cond23 tst-cond-except \ ++ tst-cond20 tst-cond21 tst-cond22 tst-cond23 tst-cond24 tst-cond-except \ tst-robust1 tst-robust2 tst-robust3 tst-robust4 tst-robust5 \ tst-robust6 tst-robust7 tst-robust8 tst-robust9 \ tst-robustpi1 tst-robustpi2 tst-robustpi3 tst-robustpi4 tst-robustpi5 \ -@@ -274,6 +274,7 @@ gen-as-const-headers = pthread-errnos.sym +@@ -274,6 +274,7 @@ gen-as-const-headers = pthread-errnos.sy LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst @@ -19,17 +18,17 @@ index 6f2b66c..16ba845 100644 include ../Makeconfig -diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S -index 5f1fd5d..a2679ef 100644 ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S -@@ -271,9 +271,24 @@ __pthread_cond_timedwait: +diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S +--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S 2012-10-02 06:05:17.000000000 -0600 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S 2012-10-02 06:37:54.959525283 -0600 +@@ -273,9 +273,24 @@ __pthread_cond_timedwait: jne 9f 15: cmpl $-ETIMEDOUT, %esi - jne 8b + je 28f -+ + +- addl $1, wakeup_seq(%ebx) + /* We need to go back to futex_wait. If we're using requeue_pi, then + release the mutex we had acquired and go back. */ + movl 24(%esp), %edx @@ -44,16 +43,14 @@ index 5f1fd5d..a2679ef 100644 + xorl %edx, %edx + call __pthread_mutex_unlock_usercnt + jmp 8b - -- addl $1, wakeup_seq(%ebx) ++ +28: addl $1, wakeup_seq(%ebx) adcl $0, wakeup_seq+4(%ebx) addl $1, cond_futex(%ebx) movl $ETIMEDOUT, %esi -diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S -index 2ae7af2..fe6a69c 100644 ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2012-10-02 06:05:17.000000000 -0600 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2012-10-02 06:37:54.961525273 -0600 @@ -136,7 +136,6 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 18f @@ -62,7 +59,7 @@ index 2ae7af2..fe6a69c 100644 movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx movl %ebp, %edx xorl %esi, %esi -@@ -150,9 +149,6 @@ __pthread_cond_wait: +@@ -152,9 +151,6 @@ __pthread_cond_wait: sete 16(%esp) je 19f @@ -72,7 +69,7 @@ index 2ae7af2..fe6a69c 100644 /* Normal and PI futexes dont mix. Use normal futex functions only if the kernel does not support the PI futex functions. */ cmpl $-ENOSYS, %eax -@@ -204,12 +200,12 @@ __pthread_cond_wait: +@@ -206,12 +202,12 @@ __pthread_cond_wait: cmpl 8(%esp), %edx jne 7f cmpl 4(%esp), %edi @@ -87,7 +84,7 @@ index 2ae7af2..fe6a69c 100644 9: addl $1, woken_seq(%ebx) adcl $0, woken_seq+4(%ebx) -@@ -285,6 +281,22 @@ __pthread_cond_wait: +@@ -287,6 +283,22 @@ __pthread_cond_wait: jmp 20b cfi_adjust_cfa_offset(-FRAME_SIZE); @@ -110,7 +107,7 @@ index 2ae7af2..fe6a69c 100644 /* Initial locking failed. */ 1: #if cond_lock == 0 -@@ -398,77 +410,6 @@ __pthread_cond_wait: +@@ -400,77 +412,6 @@ __pthread_cond_wait: call __lll_unlock_wake jmp 11b @@ -188,7 +185,7 @@ index 2ae7af2..fe6a69c 100644 .size __pthread_cond_wait, .-__pthread_cond_wait versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, GLIBC_2_3_2) -@@ -641,10 +582,6 @@ __condvar_w_cleanup: +@@ -651,10 +592,6 @@ __condvar_w_cleanup: .long .LcleanupEND-.Lsub_cond_futex .long __condvar_w_cleanup-.LSTARTCODE .uleb128 0 @@ -199,10 +196,9 @@ index 2ae7af2..fe6a69c 100644 .long .LcallUR-.LSTARTCODE .long .LENDCODE-.LcallUR .long 0 -diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S -index a1c8ca8..21ccb7a 100644 ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S +diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S 2012-10-02 06:05:17.000000000 -0600 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S 2012-10-02 06:37:55.000525092 -0600 @@ -103,7 +103,7 @@ __pthread_cond_timedwait: mov %RSI_LP, dep_mutex(%rdi) @@ -287,10 +283,9 @@ index a1c8ca8..21ccb7a 100644 jnz 64f callq __pthread_mutex_cond_lock -diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S -index 6194852..84c5fef 100644 ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2012-10-02 06:05:17.000000000 -0600 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2012-10-02 06:37:55.002525084 -0600 @@ -136,19 +136,33 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 61f @@ -467,11 +462,9 @@ index 6194852..84c5fef 100644 .uleb128 .LcallUR-.LSTARTCODE .uleb128 .LENDCODE-.LcallUR .uleb128 0 -diff --git a/nptl/tst-cond24.c b/nptl/tst-cond24.c -new file mode 100644 -index 0000000..2eb2df1 ---- /dev/null -+++ b/nptl/tst-cond24.c +diff -Nrup a/nptl/tst-cond24.c b/nptl/tst-cond24.c +--- a/nptl/tst-cond24.c 1969-12-31 17:00:00.000000000 -0700 ++++ b/nptl/tst-cond24.c 2012-10-02 06:37:55.003525080 -0600 @@ -0,0 +1,249 @@ +/* Verify that condition variables synchronized by PI mutexes don't hang. + Copyright (C) 2012 Free Software Foundation, Inc. diff --git a/glibc.spec b/glibc.spec index a1fc21e..a3e8bf6 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,4 +1,4 @@ -%define glibcsrcdir glibc-2.16.90-bec749fd +%define glibcsrcdir glibc-2.16.90-05699367 %define glibcversion 2.16.90 ### glibc.spec.in follows: %define run_glibc_tests 1 @@ -27,7 +27,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 19%{?dist} +Release: 20%{?dist} # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -61,6 +61,10 @@ Source1: %{glibcsrcdir}-fedora.tar.gz # Is this still necessary, if so, it needs to go upstream Patch0001: %{name}-stap.patch +# Reverting an upstream patch. Once upstream fixes the problem +# Remove this patch and resync. +Patch0002: %{name}-rh858274.patch + # Not likely to be accepted upstream Patch0003: %{name}-rh787201.patch @@ -95,19 +99,24 @@ Patch0029: %{name}-rh841318.patch # round of reviewing. Ideally they'll either be submitted upstream or # dropped. +Patch0030: %{name}-fedora-uname-getrlimit.patch Patch0031: %{name}-fedora-__libc_multiple_libcs.patch +Patch0032: %{name}-fedora-tls-offset-rh731228.patch Patch0033: %{name}-fedora-elf-ORIGIN.patch Patch0034: %{name}-fedora-elf-init-hidden_undef.patch Patch0035: %{name}-fedora-elf-rh737223.patch Patch0036: %{name}-fedora-gai-canonical.patch +Patch0037: %{name}-fedora-test-debug-gnuc-hack.patch Patch0038: %{name}-fedora-getconf.patch Patch0039: %{name}-fedora-getrlimit-PLT.patch Patch0040: %{name}-fedora-i386-tls-direct-seg-refs.patch +Patch0041: %{name}-fedora-test-debug-gnuc-compat.patch Patch0042: %{name}-fedora-include-bits-ldbl.patch Patch0043: %{name}-fedora-ldd.patch Patch0044: %{name}-fedora-linux-tcsetattr.patch Patch0045: %{name}-fedora-locale-euro.patch Patch0046: %{name}-fedora-localedata-locales-fixes.patch +Patch0047: %{name}-fedora-streams-rh436349.patch Patch0048: %{name}-fedora-localedata-rh61908.patch Patch0049: %{name}-fedora-localedef.patch Patch0050: %{name}-fedora-locarchive.patch @@ -116,20 +125,11 @@ Patch0052: %{name}-fedora-nis-rh188246.patch Patch0053: %{name}-fedora-nptl-linklibc.patch Patch0054: %{name}-fedora-nscd.patch Patch0055: %{name}-fedora-nss-files-overflow-fix.patch +Patch0056: %{name}-fedora-s390-rh711330.patch Patch0057: %{name}-fedora-ppc-unwind.patch Patch0058: %{name}-fedora-pt_chown.patch Patch0059: %{name}-fedora-regcomp-sw11561.patch -Patch0060: %{name}-fedora-s390-rh711330.patch -Patch0061: %{name}-fedora-streams-rh436349.patch -Patch0062: %{name}-fedora-strict-aliasing.patch -Patch0063: %{name}-fedora-test-debug-gnuc-compat.patch -Patch0064: %{name}-fedora-test-debug-gnuc-hack.patch -Patch0065: %{name}-fedora-tls-offset-rh731228.patch -Patch0066: %{name}-fedora-uname-getrlimit.patch - -# Reverting an upstream patch. Once upstream fixes the problem -# Remove this patch and resync. -Patch0069: %{name}-rh858274.patch +Patch0060: %{name}-fedora-strict-aliasing.patch # # Patches from upstream @@ -186,7 +186,7 @@ Patch2027: %{name}-rh819430.patch Patch2028: %{name}-rh767693-2.patch # Upstream BZ 14417 -Patch2070: %{name}-rh552960.patch +Patch2061: %{name}-rh552960.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Obsoletes: glibc-profile < 2.4 @@ -412,6 +412,7 @@ package or when debugging this package. %setup -q -n %{glibcsrcdir} -b1 %patch0001 -E -p1 +%patch0002 -p1 %patch0003 -p1 %patch0004 -p1 %patch0005 -p1 @@ -439,19 +440,24 @@ package or when debugging this package. %patch2027 -p1 %patch2028 -p1 %patch0029 -p1 +%patch0030 -p1 %patch0031 -p1 +%patch0032 -p1 %patch0033 -p1 %patch0034 -p1 %patch0035 -p1 %patch0036 -p1 +%patch0037 -p1 %patch0038 -p1 %patch0039 -p1 %patch0040 -p1 +%patch0041 -p1 %patch0042 -p1 %patch0043 -p1 %patch0044 -p1 %patch0045 -p1 %patch0046 -p1 +%patch0047 -p1 %patch0048 -p1 %patch0049 -p1 %patch0050 -p1 @@ -460,18 +466,12 @@ package or when debugging this package. %patch0053 -p1 %patch0054 -p1 %patch0055 -p1 +%patch0056 -p1 %patch0057 -p1 %patch0058 -p1 %patch0059 -p1 %patch0060 -p1 -%patch0061 -p1 -%patch0062 -p1 -%patch0063 -p1 -%patch0064 -p1 -%patch0065 -p1 -%patch0066 -p1 -%patch0069 -p1 -%patch2070 -p1 +%patch2061 -p1 # On powerpc32, hp timing is only available in power4/power6 # libs, not in base, so pre-power4 dynamic linker is incompatible @@ -1266,6 +1266,10 @@ rm -f *.filelist* %endif %changelog +* Mon Oct 2 2012 Jeff Law - 2.16.90-20 + - Resync with upstream sources. + - Repack patchlist. + * Mon Oct 1 2012 Jeff Law - 2.16.90-19 - Resync with upstream sources to pick up fma fixes diff --git a/sources b/sources index 5eeab94..c6f5aa0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -d06c5cd5f060f0a4a0fa7b527eaddc47 glibc-2.16.90-bec749fd-fedora.tar.gz -cc668cfa8509f366af895ba6ceeb81bf glibc-2.16.90-bec749fd.tar.gz +dbd630a3813b72d890231fcdc08130f6 glibc-2.16.90-05699367-fedora.tar.gz +33e2997aedc347d8a4da348ecab7b8df glibc-2.16.90-05699367.tar.gz