Add optimized x86-64 implementation of strnlen.
[glibc.git] / ChangeLog
blob36b36fc428b8663079c6a30fb72219ca24c08f9f
1 2010-07-26  Ulrich Drepper  <drepper@redhat.com>
3         * string/test-strnlen.c: New file.
4         * string/Makefile (strop-tests): Add strnlen.
5         * string/tester.c (test_strnlen): Add a few more test cases.
6         * string/tst-strlen.c: Better error reporting.
8         * sysdeps/x86_64/strnlen.S: New file.
10 2010-07-24  Ulrich Drepper  <drepper@redhat.com>
12         * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use
13         lower-latency instructions.
15 2010-07-23  Ulrich Drepper  <drepper@redhat.com>
17         * string/test-strcasestr.c: New file.
18         * string/test-strstr.c: New file.
19         * string/Makefile (strop-tests): Add strstr and strcasestr.
20         * string/str-two-way.h: Don't undefine MAX.
21         * string/strcasestr.c: Don't define alias if NO_ALIAS is defined.
23 2010-07-21  Andreas Schwab  <schwab@redhat.com>
25         * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
26         strcasestr-nonascii.
27         (CFLAGS-strcasestr-nonascii.c): Define.
28         * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file.
29         * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42):
30         Remove unused attribute.
32 2010-07-20  Roland McGrath  <roland@redhat.com>
34         * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
35         dl_hwcap_mask as well as dl_hwcap.  Without this, dsocaps matching in
36         ld.so.cache was broken.  With it, there is no way to disable dsocaps
37         like LD_HWCAP_MASK can disable hwcaps.
39 2010-06-02  Emilio Pozuelo Monfort  <pochu27@gmail.com>
41         * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Fix memory leaks.
43 2010-07-16  Ulrich Drepper  <drepper@redhat.com>
45         * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function
46         call in strcasestr.
47         * sysdeps/x86_64/multiarch/strcasestr.c: Declare
48         __strcasestr_sse42_nonascii.
49         * sysdeps/x86_64/multiarch/Makefile: Add rules to build
50         strcasestr-nonascii.c.
51         * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file.
53 2010-06-15  Luis Machado  <luisgpm@br.ibm.com>
55         * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: New file.
56         * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: New file.
57         * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: New file.
58         * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: New file.
60 2010-07-09  Ulrich Drepper  <drepper@redhat.com>
62         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use __fcntl not
63         fcntl.
65 2010-07-06  Andreas Schwab  <schwab@redhat.com>
67         * elf/dl-version.c (match_symbol): Don't pass NULL occation to
68         dl_signal_cerror.
70 2010-07-06  Ulrich Drepper  <drepper@redhat.com>
72         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement
73         _PC_PIPE_BUF using F_GETPIPE_SZ.
75 2010-07-05  Roland McGrath  <roland@redhat.com>
77         * manual/arith.texi (Rounding Functions): Fix rint description
78         implicit in round description.
80 2010-07-02  Ulrich Drepper  <drepper@redhat.com>
82         * elf/Makefile: Fix linking for a few tests to make recent linker
83         happy.
85 2010-06-30  Andreas Schwab  <schwab@redhat.com>
87         * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd
88         $(common-objpfx)libc_nonshared.a.
90 2010-06-21  Luis Machado  <luisgpm@br.ibm.com>
92         * sysdeps/powerpc/powerpc32/970/fpu/Implies: Remove.
93         * sysdeps/powerpc/powerpc32/power5/fpu/Implies: Remove.
94         * sysdeps/powerpc/powerpc32/power5+/fpu/Implies: Remove.
95         * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: Remove.
96         * sysdeps/powerpc/powerpc64/970/fpu/Implies: Remove.
97         * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Remove.
98         * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove.
99         * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Remove.
100         * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: Remove.
101         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies: Remove.
102         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies: Remove.
103         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies: Remove.
104         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies: Remove.
105         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies: Remove.
106         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Remove.
107         * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: Remove.
108         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies: Remove.
109         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies: Remove.
110         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies: Remove.
111         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies: Remove.
112         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies: Remove.
113         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Remove.
114         * sysdeps/powerpc/powerpc32/970/Implies: Point to power4.
115         * sysdeps/powerpc/powerpc32/power5/Implies: Point to power4.
116         * sysdeps/powerpc/powerpc32/power5+/Implies: Point to power5.
117         * sysdeps/powerpc/powerpc32/power6/Implies: Point to power5+.
118         * sysdeps/powerpc/powerpc32/power6x/Implies: Point to power6.
119         * sysdeps/powerpc/powerpc64/970/Implies: Point to power4.
120         * sysdeps/powerpc/powerpc64/power5/Implies: Point to power4.
121         * sysdeps/powerpc/powerpc64/power5+/Implies: Point to power5.
122         * sysdeps/powerpc/powerpc64/power6/Implies: Point to power5+.
123         * sysdeps/powerpc/powerpc64/power6x/Implies: Point to power6.
124         * sysdeps/powerpc/powerpc32/power7/Implies: New file.
125         * sysdeps/powerpc/powerpc64/power7/Implies: New file.
126         * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies: New file.
127         * sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies: New file.
128         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/Implies: New file.
129         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/Implies: New file.
130         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/Implies: New file.
131         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/Implies: New file.
132         * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/Implies: New file.
133         * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: New file.
134         * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: New file.
135         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: New file.
136         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: New file.
137         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: New file.
138         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: New file.
139         * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: New file.
141 2010-06-25  H.J. Lu  <hongjiu.lu@intel.com>
143         * debug/memmove_chk.c (__memmove_chk): Renamed to ...
144         (MEMMOVE_CHK): ...this.  Default to __memmove_chk.
145         * string/memmove.c (memmove): Renamed to ...
146         (MEMMOVE): ...this.  Default to memmove.
147         * sysdeps/x86_64/memcpy.S: Use ENTRY_CHK and END_CHK.
148         * sysdeps/x86_64/sysdep.h (ENTRY_CHK): Define.
149         (END_CHK): Define.
150         * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
151         memcpy-ssse3 mempcpy-ssse3 memmove-ssse3 memcpy-ssse3-back
152         mempcpy-ssse3-back memmove-ssse3-back.
153         * sysdeps/x86_64/multiarch/bcopy.S: New file .
154         * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: New file.
155         * sysdeps/x86_64/multiarch/memcpy-ssse3.S: New file.
156         * sysdeps/x86_64/multiarch/memcpy.S: New file.
157         * sysdeps/x86_64/multiarch/memcpy_chk.S: New file.
158         * sysdeps/x86_64/multiarch/memmove-ssse3-back.S: New file.
159         * sysdeps/x86_64/multiarch/memmove-ssse3.S: New file.
160         * sysdeps/x86_64/multiarch/memmove.c: New file.
161         * sysdeps/x86_64/multiarch/memmove_chk.c: New file.
162         * sysdeps/x86_64/multiarch/mempcpy-ssse3-back.S: New file.
163         * sysdeps/x86_64/multiarch/mempcpy-ssse3.S: New file.
164         * sysdeps/x86_64/multiarch/mempcpy.S: New file.
165         * sysdeps/x86_64/multiarch/mempcpy_chk.S: New file.
166         * sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Copy_Backward):
167         Define.
168         (index_Fast_Copy_Backward): Define.
169         (HAS_ARCH_FEATURE): Define.
170         (HAS_FAST_REP_STRING): Define.
171         (HAS_FAST_COPY_BACKWARD): Define.
173 2010-06-21  Andreas Schwab  <schwab@redhat.com>
175         * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
176         Restore proper fallback handling.
178 2010-06-19  Ulrich Drepper  <drepper@redhat.com>
180         [BZ #11701]
181         * posix/group_member.c (__group_member): Correct checking loop.
183         * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
184         OOM in getpwuid_r correctly.  Return error number when the caller
185         should return, otherwise -1.
186         (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid
187         call returning > 0 value.
188         * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
190 2010-06-07  Andreas Schwab  <schwab@redhat.com>
192         * dlfcn/Makefile: Remove explicit dependencies on libc.so and
193         libc_nonshared.a from targets in modules-names.
195 2010-06-02  Kirill A. Shutemov  <kirill@shutemov.name>
197         * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch
198         requires it.
200 2010-06-10  Luis Machado  <luisgpm@br.ibm.com>
202         * sysdeps/powerpc/powerpc32/power7/memcmp.S: New file
203         * sysdeps/powerpc/powerpc64/power7/memcmp.S: New file.
204         * sysdeps/powerpc/powerpc32/power7/strncmp.S: New file.
205         * sysdeps/powerpc/powerpc64/power7/strncmp.S: New file.
207 2010-06-02  Andreas Schwab  <schwab@redhat.com>
209         * nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer.
211 2010-06-14  Ulrich Drepper  <drepper@redhat.com>
213         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ
214         and F_GETPIPE_SZ.
215         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
216         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
217         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
218         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
219         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
220         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise
222 2010-06-14  Roland McGrath  <roland@redhat.com>
224         * manual/libc.texinfo (@copying): Change to GFDL v1.3.
226 2010-06-07  Jakub Jelinek  <jakub@redhat.com>
228         * libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of
229         __REDIRECT followed by __THROW.
230         * wcsmbs/wchar.h (swscanf, vswscanf): Likewise.
231         * posix/getopt.h (getopt): Likewise.
233 2010-06-02  Emilio Pozuelo Monfort  <pochu27@gmail.com>
235         * hurd/lookup-at.c (__file_name_lookup_at): Accept
236         AT_SYMLINK_FOLLOW in AT_FLAGS.  Fail with EINVAL if both
237         AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present
238         in AT_FLAGS.
239         * hurd/hurd/fd.h (__file_name_lookup_at): Update comment.
240         * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS.
242 2010-05-28  Luis Machado  <luisgpm@br.ibm.com>
244         * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi.
246 2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>
248         [BZ #11640]
249         * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
250         Properly check family and model.
252 2010-05-26  Takashi Yoshii  <takashi.yoshii.zj@renesas.com>
254         * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size.
256 2010-05-24  Luis Machado  <luisgpm@br.ibm.com>
258         * sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix.
260 2010-05-21  Ulrich Drepper  <drepper@redhat.com>
262         * elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak
263         symbol reference.
265 2010-05-19  Andreas Schwab  <schwab@redhat.com>
267         * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak
268         symbol reference.
270 2010-05-21  Andreas Schwab  <schwab@redhat.com>
272         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
273         and internal_recvmmsg.
274         * sysdeps/unix/sysv/linux/recvmmsg.c: New file.
275         * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
276         * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
277         * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.
279         * sunrpc/clnt_tcp.c (clnttcp_control): Add missing break.
280         * sunrpc/clnt_udp.c (clntudp_control): Likewise.
281         * sunrpc/clnt_unix.c (clntunix_control): Likewise.
283 2010-05-20  Andreas Schwab  <schwab@redhat.com>
285         * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.
287 2010-05-17  Luis Machado  <luisgpm@br.ibm.com>
289         POWER7 optimizations.
290         * sysdeps/powerpc/powerpc64/power7/memset.S: New file.
291         * sysdeps/powerpc/powerpc32/power7/memset.S: New file.
293 2010-05-19  Ulrich Drepper  <drepper@redhat.com>
295         * version.h: Update for 2.13 development version.
297 2010-05-12  Andrew Stubbs  <ams@codesourcery.com>
299         * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all
300         exceptions.  Return 0.
302 2010-05-07  Roland McGrath  <roland@redhat.com>
304         * elf/ldconfig.c (main): Add a const.
306 2010-05-06  Ulrich Drepper  <drepper@redhat.com>
308         * nss/getent.c (idn_flags): Default to AI_IDN|AI_CANONIDN.
309         (args_options): Add no-idn option.
310         (ahosts_keys_int): Add idn_flags to ai_flags.
311         (parse_option): Handle 'i' option to clear idn_flags.
313         * malloc/malloc.c (_int_free): Possible race in the most recently
314         added check.  Only act on the data if no current modification
315         happened.
317 See ChangeLog.17 for earlier changes.