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