Add support for SSSE3 and SSE4.2 versions of strcasecmp on x86-64.
[glibc.git] / ChangeLog
blob7a90d217412490b97ac9723a7d8316c7d717820b
1 2010-07-31  Ulrich Drepper  <drepper@redhat.com>
3         * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
4         Add strcasecmp_l-ssse3.
5         * sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for
6         strcasecmp.
7         * sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp.
8         * sysdeps/x86_64/multiarch/strcasecmp_l.S: New file.
9         * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file.
11 2010-07-30  Ulrich Drepper  <drepper@redhat.com>
13         * sysdeps/x86_64/multiarch/strcmp.S: Pretty printing.
15         * string/Makefile (strop-tests): Add strcasecmp.
16         * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
17         strcasecmp_l-nonascii.
18         (gen-as-const-headers): Add locale-defines.sym.
19         * sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation.
20         * sysdeps/x86_64/strcasecmp.S: New file.
21         * sysdeps/x86_64/strcasecmp_l.S: New file.
22         * sysdeps/x86_64/strcasecmp_l-nonascii.c: New file.
23         * sysdeps/x86_64/locale-defines.sym: New file.
24         * string/test-strcasecmp.c: New file.
26         * string/test-strcasestr.c: Test both ends of the range of characters.
27         * sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition.
29 2010-07-29  Roland McGrath  <roland@redhat.com>
31         [BZ #11856]
32         * manual/locale.texi (Yes-or-No Questions): Fix example code.
34 2010-07-27  Ulrich Drepper  <drepper@redhat.com>
36         * sysdeps/x86_64/multiarch/strcmp-ssse3.S: Avoid compiling the file
37         for ld.so.
39 2010-07-27  Andreas Schwab  <schwab@redhat.com>
41         * manual/memory.texi (Malloc Tunable Parameters): Document
42         M_PERTURB.
44 2010-07-26  Roland McGrath  <roland@redhat.com>
46         [BZ #11840]
47         * configure.in (-fgnu89-inline check): Set and substitute
48         gnu89_inline, not libc_cv_gnu89_inline.
49         * configure: Regenerated.
50         * config.make.in (gnu89-inline-CFLAGS): Use @gnu89_inline@.
52 2010-07-26  Ulrich Drepper  <drepper@redhat.com>
54         * string/test-strnlen.c: New file.
55         * string/Makefile (strop-tests): Add strnlen.
56         * string/tester.c (test_strnlen): Add a few more test cases.
57         * string/tst-strlen.c: Better error reporting.
59         * sysdeps/x86_64/strnlen.S: New file.
61 2010-07-24  Ulrich Drepper  <drepper@redhat.com>
63         * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use
64         lower-latency instructions.
66 2010-07-23  Ulrich Drepper  <drepper@redhat.com>
68         * string/test-strcasestr.c: New file.
69         * string/test-strstr.c: New file.
70         * string/Makefile (strop-tests): Add strstr and strcasestr.
71         * string/str-two-way.h: Don't undefine MAX.
72         * string/strcasestr.c: Don't define alias if NO_ALIAS is defined.
74 2010-07-21  Andreas Schwab  <schwab@redhat.com>
76         * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
77         strcasestr-nonascii.
78         (CFLAGS-strcasestr-nonascii.c): Define.
79         * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file.
80         * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42):
81         Remove unused attribute.
83 2010-07-20  Roland McGrath  <roland@redhat.com>
85         * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
86         dl_hwcap_mask as well as dl_hwcap.  Without this, dsocaps matching in
87         ld.so.cache was broken.  With it, there is no way to disable dsocaps
88         like LD_HWCAP_MASK can disable hwcaps.
90 2010-06-02  Emilio Pozuelo Monfort  <pochu27@gmail.com>
92         * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Fix memory leaks.
94 2010-07-16  Ulrich Drepper  <drepper@redhat.com>
96         * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function
97         call in strcasestr.
98         * sysdeps/x86_64/multiarch/strcasestr.c: Declare
99         __strcasestr_sse42_nonascii.
100         * sysdeps/x86_64/multiarch/Makefile: Add rules to build
101         strcasestr-nonascii.c.
102         * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file.
104 2010-06-15  Luis Machado  <luisgpm@br.ibm.com>
106         * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: New file.
107         * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: New file.
108         * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: New file.
109         * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: New file.
111 2010-07-09  Ulrich Drepper  <drepper@redhat.com>
113         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use __fcntl not
114         fcntl.
116 2010-07-06  Andreas Schwab  <schwab@redhat.com>
118         * elf/dl-version.c (match_symbol): Don't pass NULL occation to
119         dl_signal_cerror.
121 2010-07-06  Ulrich Drepper  <drepper@redhat.com>
123         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement
124         _PC_PIPE_BUF using F_GETPIPE_SZ.
126 2010-07-05  Roland McGrath  <roland@redhat.com>
128         * manual/arith.texi (Rounding Functions): Fix rint description
129         implicit in round description.
131 2010-07-02  Ulrich Drepper  <drepper@redhat.com>
133         * elf/Makefile: Fix linking for a few tests to make recent linker
134         happy.
136 2010-06-30  Andreas Schwab  <schwab@redhat.com>
138         * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd
139         $(common-objpfx)libc_nonshared.a.
141 2010-06-21  Luis Machado  <luisgpm@br.ibm.com>
143         * sysdeps/powerpc/powerpc32/970/fpu/Implies: Remove.
144         * sysdeps/powerpc/powerpc32/power5/fpu/Implies: Remove.
145         * sysdeps/powerpc/powerpc32/power5+/fpu/Implies: Remove.
146         * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: Remove.
147         * sysdeps/powerpc/powerpc64/970/fpu/Implies: Remove.
148         * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Remove.
149         * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove.
150         * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Remove.
151         * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: Remove.
152         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies: Remove.
153         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies: Remove.
154         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies: Remove.
155         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies: Remove.
156         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies: Remove.
157         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Remove.
158         * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: Remove.
159         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies: Remove.
160         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies: Remove.
161         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies: Remove.
162         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies: Remove.
163         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies: Remove.
164         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Remove.
165         * sysdeps/powerpc/powerpc32/970/Implies: Point to power4.
166         * sysdeps/powerpc/powerpc32/power5/Implies: Point to power4.
167         * sysdeps/powerpc/powerpc32/power5+/Implies: Point to power5.
168         * sysdeps/powerpc/powerpc32/power6/Implies: Point to power5+.
169         * sysdeps/powerpc/powerpc32/power6x/Implies: Point to power6.
170         * sysdeps/powerpc/powerpc64/970/Implies: Point to power4.
171         * sysdeps/powerpc/powerpc64/power5/Implies: Point to power4.
172         * sysdeps/powerpc/powerpc64/power5+/Implies: Point to power5.
173         * sysdeps/powerpc/powerpc64/power6/Implies: Point to power5+.
174         * sysdeps/powerpc/powerpc64/power6x/Implies: Point to power6.
175         * sysdeps/powerpc/powerpc32/power7/Implies: New file.
176         * sysdeps/powerpc/powerpc64/power7/Implies: New file.
177         * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies: New file.
178         * sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies: New file.
179         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/Implies: New file.
180         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/Implies: New file.
181         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/Implies: New file.
182         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/Implies: New file.
183         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/Implies: New file.
184         * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: New file.
185         * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: New file.
186         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: New file.
187         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: New file.
188         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: New file.
189         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: New file.
190         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: New file.
192 2010-06-25  H.J. Lu  <hongjiu.lu@intel.com>
194         * debug/memmove_chk.c (__memmove_chk): Renamed to ...
195         (MEMMOVE_CHK): ...this.  Default to __memmove_chk.
196         * string/memmove.c (memmove): Renamed to ...
197         (MEMMOVE): ...this.  Default to memmove.
198         * sysdeps/x86_64/memcpy.S: Use ENTRY_CHK and END_CHK.
199         * sysdeps/x86_64/sysdep.h (ENTRY_CHK): Define.
200         (END_CHK): Define.
201         * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
202         memcpy-ssse3 mempcpy-ssse3 memmove-ssse3 memcpy-ssse3-back
203         mempcpy-ssse3-back memmove-ssse3-back.
204         * sysdeps/x86_64/multiarch/bcopy.S: New file .
205         * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: New file.
206         * sysdeps/x86_64/multiarch/memcpy-ssse3.S: New file.
207         * sysdeps/x86_64/multiarch/memcpy.S: New file.
208         * sysdeps/x86_64/multiarch/memcpy_chk.S: New file.
209         * sysdeps/x86_64/multiarch/memmove-ssse3-back.S: New file.
210         * sysdeps/x86_64/multiarch/memmove-ssse3.S: New file.
211         * sysdeps/x86_64/multiarch/memmove.c: New file.
212         * sysdeps/x86_64/multiarch/memmove_chk.c: New file.
213         * sysdeps/x86_64/multiarch/mempcpy-ssse3-back.S: New file.
214         * sysdeps/x86_64/multiarch/mempcpy-ssse3.S: New file.
215         * sysdeps/x86_64/multiarch/mempcpy.S: New file.
216         * sysdeps/x86_64/multiarch/mempcpy_chk.S: New file.
217         * sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Copy_Backward):
218         Define.
219         (index_Fast_Copy_Backward): Define.
220         (HAS_ARCH_FEATURE): Define.
221         (HAS_FAST_REP_STRING): Define.
222         (HAS_FAST_COPY_BACKWARD): Define.
224 2010-06-21  Andreas Schwab  <schwab@redhat.com>
226         * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
227         Restore proper fallback handling.
229 2010-06-19  Ulrich Drepper  <drepper@redhat.com>
231         [BZ #11701]
232         * posix/group_member.c (__group_member): Correct checking loop.
234         * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
235         OOM in getpwuid_r correctly.  Return error number when the caller
236         should return, otherwise -1.
237         (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid
238         call returning > 0 value.
239         * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
241 2010-06-07  Andreas Schwab  <schwab@redhat.com>
243         * dlfcn/Makefile: Remove explicit dependencies on libc.so and
244         libc_nonshared.a from targets in modules-names.
246 2010-06-02  Kirill A. Shutemov  <kirill@shutemov.name>
248         * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch
249         requires it.
251 2010-06-10  Luis Machado  <luisgpm@br.ibm.com>
253         * sysdeps/powerpc/powerpc32/power7/memcmp.S: New file
254         * sysdeps/powerpc/powerpc64/power7/memcmp.S: New file.
255         * sysdeps/powerpc/powerpc32/power7/strncmp.S: New file.
256         * sysdeps/powerpc/powerpc64/power7/strncmp.S: New file.
258 2010-06-02  Andreas Schwab  <schwab@redhat.com>
260         * nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer.
262 2010-06-14  Ulrich Drepper  <drepper@redhat.com>
264         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ
265         and F_GETPIPE_SZ.
266         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
267         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
268         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
269         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
270         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
271         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise
273 2010-06-14  Roland McGrath  <roland@redhat.com>
275         * manual/libc.texinfo (@copying): Change to GFDL v1.3.
277 2010-06-07  Jakub Jelinek  <jakub@redhat.com>
279         * libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of
280         __REDIRECT followed by __THROW.
281         * wcsmbs/wchar.h (swscanf, vswscanf): Likewise.
282         * posix/getopt.h (getopt): Likewise.
284 2010-06-02  Emilio Pozuelo Monfort  <pochu27@gmail.com>
286         * hurd/lookup-at.c (__file_name_lookup_at): Accept
287         AT_SYMLINK_FOLLOW in AT_FLAGS.  Fail with EINVAL if both
288         AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present
289         in AT_FLAGS.
290         * hurd/hurd/fd.h (__file_name_lookup_at): Update comment.
291         * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS.
293 2010-05-28  Luis Machado  <luisgpm@br.ibm.com>
295         * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi.
297 2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>
299         [BZ #11640]
300         * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
301         Properly check family and model.
303 2010-05-26  Takashi Yoshii  <takashi.yoshii.zj@renesas.com>
305         * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.
307 2010-05-24  Luis Machado  <luisgpm@br.ibm.com>
309         * sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix.
311 2010-05-21  Ulrich Drepper  <drepper@redhat.com>
313         * elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak
314         symbol reference.
316 2010-05-19  Andreas Schwab  <schwab@redhat.com>
318         * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
319         symbol reference.
321 2010-05-21  Andreas Schwab  <schwab@redhat.com>
323         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
324         and internal_recvmmsg.
325         * sysdeps/unix/sysv/linux/recvmmsg.c: New file.
326         * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
327         * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
328         * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.
330         * sunrpc/clnt_tcp.c (clnttcp_control): Add missing break.
331         * sunrpc/clnt_udp.c (clntudp_control): Likewise.
332         * sunrpc/clnt_unix.c (clntunix_control): Likewise.
334 2010-05-20  Andreas Schwab  <schwab@redhat.com>
336         * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.
338 2010-05-17  Luis Machado  <luisgpm@br.ibm.com>
340         POWER7 optimizations.
341         * sysdeps/powerpc/powerpc64/power7/memset.S: New file.
342         * sysdeps/powerpc/powerpc32/power7/memset.S: New file.
344 2010-05-19  Ulrich Drepper  <drepper@redhat.com>
346         * version.h: Update for 2.13 development version.
348 2010-05-12  Andrew Stubbs  <ams@codesourcery.com>
350         * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all
351         exceptions.  Return 0.
353 2010-05-07  Roland McGrath  <roland@redhat.com>
355         * elf/ldconfig.c (main): Add a const.
357 2010-05-06  Ulrich Drepper  <drepper@redhat.com>
359         * nss/getent.c (idn_flags): Default to AI_IDN|AI_CANONIDN.
360         (args_options): Add no-idn option.
361         (ahosts_keys_int): Add idn_flags to ai_flags.
362         (parse_option): Handle 'i' option to clear idn_flags.
364         * malloc/malloc.c (_int_free): Possible race in the most recently
365         added check.  Only act on the data if no current modification
366         happened.
368 See ChangeLog.17 for earlier changes.