GNU C Library master sources branch, master, updated. glibc-2.12-128-g8b2b771

roland@sourceware.org roland@sourceware.org
Wed Aug 25 19:14:00 GMT 2010


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  8b2b77153826547eb9cb204c3d3e0e407b574dba (commit)
      from  e73015f2d666b66c69f3c6f350e2dcd3df5b075a (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=8b2b77153826547eb9cb204c3d3e0e407b574dba

commit 8b2b77153826547eb9cb204c3d3e0e407b574dba
Author: Roland McGrath <roland@redhat.com>
Date:   Wed Aug 25 12:13:08 2010 -0700

    Clean up warnings in new x86_64/multiarch code.

diff --git a/ChangeLog b/ChangeLog
index b118a20..33fe899 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-08-25  Roland McGrath  <roland@redhat.com>
+
+	* sysdeps/x86_64/multiarch/varshift.S: File removed.
+	* sysdeps/x86_64/multiarch/varshift.c: New file.
+	* sysdeps/x86_64/multiarch/Makefile (CFLAGS-varshift.c): New variable.
+	* sysdeps/x86_64/multiarch/varshift.h: Clean up decls, fix a cast.
+	* sysdeps/x86_64/multiarch/memmove.c: Move decls around.
+	* sysdeps/x86_64/multiarch/memmove_chk.c: Likewise.
+
 2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
diff --git a/sysdeps/x86_64/multiarch/Makefile b/sysdeps/x86_64/multiarch/Makefile
index 27dc563..ca0040e 100644
--- a/sysdeps/x86_64/multiarch/Makefile
+++ b/sysdeps/x86_64/multiarch/Makefile
@@ -11,6 +11,7 @@ sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
 		   strncase_l-ssse3
 ifeq (yes,$(config-cflags-sse4))
 sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c varshift
+CFLAGS-varshift.c += -msse4
 CFLAGS-strcspn-c.c += -msse4
 CFLAGS-strpbrk-c.c += -msse4
 CFLAGS-strspn-c.c += -msse4
diff --git a/sysdeps/x86_64/multiarch/memmove.c b/sysdeps/x86_64/multiarch/memmove.c
index bbe9627..3798627 100644
--- a/sysdeps/x86_64/multiarch/memmove.c
+++ b/sysdeps/x86_64/multiarch/memmove.c
@@ -1,3 +1,24 @@
+/* Multiple versions of memmove.
+   Copyright (C) 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <string.h>
+
 #ifndef NOT_IN_libc
 #include "init-arch.h"
 
@@ -9,13 +30,13 @@
 #endif
 #endif
 
+extern __typeof (memmove) __memmove_sse2 attribute_hidden;
+extern __typeof (memmove) __memmove_ssse3 attribute_hidden;
+extern __typeof (memmove) __memmove_ssse3_back attribute_hidden;
+
 #include "string/memmove.c"
 
 #ifndef NOT_IN_libc
-extern __typeof (__memmove_sse2) __memmove_sse2 attribute_hidden;
-extern __typeof (__memmove_sse2) __memmove_ssse3 attribute_hidden;
-extern __typeof (__memmove_sse2) __memmove_ssse3_back attribute_hidden;
-
 libc_ifunc (memmove,
 	    HAS_SSSE3
 	    ? (HAS_FAST_COPY_BACKWARD
diff --git a/sysdeps/x86_64/multiarch/memmove_chk.c b/sysdeps/x86_64/multiarch/memmove_chk.c
index a474f5f..962501d 100644
--- a/sysdeps/x86_64/multiarch/memmove_chk.c
+++ b/sysdeps/x86_64/multiarch/memmove_chk.c
@@ -1,12 +1,32 @@
+/* Multiple versions of __memmove_chk.
+   Copyright (C) 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <string.h>
 #include "init-arch.h"
 
 #define MEMMOVE_CHK __memmove_chk_sse2
 
-#include "debug/memmove_chk.c"
+extern __typeof (__memmove_chk) __memmove_chk_sse2 attribute_hidden;
+extern __typeof (__memmove_chk) __memmove_chk_ssse3 attribute_hidden;
+extern __typeof (__memmove_chk) __memmove_chk_ssse3_back attribute_hidden;
 
-extern __typeof (__memmove_chk_sse2) __memmove_chk_sse2 attribute_hidden;
-extern __typeof (__memmove_chk_sse2) __memmove_chk_ssse3 attribute_hidden;
-extern __typeof (__memmove_chk_sse2) __memmove_chk_ssse3_back attribute_hidden;
+#include "debug/memmove_chk.c"
 
 libc_ifunc (__memmove_chk,
 	    HAS_SSSE3
diff --git a/sysdeps/x86_64/multiarch/varshift.S b/sysdeps/x86_64/multiarch/varshift.c
similarity index 75%
rename from sysdeps/x86_64/multiarch/varshift.S
rename to sysdeps/x86_64/multiarch/varshift.c
index b50f98b..1050613 100644
--- a/sysdeps/x86_64/multiarch/varshift.S
+++ b/sysdeps/x86_64/multiarch/varshift.c
@@ -17,14 +17,10 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#include <sysdep.h>
+#include "varshift.h"
 
-
-	.section .rodata
-	.hidden	___m128i_shift_right
-	.globl	___m128i_shift_right
-	.size	___m128i_shift_right, 31
-
-___m128i_shift_right:
-	.byte	  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15
-	.byte	 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
+const int8_t ___m128i_shift_right[31] attribute_hidden =
+  {
+    0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15
+    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
+  };
diff --git a/sysdeps/x86_64/multiarch/varshift.h b/sysdeps/x86_64/multiarch/varshift.h
index 58f98b0..9554f2d 100644
--- a/sysdeps/x86_64/multiarch/varshift.h
+++ b/sysdeps/x86_64/multiarch/varshift.h
@@ -17,11 +17,15 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <stdint.h>
+#include <tmmintrin.h>
 
-extern char ___m128i_shift_right[31] __attribute__ ((visibility ("hidden")));
+extern const int8_t ___m128i_shift_right[31] attribute_hidden;
 
 static __inline__ __m128i
-__m128i_shift_right (__m128i value, unsigned long offset)
+__m128i_shift_right (__m128i value, unsigned long int offset)
 {
-  return _mm_shuffle_epi8 (value, _mm_loadu_si128 ((__m128 *) (___m128i_shift_right + offset)));
+  return _mm_shuffle_epi8 (value,
+			   _mm_loadu_si128 ((__m128i *) (___m128i_shift_right
+							 + offset)));
 }

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    9 ++++++
 sysdeps/x86_64/multiarch/Makefile                  |    1 +
 sysdeps/x86_64/multiarch/memmove.c                 |   29 +++++++++++++++++---
 sysdeps/x86_64/multiarch/memmove_chk.c             |   28 ++++++++++++++++---
 .../x86_64/multiarch/{varshift.S => varshift.c}    |   16 ++++-------
 sysdeps/x86_64/multiarch/varshift.h                |   10 +++++--
 6 files changed, 72 insertions(+), 21 deletions(-)
 rename sysdeps/x86_64/multiarch/{varshift.S => varshift.c} (75%)


hooks/post-receive
-- 
GNU C Library master sources



More information about the Glibc-cvs mailing list