- Update from master (a4647e7).
This commit is contained in:
parent
8cbc6b28a5
commit
f79eb1f502
|
@ -2,3 +2,6 @@
|
|||
/glibc-2.14-394-g8f3b1ff-fedora.tar.xz
|
||||
/glibc-2.14-394-g8f3b1ff.tar.xz
|
||||
glibc-2.14-394-g8f3b1ff
|
||||
/glibc-2.14-a4647e7-fedora.tar.gz
|
||||
/glibc-2.14-a4647e7.tar.gz
|
||||
/glibc-ports-2.14-4a93ed4.tar.gz
|
||||
|
|
|
@ -1,146 +0,0 @@
|
|||
commit 77cdc054e02069d72dcf54a9ad7d7df3a24bcb01
|
||||
Author: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Wed Nov 9 17:14:39 2011 +0100
|
||||
|
||||
Check malloc arana limit atomically
|
||||
|
||||
diff --git a/ChangeLog b/ChangeLog
|
||||
index bf09161..edd7dd8 100644
|
||||
--- a/ChangeLog
|
||||
+++ b/ChangeLog
|
||||
@@ -1,3 +1,14 @@
|
||||
+2011-11-14 Andreas Schwab <schwab@redhat.com>
|
||||
+
|
||||
+ * malloc/arena.c (arena_get2): Don't call reused_arena when
|
||||
+ _int_new_arena failed.
|
||||
+
|
||||
+2011-11-10 Andreas Schwab <schwab@redhat.com>
|
||||
+
|
||||
+ * malloc/arena.c (_int_new_arena): Don't increment narenas.
|
||||
+ (reused_arena): Don't check arena limit.
|
||||
+ (arena_get2): Atomically check arena limit.
|
||||
+
|
||||
2011-10-19 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* sysdeps/x86_64/fpu/math_private.h (libc_feupdateenv): Use
|
||||
diff --git a/malloc/arena.c b/malloc/arena.c
|
||||
index 9114fd2..042cac8 100644
|
||||
--- a/malloc/arena.c
|
||||
+++ b/malloc/arena.c
|
||||
@@ -747,8 +747,6 @@ _int_new_arena(size_t size)
|
||||
main_arena.next = a;
|
||||
|
||||
#ifdef PER_THREAD
|
||||
- ++narenas;
|
||||
-
|
||||
(void)mutex_unlock(&list_lock);
|
||||
#endif
|
||||
|
||||
@@ -786,30 +784,6 @@ get_free_list (void)
|
||||
static mstate
|
||||
reused_arena (void)
|
||||
{
|
||||
- if (narenas <= mp_.arena_test)
|
||||
- return NULL;
|
||||
-
|
||||
- static int narenas_limit;
|
||||
- if (narenas_limit == 0)
|
||||
- {
|
||||
- if (mp_.arena_max != 0)
|
||||
- narenas_limit = mp_.arena_max;
|
||||
- else
|
||||
- {
|
||||
- int n = __get_nprocs ();
|
||||
-
|
||||
- if (n >= 1)
|
||||
- narenas_limit = NARENAS_FROM_NCORES (n);
|
||||
- else
|
||||
- /* We have no information about the system. Assume two
|
||||
- cores. */
|
||||
- narenas_limit = NARENAS_FROM_NCORES (2);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (narenas < narenas_limit)
|
||||
- return NULL;
|
||||
-
|
||||
mstate result;
|
||||
static mstate next_to_use;
|
||||
if (next_to_use == NULL)
|
||||
@@ -844,10 +818,41 @@ arena_get2(mstate a_tsd, size_t size)
|
||||
mstate a;
|
||||
|
||||
#ifdef PER_THREAD
|
||||
- if ((a = get_free_list ()) == NULL
|
||||
- && (a = reused_arena ()) == NULL)
|
||||
- /* Nothing immediately available, so generate a new arena. */
|
||||
- a = _int_new_arena(size);
|
||||
+ static size_t narenas_limit;
|
||||
+
|
||||
+ a = get_free_list ();
|
||||
+ if (a == NULL)
|
||||
+ {
|
||||
+ /* Nothing immediately available, so generate a new arena. */
|
||||
+ if (narenas_limit == 0)
|
||||
+ {
|
||||
+ if (mp_.arena_max != 0)
|
||||
+ narenas_limit = mp_.arena_max;
|
||||
+ else
|
||||
+ {
|
||||
+ int n = __get_nprocs ();
|
||||
+
|
||||
+ if (n >= 1)
|
||||
+ narenas_limit = NARENAS_FROM_NCORES (n);
|
||||
+ else
|
||||
+ /* We have no information about the system. Assume two
|
||||
+ cores. */
|
||||
+ narenas_limit = NARENAS_FROM_NCORES (2);
|
||||
+ }
|
||||
+ }
|
||||
+ repeat:;
|
||||
+ size_t n = narenas;
|
||||
+ if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
|
||||
+ {
|
||||
+ if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
|
||||
+ goto repeat;
|
||||
+ a = _int_new_arena (size);
|
||||
+ if (__builtin_expect (a != NULL, 1))
|
||||
+ return a;
|
||||
+ catomic_decrement(&narenas);
|
||||
+ }
|
||||
+ a = reused_arena ();
|
||||
+ }
|
||||
#else
|
||||
if(!a_tsd)
|
||||
a = a_tsd = &main_arena;
|
||||
|
||||
commit a5fb313cb7b7e692fd4684916aaa98e03ec7e8b6
|
||||
Author: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Mon Nov 14 11:41:52 2011 +0100
|
||||
|
||||
Don't call reused_arena when _int_new_arena failed
|
||||
|
||||
diff --git a/malloc/arena.c b/malloc/arena.c
|
||||
index 042cac8..cb8548b 100644
|
||||
--- a/malloc/arena.c
|
||||
+++ b/malloc/arena.c
|
||||
@@ -844,14 +844,14 @@ arena_get2(mstate a_tsd, size_t size)
|
||||
size_t n = narenas;
|
||||
if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
|
||||
{
|
||||
- if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
|
||||
+ if (catomic_compare_and_exchange_bool_acq (&narenas, n + 1, n))
|
||||
goto repeat;
|
||||
a = _int_new_arena (size);
|
||||
- if (__builtin_expect (a != NULL, 1))
|
||||
- return a;
|
||||
- catomic_decrement(&narenas);
|
||||
+ if (__builtin_expect (a == NULL, 0))
|
||||
+ catomic_decrement (&narenas);
|
||||
}
|
||||
- a = reused_arena ();
|
||||
+ else
|
||||
+ a = reused_arena ();
|
||||
}
|
||||
#else
|
||||
if(!a_tsd)
|
|
@ -1,33 +0,0 @@
|
|||
commit d4cc29a254db6bd3838aac79d9d0e91cfd467c9d
|
||||
Author: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Fri Dec 2 11:34:28 2011 +0100
|
||||
|
||||
Mark fortified __FD_ELT as extension
|
||||
|
||||
diff --git a/ChangeLog b/ChangeLog
|
||||
index dddb628..e512bbb 100644
|
||||
--- a/ChangeLog
|
||||
+++ b/ChangeLog
|
||||
@@ -1,3 +1,8 @@
|
||||
+2011-12-02 Andreas Schwab <schwab@redhat.com>
|
||||
+
|
||||
+ * misc/bits/select2.h (__FD_ELT): Mark as extension. Add
|
||||
+ parenthesis.
|
||||
+
|
||||
2011-11-29 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* locale/weight.h (findidx): Add parameter len.
|
||||
diff --git a/misc/bits/select2.h b/misc/bits/select2.h
|
||||
index 37c4827..a7ce1b4 100644
|
||||
--- a/misc/bits/select2.h
|
||||
+++ b/misc/bits/select2.h
|
||||
@@ -27,7 +27,8 @@ extern unsigned long int __fdelt_warn (unsigned long int __d)
|
||||
__warnattr ("bit outside of fd_set selected");
|
||||
#undef __FD_ELT
|
||||
#define __FD_ELT(d) \
|
||||
- ({ unsigned long int __d = d; \
|
||||
+ __extension__ \
|
||||
+ ({ unsigned long int __d = (d); \
|
||||
(__builtin_constant_p (__d) \
|
||||
? (__d >= __FD_SETSIZE \
|
||||
? __fdelt_warn (__d) : (__d / __NFDBITS)) \
|
1062
glibc-fedora.patch
1062
glibc-fedora.patch
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,49 +0,0 @@
|
|||
From 7327af4c323f6d4f500bf4aaa66a9cac6236772f Mon Sep 17 00:00:00 2001
|
||||
From: Jim Meyering <meyering@redhat.com>
|
||||
Date: Wed, 26 Oct 2011 20:08:52 +0200
|
||||
Subject: [PATCH] Revert "Use leaf function attribute in __THROW"
|
||||
|
||||
This reverts commit aa78043a4aafe5db1a1a76d544a833b63b4c5f5c
|
||||
and the related 49a43d80ec5c97cf6136b1ee2687414773b2d5aa.
|
||||
This fixes http://bugzilla.redhat.com/747377
|
||||
---
|
||||
misc/sys/cdefs.h | 15 +++------------
|
||||
2 files changed, 3 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
|
||||
index 72073e8..165a94a 100644
|
||||
--- a/misc/sys/cdefs.h
|
||||
+++ b/misc/sys/cdefs.h
|
||||
@@ -38,27 +38,18 @@
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
-/* All functions, except those with callbacks, are leaf functions. */
|
||||
-# if __GNUC_PREREQ (4, 6) && !defined _LIBC
|
||||
-# define __LEAF , __leaf__
|
||||
-# define __LEAF_ATTR __attribute__ ((__leaf__))
|
||||
-# else
|
||||
-# define __LEAF
|
||||
-# define __LEAF_ATTR
|
||||
-# endif
|
||||
-
|
||||
/* GCC can always grok prototypes. For C++ programs we add throw()
|
||||
to help it optimize the function calls. But this works only with
|
||||
gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
|
||||
as non-throwing using a function attribute since programs can use
|
||||
the -fexceptions options for C code as well. */
|
||||
# if !defined __cplusplus && __GNUC_PREREQ (3, 3)
|
||||
-# define __THROW __attribute__ ((__nothrow__ __LEAF))
|
||||
-# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
|
||||
+# define __THROW __attribute__ ((__nothrow__))
|
||||
+# define __NTH(fct) __attribute__ ((__nothrow__)) fct
|
||||
# else
|
||||
# if defined __cplusplus && __GNUC_PREREQ (2,8)
|
||||
# define __THROW throw ()
|
||||
-# define __NTH(fct) __LEAF_ATTR fct throw ()
|
||||
+# define __NTH(fct) fct throw ()
|
||||
# else
|
||||
# define __THROW
|
||||
# define __NTH(fct) fct
|
||||
--
|
||||
1.7.7.1
|
|
@ -1,226 +0,0 @@
|
|||
diff -rup 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 2011-12-15 10:45:09.759232551 -0700
|
||||
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-15 15:11:57.534479377 -0700
|
||||
@@ -137,6 +137,7 @@ __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
|
||||
@@ -150,6 +151,9 @@ __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
|
||||
@@ -394,6 +398,78 @@ __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)
|
||||
@@ -566,6 +642,10 @@ __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 -rup 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 2011-12-15 10:45:09.764232551 -0700
|
||||
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-15 15:12:49.287474417 -0700
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <lowlevelcond.h>
|
||||
#include <tcb-offsets.h>
|
||||
#include <pthread-pi-defines.h>
|
||||
+#include <pthread-errnos.h>
|
||||
#include <stap-probe.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
@@ -136,11 +137,14 @@ __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
|
||||
@@ -327,6 +331,70 @@ __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)
|
||||
@@ -479,11 +547,15 @@ __condvar_cleanup1:
|
||||
.uleb128 .LcleanupSTART-.LSTARTCODE
|
||||
.uleb128 .LcleanupEND-.LcleanupSTART
|
||||
.uleb128 __condvar_cleanup1-.LSTARTCODE
|
||||
- .uleb128 0
|
||||
+ .uleb128 0
|
||||
+ .uleb128 .LcleanupSTART2-.LSTARTCODE
|
||||
+ .uleb128 .LcleanupEND2-.LcleanupSTART2
|
||||
+ .uleb128 __condvar_cleanup1-.LSTARTCODE
|
||||
+ .uleb128 0
|
||||
.uleb128 .LcallUR-.LSTARTCODE
|
||||
.uleb128 .LENDCODE-.LcallUR
|
||||
.uleb128 0
|
||||
- .uleb128 0
|
||||
+ .uleb128 0
|
||||
.Lcstend:
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/manual/resource.texi b/manual/resource.texi
|
||||
index 0549572..8e3155c 100644
|
||||
--- a/manual/resource.texi
|
||||
+++ b/manual/resource.texi
|
||||
@@ -1607,7 +1607,7 @@ processors and so the call
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
-returns the number of processors which are currently inline (i.e.,
|
||||
+returns the number of processors which are currently online (i.e.,
|
||||
available).
|
||||
|
||||
For these two pieces of information the GNU C library also provides
|
|
@ -1,29 +0,0 @@
|
|||
commit 850fb039cec802072f70ed9763927881bbbf639c
|
||||
Author: Andreas Schwab <schwab@linux-m68k.org>
|
||||
Date: Tue Dec 6 11:10:06 2011 +0100
|
||||
|
||||
Fix a wrong constant in powerpc hypot implementation
|
||||
|
||||
--- a/ChangeLog 2011-12-05 20:28:47.000000000 -0700
|
||||
+++ b/ChangeLog 2011-12-07 13:14:29.619858242 -0700
|
||||
@@ -1,3 +1,7 @@
|
||||
+2011-12-06 Andreas Schwab <schwab@linux-m68k.org>
|
||||
+
|
||||
+ * sysdeps/powerpc/fpu/e_hypot.c (twoM600): Correct value.
|
||||
+
|
||||
2011-12-02 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* misc/bits/select2.h (__FD_ELT): Mark as extension. Add
|
||||
diff --git a/sysdeps/powerpc/fpu/e_hypot.c b/sysdeps/powerpc/fpu/e_hypot.c
|
||||
index a8d67d8..3731c58 100644
|
||||
--- a/sysdeps/powerpc/fpu/e_hypot.c
|
||||
+++ b/sysdeps/powerpc/fpu/e_hypot.c
|
||||
@@ -26,7 +26,7 @@ static const double two500 = 3.2733906078961419e+150;
|
||||
static const double two600 = 4.149515568880993e+180;
|
||||
static const double two1022 = 4.49423283715579e+307;
|
||||
static const double twoM500 = 3.054936363499605e-151;
|
||||
-static const double twoM600 = 4.616489308892868e-128;
|
||||
+static const double twoM600 = 2.4099198651028841e-181;
|
||||
static const double pdnum = 2.225073858507201e-308;
|
||||
|
||||
/* __ieee754_hypot(x,y)
|
|
@ -1,35 +0,0 @@
|
|||
commit 3d7ba52b68e4dc5c4d3eb19de436c66ed9bb2f0d
|
||||
Author: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Thu Nov 3 14:26:38 2011 +0100
|
||||
|
||||
Don't fail in makedb if SELinux is disabled
|
||||
|
||||
*** a/ChangeLog Wed Nov 30 12:38:59 2011
|
||||
--- b/ChangeLog Wed Nov 30 12:39:17 2011
|
||||
***************
|
||||
*** 9,14 ****
|
||||
--- 9,19 ----
|
||||
(reused_arena): Don't check arena limit.
|
||||
(arena_get2): Atomically check arena limit.
|
||||
|
||||
+ 2011-11-03 Andreas Schwab <schwab@redhat.com>
|
||||
+
|
||||
+ * nss/makedb.c (set_file_creation_context): Do nothing if SELinux
|
||||
+ is disabled.
|
||||
+
|
||||
2011-10-19 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* sysdeps/x86_64/fpu/math_private.h (libc_feupdateenv): Use
|
||||
diff --git a/nss/makedb.c b/nss/makedb.c
|
||||
index 8cee92f..1b19966 100644
|
||||
--- a/nss/makedb.c
|
||||
+++ b/nss/makedb.c
|
||||
@@ -842,7 +842,7 @@ set_file_creation_context (const char *outname, mode_t mode)
|
||||
|
||||
/* Check if SELinux is enabled, and remember. */
|
||||
if (enabled == 0)
|
||||
- enabled = is_selinux_enabled ();
|
||||
+ enabled = is_selinux_enabled () ? 1 : -1;
|
||||
if (enabled < 0)
|
||||
return;
|
||||
|
|
@ -1,242 +0,0 @@
|
|||
commit f3a6cc0a560a17f32a3e90d2f20501a53cab6058
|
||||
Author: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Tue Nov 29 10:52:22 2011 +0100
|
||||
|
||||
Fix access after end of search string in regex matcher
|
||||
|
||||
--- a/ChangeLog 2011-11-30 12:43:22.312632113 -0700
|
||||
+++ b/ChangeLog 2011-11-30 12:43:50.569624022 -0700
|
||||
@@ -1,3 +1,14 @@
|
||||
+2011-11-29 Andreas Schwab <schwab@redhat.com>
|
||||
+
|
||||
+ * locale/weight.h (findidx): Add parameter len.
|
||||
+ * locale/weightwc.h (findidx): Likewise.
|
||||
+ * posix/fnmatch_loop.c (FCT): Adjust caller.
|
||||
+ * posix/regcomp.c (build_equiv_class): Likewise.
|
||||
+ * posix/regex_internal.h (re_string_elem_size_at): Likewise.
|
||||
+ * posix/regexec.c (check_node_accept_bytes): Likewise.
|
||||
+ * string/strcoll_l.c (STRCOLL): Likewise.
|
||||
+ * string/strxfrm_l.c (STRXFRM): Likewise.
|
||||
+
|
||||
2011-11-14 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* malloc/arena.c (arena_get2): Don't call reused_arena when
|
||||
diff --git a/locale/weight.h b/locale/weight.h
|
||||
index dc70a00..967e176 100644
|
||||
--- a/locale/weight.h
|
||||
+++ b/locale/weight.h
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004 Free Software Foundation, Inc.
|
||||
+/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004,2011 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Written by Ulrich Drepper, <drepper@cygnus.com>.
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/* Find index of weight. */
|
||||
auto inline int32_t
|
||||
__attribute ((always_inline))
|
||||
-findidx (const unsigned char **cpp)
|
||||
+findidx (const unsigned char **cpp, size_t len)
|
||||
{
|
||||
int_fast32_t i = table[*(*cpp)++];
|
||||
const unsigned char *cp;
|
||||
@@ -34,6 +34,7 @@ findidx (const unsigned char **cpp)
|
||||
Search for the correct one. */
|
||||
cp = &extra[-i];
|
||||
usrc = *cpp;
|
||||
+ --len;
|
||||
while (1)
|
||||
{
|
||||
size_t nhere;
|
||||
@@ -56,7 +57,7 @@ findidx (const unsigned char **cpp)
|
||||
already. */
|
||||
size_t cnt;
|
||||
|
||||
- for (cnt = 0; cnt < nhere; ++cnt)
|
||||
+ for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
|
||||
if (cp[cnt] != usrc[cnt])
|
||||
break;
|
||||
|
||||
@@ -79,13 +80,13 @@ findidx (const unsigned char **cpp)
|
||||
size_t cnt;
|
||||
size_t offset = 0;
|
||||
|
||||
- for (cnt = 0; cnt < nhere; ++cnt)
|
||||
+ for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
|
||||
if (cp[cnt] != usrc[cnt])
|
||||
break;
|
||||
|
||||
if (cnt != nhere)
|
||||
{
|
||||
- if (cp[cnt] > usrc[cnt])
|
||||
+ if (cnt == len || cp[cnt] > usrc[cnt])
|
||||
{
|
||||
/* Cannot be in this range. */
|
||||
cp += 2 * nhere;
|
||||
diff --git a/locale/weightwc.h b/locale/weightwc.h
|
||||
index 9ea1126..7862091 100644
|
||||
--- a/locale/weightwc.h
|
||||
+++ b/locale/weightwc.h
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* Copyright (C) 1996-2001,2003,2004,2005,2007 Free Software Foundation, Inc.
|
||||
+/* Copyright (C) 1996-2001,2003,2004,2005,2007,2011 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Written by Ulrich Drepper, <drepper@cygnus.com>.
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/* Find index of weight. */
|
||||
auto inline int32_t
|
||||
__attribute ((always_inline))
|
||||
-findidx (const wint_t **cpp)
|
||||
+findidx (const wint_t **cpp, size_t len)
|
||||
{
|
||||
wint_t ch = *(*cpp)++;
|
||||
int32_t i = __collidx_table_lookup ((const char *) table, ch);
|
||||
@@ -32,6 +32,7 @@ findidx (const wint_t **cpp)
|
||||
/* Oh well, more than one sequence starting with this byte.
|
||||
Search for the correct one. */
|
||||
const int32_t *cp = (const int32_t *) &extra[-i];
|
||||
+ --len;
|
||||
while (1)
|
||||
{
|
||||
size_t nhere;
|
||||
@@ -54,7 +55,7 @@ findidx (const wint_t **cpp)
|
||||
already. */
|
||||
size_t cnt;
|
||||
|
||||
- for (cnt = 0; cnt < nhere; ++cnt)
|
||||
+ for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
|
||||
if (cp[cnt] != usrc[cnt])
|
||||
break;
|
||||
|
||||
@@ -75,7 +76,7 @@ findidx (const wint_t **cpp)
|
||||
size_t cnt;
|
||||
size_t offset;
|
||||
|
||||
- for (cnt = 0; cnt < nhere - 1; ++cnt)
|
||||
+ for (cnt = 0; cnt < nhere - 1 && cnt < len; ++cnt)
|
||||
if (cp[cnt] != usrc[cnt])
|
||||
break;
|
||||
|
||||
diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
|
||||
index 18a6667..72bd3ee 100644
|
||||
--- a/posix/fnmatch_loop.c
|
||||
+++ b/posix/fnmatch_loop.c
|
||||
@@ -412,7 +412,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
|
||||
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
|
||||
# endif
|
||||
|
||||
- idx = findidx (&cp);
|
||||
+ idx = findidx (&cp, 1);
|
||||
if (idx != 0)
|
||||
{
|
||||
/* We found a table entry. Now see whether the
|
||||
@@ -422,7 +422,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
|
||||
int32_t idx2;
|
||||
const UCHAR *np = (const UCHAR *) n;
|
||||
|
||||
- idx2 = findidx (&np);
|
||||
+ idx2 = findidx (&np, string_end - n);
|
||||
if (idx2 != 0
|
||||
&& (idx >> 24) == (idx2 >> 24)
|
||||
&& len == weights[idx2 & 0xffffff])
|
||||
diff --git a/posix/regcomp.c b/posix/regcomp.c
|
||||
index b238c08..34ee845 100644
|
||||
--- a/posix/regcomp.c
|
||||
+++ b/posix/regcomp.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Extended regular expression matching and search library.
|
||||
- Copyright (C) 2002-2007,2009,2010 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2002-2007,2009,2010,2011 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
|
||||
|
||||
@@ -3409,19 +3409,18 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
|
||||
_NL_COLLATE_EXTRAMB);
|
||||
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
|
||||
_NL_COLLATE_INDIRECTMB);
|
||||
- idx1 = findidx (&cp);
|
||||
- if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
|
||||
+ idx1 = findidx (&cp, -1);
|
||||
+ if (BE (idx1 == 0 || *cp != '\0', 0))
|
||||
/* This isn't a valid character. */
|
||||
return REG_ECOLLATE;
|
||||
|
||||
/* Build single byte matcing table for this equivalence class. */
|
||||
- char_buf[1] = (unsigned char) '\0';
|
||||
len = weights[idx1 & 0xffffff];
|
||||
for (ch = 0; ch < SBC_MAX; ++ch)
|
||||
{
|
||||
char_buf[0] = ch;
|
||||
cp = char_buf;
|
||||
- idx2 = findidx (&cp);
|
||||
+ idx2 = findidx (&cp, 1);
|
||||
/*
|
||||
idx2 = table[ch];
|
||||
*/
|
||||
|
||||
--- a/posix/regex_internal.h 2011-11-30 12:47:02.706567482 -0700
|
||||
+++ a/posix/regex_internal.h 2011-11-30 12:47:32.969558337 -0700
|
||||
@@ -756,7 +756,7 @@
|
||||
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
|
||||
_NL_COLLATE_INDIRECTMB);
|
||||
p = pstr->mbs + idx;
|
||||
- tmp = findidx (&p);
|
||||
+ tmp = findidx (&p, pstr->len - idx);
|
||||
return p - pstr->mbs - idx;
|
||||
}
|
||||
else
|
||||
diff --git a/posix/regexec.c b/posix/regexec.c
|
||||
index 9e0c565..3ea810b 100644
|
||||
--- a/posix/regexec.c
|
||||
+++ b/posix/regexec.c
|
||||
@@ -3924,7 +3924,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
|
||||
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
|
||||
indirect = (const int32_t *)
|
||||
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
|
||||
- int32_t idx = findidx (&cp);
|
||||
+ int32_t idx = findidx (&cp, elem_len);
|
||||
if (idx > 0)
|
||||
for (i = 0; i < cset->nequiv_classes; ++i)
|
||||
{
|
||||
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
|
||||
index d8d1139..fb77d08 100644
|
||||
--- a/string/strcoll_l.c
|
||||
+++ b/string/strcoll_l.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* Copyright (C) 1995-1997,2002,2004,2007,2010 Free Software Foundation, Inc.
|
||||
+/* Copyright (C) 1995-1997,2002,2004,2007,2010,2011 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
|
||||
|
||||
@@ -205,7 +205,7 @@ STRCOLL (s1, s2, l)
|
||||
|
||||
while (*us1 != L('\0'))
|
||||
{
|
||||
- int32_t tmp = findidx (&us1);
|
||||
+ int32_t tmp = findidx (&us1, -1);
|
||||
rule1arr[idx1max] = tmp >> 24;
|
||||
idx1arr[idx1max] = tmp & 0xffffff;
|
||||
idx1cnt = idx1max++;
|
||||
@@ -267,7 +267,7 @@ STRCOLL (s1, s2, l)
|
||||
|
||||
while (*us2 != L('\0'))
|
||||
{
|
||||
- int32_t tmp = findidx (&us2);
|
||||
+ int32_t tmp = findidx (&us2, -1);
|
||||
rule2arr[idx2max] = tmp >> 24;
|
||||
idx2arr[idx2max] = tmp & 0xffffff;
|
||||
idx2cnt = idx2max++;
|
||||
diff --git a/string/strxfrm_l.c b/string/strxfrm_l.c
|
||||
index 220253c..b06556d 100644
|
||||
--- a/string/strxfrm_l.c
|
||||
+++ b/string/strxfrm_l.c
|
||||
@@ -176,7 +176,7 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
|
||||
idxmax = 0;
|
||||
do
|
||||
{
|
||||
- int32_t tmp = findidx (&usrc);
|
||||
+ int32_t tmp = findidx (&usrc, -1);
|
||||
rulearr[idxmax] = tmp >> 24;
|
||||
idxarr[idxmax] = tmp & 0xffffff;
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
commit 6257af2d05d460a0dd3e2a8268dd813edb980d81
|
||||
Author: Andreas Schwab <schwab@redhat.com>
|
||||
Date: Thu Dec 1 13:27:53 2011 +0100
|
||||
|
||||
Truncate time values in Linux futimes when falling back to utime
|
||||
|
||||
diff --git a/ChangeLog b/ChangeLog
|
||||
index 2bf0a0a..dddb628 100644
|
||||
--- a/ChangeLog
|
||||
+++ b/ChangeLog
|
||||
@@ -7,6 +7,12 @@
|
||||
* misc/bits/select2.h (__FD_ELT): Mark as extension. Add
|
||||
parenthesis.
|
||||
|
||||
+2011-12-01 Andreas Schwab <schwab@redhat.com>
|
||||
+
|
||||
+ * sysdeps/unix/sysv/linux/futimes.c: Truncate time values when
|
||||
+ falling back to utime.
|
||||
+
|
||||
+
|
||||
2011-11-29 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* locale/weight.h (findidx): Add parameter len.
|
||||
diff --git a/sysdeps/unix/sysv/linux/futimes.c b/sysdeps/unix/sysv/linux/futimes.c
|
||||
index 272b83e..cd3cce6 100644
|
||||
--- a/sysdeps/unix/sysv/linux/futimes.c
|
||||
+++ b/sysdeps/unix/sysv/linux/futimes.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* futimes -- change access and modification times of open file. Linux version.
|
||||
- Copyright (C) 2002,2003,2005,2006,2007 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2002,2003,2005,2006,2007,2011 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
|
||||
@@ -95,8 +95,8 @@ __futimes (int fd, const struct timeval tvp[2])
|
||||
if (tvp != NULL)
|
||||
{
|
||||
times = &buf;
|
||||
- buf.actime = tvp[0].tv_sec + (tvp[0].tv_usec + 500000) / 1000000;
|
||||
- buf.modtime = tvp[1].tv_sec + (tvp[1].tv_usec + 500000) / 1000000;
|
||||
+ buf.actime = tvp[0].tv_sec;
|
||||
+ buf.modtime = tvp[1].tv_sec;
|
||||
}
|
||||
else
|
||||
times = NULL;
|
|
@ -1,82 +0,0 @@
|
|||
commit 97ac2654b2d831acaa18a2b018b0736245903fd2
|
||||
Author: Ulrich Drepper <drepper@gmail.com>
|
||||
Date: Sat Dec 17 20:18:42 2011 -0500
|
||||
|
||||
Check values from TZ file header
|
||||
|
||||
|
||||
[BZ #13506]
|
||||
* time/tzfile.c (__tzfile_read): Check values from file header.
|
||||
|
||||
diff --git a/time/tzfile.c b/time/tzfile.c
|
||||
index 144e20b..402389c 100644
|
||||
--- a/time/tzfile.c
|
||||
+++ b/time/tzfile.c
|
||||
@@ -234,23 +234,58 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
|
||||
goto read_again;
|
||||
}
|
||||
|
||||
+ if (__builtin_expect (num_transitions
|
||||
+ > ((SIZE_MAX - (__alignof__ (struct ttinfo) - 1))
|
||||
+ / (sizeof (time_t) + 1)), 0))
|
||||
+ goto lose;
|
||||
total_size = num_transitions * (sizeof (time_t) + 1);
|
||||
total_size = ((total_size + __alignof__ (struct ttinfo) - 1)
|
||||
& ~(__alignof__ (struct ttinfo) - 1));
|
||||
types_idx = total_size;
|
||||
- total_size += num_types * sizeof (struct ttinfo) + chars;
|
||||
+ if (__builtin_expect (num_types
|
||||
+ > (SIZE_MAX - total_size) / sizeof (struct ttinfo), 0))
|
||||
+ goto lose;
|
||||
+ total_size += num_types * sizeof (struct ttinfo);
|
||||
+ if (__builtin_expect (chars > SIZE_MAX - total_size, 0))
|
||||
+ goto lose;
|
||||
+ total_size += chars;
|
||||
+ if (__builtin_expect (__alignof__ (struct leap) - 1
|
||||
+ > SIZE_MAX - total_size, 0))
|
||||
+ goto lose;
|
||||
total_size = ((total_size + __alignof__ (struct leap) - 1)
|
||||
& ~(__alignof__ (struct leap) - 1));
|
||||
leaps_idx = total_size;
|
||||
+ if (__builtin_expect (num_leaps
|
||||
+ > (SIZE_MAX - total_size) / sizeof (struct leap), 0))
|
||||
+ goto lose;
|
||||
total_size += num_leaps * sizeof (struct leap);
|
||||
- tzspec_len = (sizeof (time_t) == 8 && trans_width == 8
|
||||
- ? st.st_size - (ftello (f)
|
||||
- + num_transitions * (8 + 1)
|
||||
- + num_types * 6
|
||||
- + chars
|
||||
- + num_leaps * 12
|
||||
- + num_isstd
|
||||
- + num_isgmt) - 1 : 0);
|
||||
+ tzspec_len = 0;
|
||||
+ if (sizeof (time_t) == 8 && trans_width == 8)
|
||||
+ {
|
||||
+ off_t rem = st.st_size - ftello (f);
|
||||
+ if (__builtin_expect (rem < 0
|
||||
+ || (size_t) rem < (num_transitions * (8 + 1)
|
||||
+ + num_types * 6
|
||||
+ + chars), 0))
|
||||
+ goto lose;
|
||||
+ tzspec_len = (size_t) rem - (num_transitions * (8 + 1)
|
||||
+ + num_types * 6
|
||||
+ + chars);
|
||||
+ if (__builtin_expect (num_leaps > SIZE_MAX / 12
|
||||
+ || tzspec_len < num_leaps * 12, 0))
|
||||
+ goto lose;
|
||||
+ tzspec_len -= num_leaps * 12;
|
||||
+ if (__builtin_expect (tzspec_len < num_isstd, 0))
|
||||
+ goto lose;
|
||||
+ tzspec_len -= num_isstd;
|
||||
+ if (__builtin_expect (tzspec_len == 0 || tzspec_len - 1 < num_isgmt, 0))
|
||||
+ goto lose;
|
||||
+ tzspec_len -= num_isgmt + 1;
|
||||
+ if (__builtin_expect (SIZE_MAX - total_size < tzspec_len, 0))
|
||||
+ goto lose;
|
||||
+ }
|
||||
+ if (__builtin_expect (SIZE_MAX - total_size - tzspec_len < extra, 0))
|
||||
+ goto lose;
|
||||
|
||||
/* Allocate enough memory including the extra block requested by the
|
||||
caller. */
|
|
@ -1,14 +0,0 @@
|
|||
--- a/nptl/pthread_create.c 2011-12-13 11:41:37.000000000 -0700
|
||||
+++ b/nptl/pthread_create.c 2011-12-14 10:03:13.000000000 -0700
|
||||
@@ -440,8 +440,9 @@
|
||||
int err = ALLOCATE_STACK (iattr, &pd);
|
||||
if (__builtin_expect (err != 0, 0))
|
||||
/* Something went wrong. Maybe a parameter of the attributes is
|
||||
- invalid or we could not allocate memory. */
|
||||
- return err;
|
||||
+ invalid or we could not allocate memory. Note we have to
|
||||
+ translate error codes. */
|
||||
+ return err == ENOMEM ? EAGAIN : err;
|
||||
|
||||
|
||||
/* Initialize the TCB. All initializations with zero should be
|
44
glibc.spec
44
glibc.spec
|
@ -1,6 +1,6 @@
|
|||
%define glibcsrcdir glibc-2.14-394-g8f3b1ff
|
||||
%define glibcsrcdir glibc-2.14-a4647e7
|
||||
%define glibcversion 2.14.90
|
||||
%define glibcportsdir glibc-ports-2.14-25-gd3d9bde
|
||||
%define glibcportsdir glibc-ports-2.14-4a93ed4
|
||||
### glibc.spec.in follows:
|
||||
%define run_glibc_tests 1
|
||||
%define auxarches athlon alphaev6
|
||||
|
@ -28,7 +28,7 @@
|
|||
Summary: The GNU libc libraries
|
||||
Name: glibc
|
||||
Version: %{glibcversion}
|
||||
Release: 24%{?dist}.3
|
||||
Release: 25%{?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
|
||||
|
@ -37,24 +37,15 @@ Release: 24%{?dist}.3
|
|||
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.gnu.org/software/glibc/
|
||||
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.xz
|
||||
Source1: %{?glibc_release_url}%{glibcportsdir}.tar.xz
|
||||
Source2: %{glibcsrcdir}-fedora.tar.xz
|
||||
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.gz
|
||||
Source1: %{?glibc_release_url}%{glibcportsdir}.tar.gz
|
||||
Source2: %{glibcsrcdir}-fedora.tar.gz
|
||||
Patch0: %{name}-fedora.patch
|
||||
Patch1: %{name}-ia64-lib64.patch
|
||||
Patch2: %{name}-no-leaf-attribute.patch
|
||||
Patch3: %{name}-localegrouping.patch
|
||||
Patch4: %{name}-arenalock.patch
|
||||
Patch5: %{name}-rh757881.patch
|
||||
Patch6: %{name}-rh750858.patch
|
||||
Patch7: %{name}-rh757887.patch
|
||||
Patch8: %{name}-fdelt.patch
|
||||
Patch9: %{name}-rh708455.patch
|
||||
Patch10: %{name}-rh750811.patch
|
||||
Patch11: %{name}-rh758252.patch
|
||||
Patch12: %{name}-rh767746.patch
|
||||
Patch13: %{name}-rh552960.patch
|
||||
Patch14: %{name}-rh767696.patch
|
||||
# Uli wants to see this undergo more analyis (what happens when thread B calls into malloc when
|
||||
# thread A has unlocked on the error path
|
||||
# There's an alternate approach using mmap after detecting an error that needs discussion
|
||||
Patch2: %{name}-rh757881.patch
|
||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Obsoletes: glibc-profile < 2.4
|
||||
Obsoletes: nss_db
|
||||
|
@ -274,18 +265,6 @@ rm -rf %{glibcportsdir}
|
|||
%endif
|
||||
%endif
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
|
||||
# A lot of programs still misuse memcpy when they have to use
|
||||
# memmove. The memcpy implementation below is not tolerant at
|
||||
|
@ -1138,6 +1117,9 @@ rm -f *.filelist*
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Dec 19 2011 Jeff Law <law@redhat.com> - 2.14.90-25.fc17
|
||||
- Update from master (a4647e7).
|
||||
|
||||
* Sun Dec 18 2011 Jeff Law <law@redhat.com> - 2.14.90-24.fc16.3
|
||||
- Check values from TZ file header (#767696)
|
||||
- Handle EAGAIN from FUTEX_WAIT_REQUEUE_PI (#552960)
|
||||
|
|
6
sources
6
sources
|
@ -1,3 +1,3 @@
|
|||
6cb0f013d410bf40e1a1d28a5d9f95b9 glibc-2.14-394-g8f3b1ff-fedora.tar.xz
|
||||
860f193936a67a1fd1e06c2b85912477 glibc-2.14-394-g8f3b1ff.tar.xz
|
||||
9673adaacae3ac645748827a62876ce9 glibc-ports-2.14-25-gd3d9bde.tar.xz
|
||||
cb5aa693529a29dccf63ff469464fcce glibc-2.14-a4647e7-fedora.tar.gz
|
||||
905fb427fbfa8a32c01f63bfdd3f7912 glibc-2.14-a4647e7.tar.gz
|
||||
2e5aa88b3474e41a90cdb1dab2ee1c5d glibc-ports-2.14-4a93ed4.tar.gz
|
||||
|
|
Loading…
Reference in New Issue