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.12-228-g42acbb9
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 9 Dec 2010 15:38:41 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.12-228-g42acbb9
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 42acbb92c861e97a6e1293ea853db88342a1bf53 (commit)
from a5b913e299027a799ae5435d66e3f20e95859654 (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=42acbb92c861e97a6e1293ea853db88342a1bf53
commit 42acbb92c861e97a6e1293ea853db88342a1bf53
Author: Jakub Jelinek <jakub@redhat.com>
Date: Thu Dec 9 10:38:18 2010 -0500
Fix -D_FORTIFY_SOURCE memmove and bcop
diff --git a/ChangeLog b/ChangeLog
index 0fa7a55..1d5801a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ * string/bits/string3.h (memmove, bcopy): Remove __restrict.
+
2010-12-03 Ulrich Drepper <drepper@gmail.com>
* po/it.po: Update from translation team.
diff --git a/string/bits/string3.h b/string/bits/string3.h
index 1d759f1..1647725 100644
--- a/string/bits/string3.h
+++ b/string/bits/string3.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2007, 2009, 2010 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
@@ -53,8 +53,7 @@ __NTH (memcpy (void *__restrict __dest, __const void *__restrict __src,
}
__extern_always_inline void *
-__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
- size_t __len))
+__NTH (memmove (void *__dest, __const void *__src, size_t __len))
{
return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
@@ -88,8 +87,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len))
#ifdef __USE_BSD
__extern_always_inline void
-__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
- size_t __len))
+__NTH (bcopy (__const void *__src, void *__dest, size_t __len))
{
(void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
diff --git a/sysdeps/i386/i686/multiarch/strcmp.S b/sysdeps/i386/i686/multiarch/strcmp.S
index 7136d47..8724594 100644
--- a/sysdeps/i386/i686/multiarch/strcmp.S
+++ b/sysdeps/i386/i686/multiarch/strcmp.S
@@ -40,37 +40,32 @@
need strncmp before the initialization happened. */
#if (defined SHARED || !defined USE_AS_STRNCMP) && !defined NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
+ .section .gnu.linkonce.t.__i686.get_pc_thunk.dx,"ax",@progbits
+ .globl __i686.get_pc_thunk.dx
+ .hidden __i686.get_pc_thunk.dx
+ .p2align 2
+ .type __i686.get_pc_thunk.dx,@function
+__i686.get_pc_thunk.dx:
+ movl (%esp), %edx
ret
+ .size __i686.get_pc_thunk.dx, .-__i686.get_pc_thunk.dx
.text
ENTRY(STRCMP)
.type STRCMP, @gnu_indirect_function
- pushl %ebx
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
- cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
+ call __i686.get_pc_thunk.dx
+ addl $_GLOBAL_OFFSET_TABLE_, %edx
+ cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%edx)
jne 1f
call __init_cpu_features
-1: leal __STRCMP_IA32@GOTOFF(%ebx), %eax
- testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features@GOTOFF(%ebx)
- jz 2f
- leal __STRCMP_SSSE3@GOTOFF(%ebx), %eax
- testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx)
- jz 2f
- leal __STRCMP_SSE4_2@GOTOFF(%ebx), %eax
-2: popl %ebx
- cfi_adjust_cfa_offset (-4)
- cfi_restore (ebx)
- ret
+1: leal __STRCMP_SSE4_2@GOTOFF(%edx), %eax
+ testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%edx)
+ jnz 2f
+ leal __STRCMP_SSSE3@GOTOFF(%edx), %eax
+ testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features@GOTOFF(%edx)
+ jnz 2f
+ leal __STRCMP_IA32@GOTOFF(%edx), %ecx
+2: ret
END(STRCMP)
# else
.text
@@ -79,13 +74,13 @@ ENTRY(STRCMP)
cmpl $0, KIND_OFFSET+__cpu_features
jne 1f
call __init_cpu_features
-1: leal __STRCMP_IA32, %eax
- testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features
- jz 2f
- leal __STRCMP_SSSE3, %eax
+1: leal __STRCMP_SSE4_2, %eax
testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features
- jz 2f
- leal __STRCMP_SSE4_2, %eax
+ jnz 2f
+ leal __STRCMP_SSSE3, %eax
+ testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features
+ jnz 2f
+ leal __STRCMP_IA32, %eax
2: ret
END(STRCMP)
# endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 4 ++
string/bits/string3.h | 8 ++---
sysdeps/i386/i686/multiarch/strcmp.S | 55 +++++++++++++++------------------
3 files changed, 32 insertions(+), 35 deletions(-)
hooks/post-receive
--
GNU C Library master sources