packages: glibc/glibc.spec, glibc/glibc-rh-bug-769421.patch (NEW) - revert ...

arekm arekm at pld-linux.org
Wed Jan 4 18:41:06 CET 2012


Author: arekm                        Date: Wed Jan  4 17:41:06 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- revert problematich patch (rh bug 769421). glibc-locale_fixes.patch needs update

---- Files affected:
packages/glibc:
   glibc.spec (1.944 -> 1.945) , glibc-rh-bug-769421.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/glibc/glibc.spec
diff -u packages/glibc/glibc.spec:1.944 packages/glibc/glibc.spec:1.945
--- packages/glibc/glibc.spec:1.944	Wed Jan  4 17:56:19 2012
+++ packages/glibc/glibc.spec	Wed Jan  4 18:41:01 2012
@@ -65,6 +65,7 @@
 Patch9:		%{name}-java-libc-wait.patch
 Patch10:	%{name}-info.patch
 Patch11:	%{name}-no_debuggable_objects.patch
+Patch12:	%{name}-rh-bug-769421.patch
 Patch14:	%{name}-sparc-errno_fix.patch
 Patch15:	%{name}-new-charsets.patch
 Patch16:	%{name}-tzfile-noassert.patch
@@ -927,6 +928,7 @@
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
+%patch12 -p1
 %patch14 -p0
 %patch15 -p1
 %patch16 -p1
@@ -1794,6 +1796,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.945  2012/01/04 17:41:01  arekm
+- revert problematich patch (rh bug 769421). glibc-locale_fixes.patch needs update
+
 Revision 1.944  2012/01/04 16:56:19  qboosh
 - removed outdated pl.po-update patch; not making new one yet because included libc.pot is outdated
 - pl.po part in missing-nls patch updated (i.e. converted to UTF-8)

================================================================
Index: packages/glibc/glibc-rh-bug-769421.patch
diff -u /dev/null packages/glibc/glibc-rh-bug-769421.patch:1.1
--- /dev/null	Wed Jan  4 18:41:06 2012
+++ packages/glibc/glibc-rh-bug-769421.patch	Wed Jan  4 18:41:01 2012
@@ -0,0 +1,228 @@
+diff --git b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+index 54590b7..53970d7 100644
+--- b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
++++ a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+@@ -134,7 +134,6 @@ __pthread_cond_wait:
+ 	cmpl	$PI_BIT, %eax
+ 	jne	18f
+ 
+-90:
+ 	movl	$(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
+ 	movl	%ebp, %edx
+ 	xorl	%esi, %esi
+@@ -148,9 +147,6 @@ __pthread_cond_wait:
+ 	sete	16(%esp)
+ 	je	19f
+ 
+-	cmpl	$-EAGAIN, %eax
+-	je	91f
+-
+ 	/* Normal and PI futexes dont mix. Use normal futex functions only
+ 	   if the kernel does not support the PI futex functions.  */
+ 	cmpl	$-ENOSYS, %eax
+@@ -395,78 +391,6 @@ __pthread_cond_wait:
+ #endif
+ 	call	__lll_unlock_wake
+ 	jmp	11b
+-
+-91:
+-.LcleanupSTART2:
+-	/* FUTEX_WAIT_REQUEUE_PI returned EAGAIN.  We need to
+-	   call it again.  */
+-
+-	/* Get internal lock.  */
+-	movl	$1, %edx
+-	xorl	%eax, %eax
+-	LOCK
+-#if cond_lock == 0
+-	cmpxchgl %edx, (%ebx)
+-#else
+-	cmpxchgl %edx, cond_lock(%ebx)
+-#endif
+-	jz	92f
+-
+-#if cond_lock == 0
+-	movl	%ebx, %edx
+-#else
+-	leal	cond_lock(%ebx), %edx
+-#endif
+-#if (LLL_SHARED-LLL_PRIVATE) > 255
+-	xorl	%ecx, %ecx
+-#endif
+-	cmpl	$-1, dep_mutex(%ebx)
+-	setne	%cl
+-	subl	$1, %ecx
+-	andl	$(LLL_SHARED-LLL_PRIVATE), %ecx
+-#if LLL_PRIVATE != 0
+-	addl	$LLL_PRIVATE, %ecx
+-#endif
+-	call	__lll_lock_wait
+-
+-92:
+-	/* Increment the cond_futex value again, so it can be used as a new
+-	   expected value. */
+-	addl	$1, cond_futex(%ebx)
+-	movl	cond_futex(%ebx), %ebp
+-
+-	/* Unlock.  */
+-	LOCK
+-#if cond_lock == 0
+-	subl	$1, (%ebx)
+-#else
+-	subl	$1, cond_lock(%ebx)
+-#endif
+-	je	93f
+-#if cond_lock == 0
+-	movl	%ebx, %eax
+-#else
+-	leal	cond_lock(%ebx), %eax
+-#endif
+-#if (LLL_SHARED-LLL_PRIVATE) > 255
+-	xorl	%ecx, %ecx
+-#endif
+-	cmpl	$-1, dep_mutex(%ebx)
+-	setne	%cl
+-	subl	$1, %ecx
+-	andl	$(LLL_SHARED-LLL_PRIVATE), %ecx
+-#if LLL_PRIVATE != 0
+-	addl	$LLL_PRIVATE, %ecx
+-#endif
+-	call	__lll_unlock_wake
+-
+-93:
+-	/* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+-	xorl	%ecx, %ecx
+-	movl	dep_mutex(%ebx), %edi
+-	jmp	90b
+-.LcleanupEND2:
+-
+ 	.size	__pthread_cond_wait, .-__pthread_cond_wait
+ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
+ 		  GLIBC_2_3_2)
+@@ -639,10 +563,6 @@ __condvar_w_cleanup:
+ 	.long	.LcleanupEND-.Lsub_cond_futex
+ 	.long	__condvar_w_cleanup-.LSTARTCODE
+ 	.uleb128  0
+-	.long	.LcleanupSTART2-.LSTARTCODE
+-	.long	.LcleanupEND2-.LcleanupSTART2
+-	.long	__condvar_w_cleanup-.LSTARTCODE
+-	.uleb128  0
+ 	.long	.LcallUR-.LSTARTCODE
+ 	.long	.LENDCODE-.LcallUR
+ 	.long	0
+diff --git b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+index d837d15..7535baa 100644
+--- b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+@@ -23,7 +23,6 @@
+ #include <lowlevelcond.h>
+ #include <tcb-offsets.h>
+ #include <pthread-pi-defines.h>
+-#include <pthread-errnos.h>
+ 
+ #include <kernel-features.h>
+ 
+@@ -134,14 +133,11 @@ __pthread_cond_wait:
+ 	cmpl	$PI_BIT, %eax
+ 	jne	61f
+ 
+-90:
+ 	movl	$(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
+ 	movl	$SYS_futex, %eax
+ 	syscall
+ 
+ 	movl	$1, %r8d
+-	cmpq	$-EAGAIN, %rax
+-	je	91f
+ #ifdef __ASSUME_REQUEUE_PI
+ 	jmp	62f
+ #else
+@@ -328,70 +324,6 @@ __pthread_cond_wait:
+ 
+ 13:	movq	%r10, %rax
+ 	jmp	14b
+-
+-91:
+-.LcleanupSTART2:
+-	/* FUTEX_WAIT_REQUEUE_PI returned EAGAIN.  We need to
+-	   call it again.  */
+-	movq	8(%rsp), %rdi
+-
+-	/* Get internal lock.  */
+-	movl	$1, %esi
+-	xorl	%eax, %eax
+-	LOCK
+-#if cond_lock == 0
+-	cmpxchgl %esi, (%rdi)
+-#else
+-	cmpxchgl %esi, cond_lock(%rdi)
+-#endif
+-	jz	92f
+-
+-#if cond_lock != 0
+-	addq	$cond_lock, %rdi
+-#endif
+-	cmpq	$-1, dep_mutex-cond_lock(%rdi)
+-	movl	$LLL_PRIVATE, %eax
+-	movl	$LLL_SHARED, %esi
+-	cmovne	%eax, %esi
+-	callq	__lll_lock_wait
+-#if cond_lock != 0
+-	subq	$cond_lock, %rdi
+-#endif
+-92:
+-	/* Increment the cond_futex value again, so it can be used as a new
+-	   expected value. */
+-	incl	cond_futex(%rdi)
+-	movl	cond_futex(%rdi), %edx
+-
+-	/* Release internal lock.  */
+-	LOCK
+-#if cond_lock == 0
+-	decl	(%rdi)
+-#else
+-	decl	cond_lock(%rdi)
+-#endif
+-	jz	93f
+-
+-#if cond_lock != 0
+-	addq	$cond_lock, %rdi
+-#endif
+-	cmpq	$-1, dep_mutex-cond_lock(%rdi)
+-	movl	$LLL_PRIVATE, %eax
+-	movl	$LLL_SHARED, %esi
+-	cmovne	%eax, %esi
+-	/* The call preserves %rdx.  */
+-	callq	__lll_unlock_wake
+-#if cond_lock != 0
+-	subq	$cond_lock, %rdi
+-#endif
+-93:
+-	/* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+-	xorq	%r10, %r10
+-	movq	dep_mutex(%rdi), %r8
+-	leaq	cond_futex(%rdi), %rdi
+-	jmp	90b
+-.LcleanupEND2:
+-
+ 	.size	__pthread_cond_wait, .-__pthread_cond_wait
+ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
+ 		  GLIBC_2_3_2)
+@@ -544,15 +476,11 @@ __condvar_cleanup1:
+ 	.uleb128 .LcleanupSTART-.LSTARTCODE
+ 	.uleb128 .LcleanupEND-.LcleanupSTART
+ 	.uleb128 __condvar_cleanup1-.LSTARTCODE
+-	.uleb128 0
+-	.uleb128 .LcleanupSTART2-.LSTARTCODE
+-	.uleb128 .LcleanupEND2-.LcleanupSTART2
+-	.uleb128 __condvar_cleanup1-.LSTARTCODE
+-	.uleb128 0
++	.uleb128  0
+ 	.uleb128 .LcallUR-.LSTARTCODE
+ 	.uleb128 .LENDCODE-.LcallUR
+ 	.uleb128 0
+-	.uleb128 0
++	.uleb128  0
+ .Lcstend:
+ 
+ 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/glibc/glibc.spec?r1=1.944&r2=1.945&f=u



More information about the pld-cvs-commit mailing list