forked from pool/glibc
Andreas Schwab
746e16d2b9
- Update to glibc 2.17.90 85891acadf1b: * CVE-2013-2207 Incorrectly granting access to another user's pseudo-terminal has been fixed by disabling the use of pt_chown (Bugzilla #15755). Distributions can re-enable building and using pt_chown via the new configure option `--enable-pt_chown'. Enabling the use of pt_chown carries with it considerable security risks and should only be used if the distribution understands and accepts the risks. * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla #15078). * CVE-2013-1914 Stack overflow in getaddrinfo with many results has been fixed (Bugzilla #15330). * Add support for calling C++11 thread_local object destructors on thread and program exit. This needs compiler support for offloading C++11 destructor calls to glibc. * Improved worst case performance of libm functions with double inputs and output. * Support for priority inherited mutexes in pthread condition variables on non-x86 architectures. * Optimized string functions for AArch64. Implemented by Marcus Shawcroft. * Optimized string functions for ARM. Implemented by Will Newton and Richard Henderson. * Added a benchmark framework to track performance of functions in glibc. * New <math.h> macro named issignaling to check for a signaling NaN (sNaN). It is based on draft TS 18661 and currently enabled as a GNU extension. * On Linux, the clock function now uses the clock_gettime system call for improved precision, rather than old times system call. * Added new API functions pthread_getattr_default_np and pthread_setattr_default_np to get and set the default pthread attributes of a process. * Added support for TSX lock elision for pthread mutexes on i386 and x86-64. OBS-URL: https://build.opensuse.org/request/show/186119 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=304
75 lines
2.0 KiB
Diff
75 lines
2.0 KiB
Diff
* sysdeps/i386/i686/multiarch/strcmp-sse4.S (__strcasecmp_sse4_2)
|
|
(__strncasecmp_sse4_2) [PIC]: Restore %ebx before falling through
|
|
to __strcasecmp_nonascii and __strncasecmp_nonascii.
|
|
* sysdeps/i386/i686/multiarch/strcmp-ssse3.S (__strcasecmp_ssse3)
|
|
(__strncasecmp_ssse3) [PIC]: Likewise.
|
|
|
|
Index: glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-sse4.S
|
|
===================================================================
|
|
--- glibc-2.17.90.orig/sysdeps/i386/i686/multiarch/strcmp-sse4.S
|
|
+++ glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-sse4.S
|
|
@@ -121,8 +121,14 @@ ENTRY (__strcasecmp_sse4_2)
|
|
movl (%eax), %eax
|
|
# endif
|
|
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
|
+# ifdef PIC
|
|
+ je L(ascii)
|
|
+ POP (%ebx)
|
|
+ jmp __strcasecmp_nonascii
|
|
+# else
|
|
jne __strcasecmp_nonascii
|
|
jmp L(ascii)
|
|
+# endif
|
|
END (__strcasecmp_sse4_2)
|
|
#endif
|
|
|
|
@@ -152,8 +158,14 @@ ENTRY (__strncasecmp_sse4_2)
|
|
movl (%eax), %eax
|
|
# endif
|
|
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
|
+# ifdef PIC
|
|
+ je L(ascii)
|
|
+ POP (%ebx)
|
|
+ jmp __strncasecmp_nonascii
|
|
+# else
|
|
jne __strncasecmp_nonascii
|
|
jmp L(ascii)
|
|
+# endif
|
|
END (__strncasecmp_sse4_2)
|
|
#endif
|
|
|
|
Index: glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
|
===================================================================
|
|
--- glibc-2.17.90.orig/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
|
+++ glibc-2.17.90/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
|
|
@@ -138,8 +138,14 @@ ENTRY (__strcasecmp_ssse3)
|
|
movl (%eax), %eax
|
|
# endif
|
|
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
|
+# ifdef PIC
|
|
+ je L(ascii)
|
|
+ POP (%ebx)
|
|
+ jmp __strcasecmp_nonascii
|
|
+# else
|
|
jne __strcasecmp_nonascii
|
|
jmp L(ascii)
|
|
+# endif
|
|
END (__strcasecmp_ssse3)
|
|
#endif
|
|
|
|
@@ -169,8 +175,14 @@ ENTRY (__strncasecmp_ssse3)
|
|
movl (%eax), %eax
|
|
# endif
|
|
testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
|
|
+# ifdef PIC
|
|
+ je L(ascii)
|
|
+ POP (%ebx)
|
|
+ jmp __strncasecmp_nonascii
|
|
+# else
|
|
jne __strncasecmp_nonascii
|
|
jmp L(ascii)
|
|
+# endif
|
|
END (__strncasecmp_ssse3)
|
|
#endif
|
|
|