[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
- To: commits@xxxxxxxxxx
- Subject: [Commits] r15845 - in /fsf/trunk/libc: ChangeLog sysdeps/i386/i686/multiarch/strcmp-sse4.S sysdeps/i386/i686/multiarch/strcmp-ssse3.S
- From: eglibc@xxxxxxxxxx
- Date: Thu, 17 Nov 2011 00:02:05 -0000
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