[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r15845 - in /fsf/trunk/libc: ChangeLog sysdeps/i386/i686/multiarch/strcmp-sse4.S sysdeps/i386/i686/multiarch/strcmp-ssse3.S



Author: eglibc
Date: Thu Nov 17 00:02:04 2011
New Revision: 15845

Log:
Import glibc-mainline for 2011-11-17

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S
    fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Nov 17 00:02:04 2011
@@ -1,3 +1,16 @@
+2011-11-16  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* sysdeps/i386/i686/multiarch/strcmp-ssse3.S
+	[USE_AS_STRCASECMP_L]: Fix argument offsets for non-PIC.
+	[USE_AS_STRNCASECMP_L]: Likewise.
+	(__strcasecmp_ssse3, __strncasecmp_ssse3): Handle
+	NO_TLS_DIRECT_SEG_REFS.
+	* sysdeps/i386/i686/multiarch/strcmp-sse4.S [USE_AS_STRCASECMP_L]:
+	Fix argument offsets for non-PIC.
+	[USE_AS_STRNCASECMP_L]: Likewise.
+	(__strcasecmp_sse4_2, __strncasecmp_sse4_2): Handle
+	NO_TLS_DIRECT_SEG_REFS.
+
 2011-11-15  Ulrich Drepper  <drepper@xxxxxxxxx>
 
 	* locale/loadarchive.c (_nl_load_locale_from_archive): Open files to

Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S Thu Nov 17 00:02:04 2011
@@ -48,7 +48,11 @@
 # ifndef STRCMP
 #  define STRCMP	__strcasecmp_l_sse4_2
 # endif
-# define STR1		12
+# ifdef PIC
+#  define STR1		12
+# else
+#  define STR1		8
+# endif
 # define STR2		STR1+4
 # define LOCALE		12	/* Loaded before the adjustement.  */
 # ifdef PIC
@@ -63,7 +67,11 @@
 # ifndef STRCMP
 #  define STRCMP	__strncasecmp_l_sse4_2
 # endif
-# define STR1		16
+# ifdef PIC
+#  define STR1		16
+# else
+#  define STR1		12
+# endif
 # define STR2		STR1+4
 # define CNT		STR2+4
 # define LOCALE		16	/* Loaded before the adjustement.  */
@@ -95,10 +103,20 @@
 	call	__i686.get_pc_thunk.bx
 	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-# else
-	movl	__libc_tsd_LOCALE@NTPOFF, %eax
-# endif
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	addl	%gs:0, %eax
+	movl	(%eax), %eax
+#  else
 	movl	%gs:(%eax), %eax
+#  endif
+# else
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	movl	%gs:0, %eax
+	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
+#  else
+	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
+#  endif
+# endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax
 # else
@@ -117,10 +135,20 @@
 	call	__i686.get_pc_thunk.bx
 	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-# else
-	movl	__libc_tsd_LOCALE@NTPOFF, %eax
-# endif
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	addl	%gs:0, %eax
+	movl	(%eax), %eax
+#  else
 	movl	%gs:(%eax), %eax
+#  endif
+# else
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	movl	%gs:0, %eax
+	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
+#  else
+	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
+#  endif
+# endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax
 # else

Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S Thu Nov 17 00:02:04 2011
@@ -56,7 +56,11 @@
 # ifndef STRCMP
 #  define STRCMP	__strcasecmp_l_ssse3
 # endif
-# define STR1		8
+# ifdef PIC
+#  define STR1		8
+# else
+#  define STR1		4
+# endif
 # define STR2		STR1+4
 # define LOCALE		12	/* Loaded before the adjustement.  */
 # ifdef PIC
@@ -72,7 +76,11 @@
 # ifndef STRCMP
 #  define STRCMP	__strncasecmp_l_ssse3
 # endif
-# define STR1		12
+# ifdef PIC
+#  define STR1		12
+# else
+#  define STR1		8
+# endif
 # define STR2		STR1+4
 # define CNT		STR2+4
 # define LOCALE		16	/* Loaded before the adjustement.  */
@@ -112,10 +120,20 @@
 	call	__i686.get_pc_thunk.bx
 	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-# else
-	movl	__libc_tsd_LOCALE@NTPOFF, %eax
-# endif
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	addl	%gs:0, %eax
+	movl	(%eax), %eax
+#  else
 	movl	%gs:(%eax), %eax
+#  endif
+# else
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	movl	%gs:0, %eax
+	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
+#  else
+	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
+#  endif
+# endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax
 # else
@@ -134,10 +152,20 @@
 	call	__i686.get_pc_thunk.bx
 	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-# else
-	movl	__libc_tsd_LOCALE@NTPOFF, %eax
-# endif
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	addl	%gs:0, %eax
+	movl	(%eax), %eax
+#  else
 	movl	%gs:(%eax), %eax
+#  endif
+# else
+#  ifdef NO_TLS_DIRECT_SEG_REFS
+	movl	%gs:0, %eax
+	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
+#  else
+	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
+#  endif
+# endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax
 # else

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits