This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.14-137-g2ee5518
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 23 Jul 2011 04:04:55 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.14-137-g2ee5518
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 2ee5518515103e5370b47e6170e8782d7fd2fcba (commit)
via 7a03a9c8c4b37b88ac5e82b557d974f3161ddaf9 (commit)
via 1aae088a8aa2a4e4211bfe6c0e18100d85f106ae (commit)
via 8e2045f55574da097d4fee54aaf1496546e8950c (commit)
via 90f139ddd0cfbb1f0b0ebd1fb73d4e2a2765f83b (commit)
via 1d002f25399c0a0ed2cc276d4ee18db869152384 (commit)
from 21137f89c574de2cadda332ad874b2e6b624f950 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2ee5518515103e5370b47e6170e8782d7fd2fcba
commit 2ee5518515103e5370b47e6170e8782d7fd2fcba
Merge: 7a03a9c 21137f8
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sat Jul 23 00:04:15 2011 -0400
Merge branch 'master' of ssh://sourceware.org/git/glibc
Conflicts:
ChangeLog
diff --cc ChangeLog
index 40c1ea9,9e03d17..d149838
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,19 -1,9 +1,25 @@@
+2011-07-22 Ulrich Drepper <drepper@gmail.com>
+
+ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix test for
+ OSXSAVE.
+ (_dl_x86_64_save_sse): Likewise.
+
+ * crypt/crypt_util.c (__init_des_r): Optimize memset calls.
+
+ * crypt/crypt_util.c (__init_des_r): Add read barrier as well.
+
+2011-07-21 Andreas Schwab <schwab@redhat.com>
+
+ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix last
+ change.
+ (_dl_x86_64_save_sse): Use correct AVX check.
+
+ 2011-07-21 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
+
+ * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Fix overfow
+ bug in strncpy/strncat.
+ * sysdeps/x86_64/multiarch/strcpy-ssse3.S: Likewise.
+
2011-07-21 Ulrich Drepper <drepper@gmail.com>
* string/tester.c (test_strcat): Add tests for different alignments
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7a03a9c8c4b37b88ac5e82b557d974f3161ddaf9
commit 7a03a9c8c4b37b88ac5e82b557d974f3161ddaf9
Author: Ulrich Drepper <drepper@gmail.com>
Date: Fri Jul 22 23:48:22 2011 -0400
Add read barriers in cancellation initialization
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 2acc676..5920800 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,11 @@
+2011-07-22 Ulrich Drepper <drepper@gmail.com>
+
+ * sysdeps/pthread/unwind-forcedunwind.c (_Unwind_Resume): Add read
+ barrier.
+ (__gcc_personality_v0): Likewise.
+ (_Unwind_ForcedUnwind): Likewise.
+ (_Unwind_GetCFA): Likewise.
+
2011-07-14 Roland McGrath <roland@hack.frob.com>
* allocatestack.c (__reclaim_stacks): Use uintptr_t cast rather than
diff --git a/nptl/sysdeps/pthread/unwind-forcedunwind.c b/nptl/sysdeps/pthread/unwind-forcedunwind.c
index ae43f33..3b27827 100644
--- a/nptl/sysdeps/pthread/unwind-forcedunwind.c
+++ b/nptl/sysdeps/pthread/unwind-forcedunwind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2005, 2006, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>.
@@ -96,6 +96,8 @@ _Unwind_Resume (struct _Unwind_Exception *exc)
{
if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
+ else
+ atomic_read_barrier ();
void (*resume) (struct _Unwind_Exception *exc) = libgcc_s_resume;
PTR_DEMANGLE (resume);
@@ -105,11 +107,13 @@ _Unwind_Resume (struct _Unwind_Exception *exc)
_Unwind_Reason_Code
__gcc_personality_v0 (int version, _Unwind_Action actions,
_Unwind_Exception_Class exception_class,
- struct _Unwind_Exception *ue_header,
- struct _Unwind_Context *context)
+ struct _Unwind_Exception *ue_header,
+ struct _Unwind_Context *context)
{
if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
+ else
+ atomic_read_barrier ();
_Unwind_Reason_Code (*personality)
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
@@ -124,6 +128,8 @@ _Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop,
{
if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
+ else
+ atomic_read_barrier ();
_Unwind_Reason_Code (*forcedunwind)
(struct _Unwind_Exception *, _Unwind_Stop_Fn, void *)
@@ -137,6 +143,8 @@ _Unwind_GetCFA (struct _Unwind_Context *context)
{
if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
+ else
+ atomic_read_barrier ();
_Unwind_Word (*getcfa) (struct _Unwind_Context *) = libgcc_s_getcfa;
PTR_DEMANGLE (getcfa);
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1aae088a8aa2a4e4211bfe6c0e18100d85f106ae
commit 1aae088a8aa2a4e4211bfe6c0e18100d85f106ae
Author: Ulrich Drepper <drepper@gmail.com>
Date: Fri Jul 22 23:33:22 2011 -0400
One more change to XSAVE patch
diff --git a/ChangeLog b/ChangeLog
index 5d6658a..40c1ea9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2011-07-22 Ulrich Drepper <drepper@gmail.com>
+ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix test for
+ OSXSAVE.
+ (_dl_x86_64_save_sse): Likewise.
+
* crypt/crypt_util.c (__init_des_r): Optimize memset calls.
* crypt/crypt_util.c (__init_des_r): Add read barrier as well.
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index ad7479f..4aa63ee 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -141,7 +141,8 @@ L(have_avx):
movq %r11,%rbx # Restore rbx
xorl %eax, %eax
// AVX and XSAVE supported?
- testl $((1 << 28) | (1 << 27)), %ecx
+ andl $((1 << 28) | (1 << 27)), %ecx
+ cmpl $((1 << 28) | (1 << 27)), %ecx
je 2f
xorl %ecx, %ecx
// Get XFEATURE_ENABLED_MASK
@@ -186,7 +187,8 @@ _dl_x86_64_save_sse:
movq %r11,%rbx # Restore rbx
xorl %eax, %eax
// AVX and XSAVE supported?
- testl $((1 << 28) | (1 << 27)), %ecx
+ andl $((1 << 28) | (1 << 27)), %ecx
+ cmpl $((1 << 28) | (1 << 27)), %ecx
je 2f
xorl %ecx, %ecx
// Get XFEATURE_ENABLED_MASK
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8e2045f55574da097d4fee54aaf1496546e8950c
commit 8e2045f55574da097d4fee54aaf1496546e8950c
Author: Ulrich Drepper <drepper@gmail.com>
Date: Fri Jul 22 23:25:40 2011 -0400
Optimize __init_des_r
diff --git a/ChangeLog b/ChangeLog
index ca3d4c2..5d6658a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2011-07-22 Ulrich Drepper <drepper@gmail.com>
+ * crypt/crypt_util.c (__init_des_r): Optimize memset calls.
+
* crypt/crypt_util.c (__init_des_r): Add read barrier as well.
2011-07-21 Andreas Schwab <schwab@redhat.com>
diff --git a/crypt/crypt_util.c b/crypt/crypt_util.c
index 2576ccb..04b262d 100644
--- a/crypt/crypt_util.c
+++ b/crypt/crypt_util.c
@@ -492,10 +492,20 @@ small_tables_done:
*
*/
- _ufc_clearmem((char*)__data->sb0, (int)sizeof(__data->sb0));
- _ufc_clearmem((char*)__data->sb1, (int)sizeof(__data->sb1));
- _ufc_clearmem((char*)__data->sb2, (int)sizeof(__data->sb2));
- _ufc_clearmem((char*)__data->sb3, (int)sizeof(__data->sb3));
+ if (__data->sb0 + sizeof (__data->sb0) == __data->sb1
+ && __data->sb1 + sizeof (__data->sb1) == __data->sb2
+ && __data->sb2 + sizeof (__data->sb2) == __data->sb3)
+ _ufc_clearmem(__data->sb0,
+ (int)sizeof(__data->sb0)
+ + (int)sizeof(__data->sb1)
+ + (int)sizeof(__data->sb2)
+ + (int)sizeof(__data->sb3));
+ else {
+ _ufc_clearmem(__data->sb0, (int)sizeof(__data->sb0));
+ _ufc_clearmem(__data->sb1, (int)sizeof(__data->sb1));
+ _ufc_clearmem(__data->sb2, (int)sizeof(__data->sb2));
+ _ufc_clearmem(__data->sb3, (int)sizeof(__data->sb3));
+ }
for(sg = 0; sg < 4; sg++) {
int j1, j2;
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=90f139ddd0cfbb1f0b0ebd1fb73d4e2a2765f83b
commit 90f139ddd0cfbb1f0b0ebd1fb73d4e2a2765f83b
Author: Ulrich Drepper <drepper@gmail.com>
Date: Fri Jul 22 23:19:30 2011 -0400
Add read barrier protecting DES initialization
diff --git a/ChangeLog b/ChangeLog
index a9208f6..ca3d4c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-07-22 Ulrich Drepper <drepper@gmail.com>
+
+ * crypt/crypt_util.c (__init_des_r): Add read barrier as well.
+
2011-07-21 Andreas Schwab <schwab@redhat.com>
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix last
diff --git a/crypt/crypt_util.c b/crypt/crypt_util.c
index 7999a30..2576ccb 100644
--- a/crypt/crypt_util.c
+++ b/crypt/crypt_util.c
@@ -1,7 +1,8 @@
/*
* UFC-crypt: ultra fast crypt(3) implementation
*
- * Copyright (C) 1991-1993,1996-1998,2000,2010 Free Software Foundation, Inc.
+ * Copyright (C) 1991-1993,1996-1998,2000,2010,2011
+ * Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -475,7 +476,8 @@ __init_des_r(__data)
small_tables_done:
__libc_lock_unlock(_ufc_tables_lock);
#endif
- }
+ } else
+ atomic_read_barrier ();
/*
* Create the sb tables:
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1d002f25399c0a0ed2cc276d4ee18db869152384
commit 1d002f25399c0a0ed2cc276d4ee18db869152384
Author: Andreas Schwab <schwab@redhat.com>
Date: Fri Jul 22 14:33:47 2011 -0400
Fix AVX check
diff --git a/ChangeLog b/ChangeLog
index 17096fb..a9208f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-07-21 Andreas Schwab <schwab@redhat.com>
+
+ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix last
+ change.
+ (_dl_x86_64_save_sse): Use correct AVX check.
+
2011-07-21 Ulrich Drepper <drepper@gmail.com>
* string/tester.c (test_strcat): Add tests for different alignments
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index 1b97929..ad7479f 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -150,7 +150,8 @@ L(have_avx):
cmpl $0x6, %eax
// Nonzero if SSE and AVX state saving is enabled.
sete %al
-2: movl %eax, L(have_avx)(%rip)
+2: leal -1(%eax,%eax), %eax
+ movl %eax, L(have_avx)(%rip)
cmpl $0, %eax
1: js L(no_avx)
@@ -183,11 +184,19 @@ _dl_x86_64_save_sse:
movl $1, %eax
cpuid
movq %r11,%rbx # Restore rbx
- movl $1, %eax
- testl $(1 << 28), %ecx
- jne 2f
- negl %eax
-2: movl %eax, L(have_avx)(%rip)
+ xorl %eax, %eax
+ // AVX and XSAVE supported?
+ testl $((1 << 28) | (1 << 27)), %ecx
+ je 2f
+ xorl %ecx, %ecx
+ // Get XFEATURE_ENABLED_MASK
+ xgetbv
+ andl $0x6, %eax
+ cmpl $0x6, %eax
+ // Nonzero if SSE and AVX state saving is enabled.
+ sete %al
+2: leal -1(%eax,%eax), %eax
+ movl %eax, L(have_avx)(%rip)
cmpl $0, %eax
1: js L(no_avx5)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 16 ++++++++++++++++
crypt/crypt_util.c | 24 ++++++++++++++++++------
nptl/ChangeLog | 8 ++++++++
nptl/sysdeps/pthread/unwind-forcedunwind.c | 14 +++++++++++---
sysdeps/x86_64/dl-trampoline.S | 25 ++++++++++++++++++-------
5 files changed, 71 insertions(+), 16 deletions(-)
hooks/post-receive
--
GNU C Library master sources