f20ed56998c4dfc524ae7ebcec607c9778c5c7c3
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2004-04-04  Carlos O'Donell  <carlos@baldric.uwo.ca>
2
3         * sysdeps/hppa/Dist: Add bits/link.h elf/entry.h.
4
5         * sysdeps/hppa/bits/link.h: New file.
6
7         * sysdeps/hppa/dl-machine.h (__hppa_init_bootstrap_fdesc_table):
8         Initialze the fdesc table for the generic code.
9         (elf_machine_dynamic): Use asm version.
10         (elf_machine_load_addresss): Simplify asm by calling
11         elf_machine_dynamic.
12         (elf_machine_fixup_plt): Correct comment.
13         (elf_machine_profile_fixup_plt): New.
14         (elf_machine_runtime_setup): Check PLT exists, if lazy=1  process
15         normally, else relocate all the absolute entries.
16         (RTLD_START): Fix comments.
17         (TRAMPOLINE_TEMPLATE): Reformat assembly, add return pointer for
18         calls to profile_fixup.
19         (ELF_MACHINE_SIZEOF_JMP_SLOT, DL_STATIC_FUNCTION_ADDRESS,
20         DL_PLATFORM_INIT): Define.
21         (DL_FUNCTION_ADDRESS): Remove.
22         (dl_platform_init): New.
23         (elf_machine_rela): Use generic fdesc code, and process all COPY
24         relocations. Use __attribute__((always_inline)).
25         (elf_machine_rela_relative): Add sanity checks, remove IPLT
26         processing, print error message in default case. Use
27         __attribute__((always_inline)).
28         (elf_machine_lazy_rel): Use __attribute__((always_inline)).
29
30 2004-04-05  Carlos O'Donell  <carlos@baldric.uwo.ca>
31
32         * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Use only sw[0]
33         and call feraiseexcept.
34
35 2003-11-15  Randolph Chung  <tausq@debian.org>
36
37         * gmon/gmon.c (__monstartup): Round kcountsize to multiples of
38         the froms[] array so the array is properly aligned.
39
40 2004-04-05  H.J. Lu  <hongjiu.lu@intel.com>
41
42         * Makeconfig (libgcc_eh): Add -Wl,.
43
44         * configure.in: Add -lgcc_s for --as-needed check.
45
46 2004-04-16  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
47
48         * sysdeps/sh/elf/configure.in: New file.
49
50 2004-04-17  Ulrich Drepper  <drepper@redhat.com>
51
52         * iconvdata/gconv-modules: Add PT154 and RK1048 entries.
53         * iconvdata/tst-tables.sh: Add PT154 and RK1048.
54         * iconvdata/Makefile (modules): Add PT154 anhd RK1048.
55         (distribute): Add pt154.c and rk1048.c.
56         (gen-8bit-gap-modules): Add pt154 and rk1048.
57         * icondata/pt154.c: New file.
58         * iconvdata/rk1048.c: New file.
59
60         * rt/tst-timer4.c: Disable some tests, mark errors better.
61
62 2004-04-16  Ulrich Drepper  <drepper@redhat.com>
63
64         * rt/tst-mqueue6.c (mqsend): Don't inline.
65         (mqrecv): Likewise.
66
67         * rt/tst-mqueue3.c (do_test): Cope with kernel without mq support.
68
69         * sysdeps/ieee754/bits/nan.h (__nan_union): Add __attribute_used__
70         attribute to keep gcc quiet.
71
72 2004-04-16  Jakub Jelinek  <jakub@redhat.com>
73
74         * misc/syslog.c (vsyslog): Avoid freeing failbuf.
75
76 2004-04-15  Jakub Jelinek  <jakub@redhat.com>
77
78         * rt/Makefile (tests): Add tst-timer4.
79         * rt/tst-timer4.c: New test.
80
81 2004-04-15  Jakub Jelinek  <jakub@redhat.com>
82
83         * rt/tst-mqueue5.c (rtmin_code): New variable.
84         (rtmin_handler): Set it.
85         (thr, do_child, do_test): Also check rtmin_code.
86
87 2004-04-14  Jakub Jelinek  <jakub@redhat.com>
88
89         * rt/Makefile (tests): Add tst-mqueue7.
90         (tst-mqueue7-ARGS): Set.
91         * rt/tst-mqueue7.c: New test.
92
93 2004-04-13  Jakub Jelinek  <jakub@redhat.com>
94
95         * rt/Makefile (tests): Add tst-mqueue5 and tst-mqueue6.
96         * rt/tst-mqueue1.c (do_one_test): Bitwise or check_attrs () into
97         result instead of replacing it.  Use TEMP_FAILURE_RETRY around
98         waitpid, kill child if waitpid failed.
99         (do_test): Bitwise or check_attrs () into result instead of replacing
100         it.  Change temp mq name.
101         * rt/tst-mqueue5.c: New test.
102         * rt/tst-mqueue6.c: New test.
103         * rt/tst-mqueue.h: Include stdio.h, unistd.h, sys/uio.h.
104         (temp_mq_list, delete_temp_mqs): Remove.
105         (temp_mq_fd): New variable.
106         (do_cleanup, do_prepare): New functions.
107         (add_temp_mq): Rewritten to use a temp file.
108         (PREPARE): Define.
109         (CLEANUP_HANDLER): Change to do_cleanup ().
110
111         * rt/tst-timer3.c: Don't fail if _POSIX_THREADS is not available.
112
113 2004-04-13  Thorsten Kukuk  <kukuk@suse.de>
114
115         * sysdeps/s390/ffs.c: Include limits.h
116
117 2004-04-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
118
119         * sysdeps/unix/sysv/linux/sh/sysdep.h (SUBSTITUTE_ARGS_1,
120         SUBSTITUTE_ARGS_2, SUBSTITUTE_ARGS_3, SUBSTITUTE_ARGS_4,
121         SUBSTITUTE_ARGS_5, SUBSTITUTE_ARGS_6, SUBSTITUTE_ARGS_7): Load
122         argument values into temporary variables.
123
124 2004-04-15  Atsushi Nemoto <anemo@mba.ocn.ne.jp>
125
126         * sysdeps/mips/dl-machine.h (RTLD_START): Do not use nested .end.
127
128 2004-04-12  Ulrich Drepper  <drepper@redhat.com>
129
130         * rt/Makefile (tests): Add tst-timer3.
131         * rt/tst-timer3.c: New file.  By Roland McGrath.
132
133 2004-04-08  Ulrich Drepper  <drepper@redhat.com>
134
135         * rt/tst-mqueue3.c: New file.
136         * rt/Makefile (tests): Add tst-mqueue3.
137
138 2004-04-08  Jakub Jelinek  <jakub@redhat.com>
139
140         * rt/tst-mqueue1.c: New file.
141         * rt/tst-mqueue2.c: New file.
142         * rt/tst-mqueue4.c: New file.
143         * rt/Makefile (tests): Add tst-mqueue1, tst-mqueue2, tst-mqueue4.
144
145         * rt/Versions (librt): Add mq_*@@GLIBC_2.3.4.
146         * rt/Makefile (headers): Add mqueue.h and bits/mqueue.h.
147         (mq-routines): Set.
148         (librt-routines): Use it.
149         * rt/mqueue.h: New file.
150         * include/mqueue.h: New file.
151         * sysdeps/generic/bits/mqueue.h: New file.
152         * sysdeps/generic/mq_setattr.c: New file.
153         * sysdeps/generic/mq_getattr.c: New file.
154         * sysdeps/generic/mq_notify.c: New file.
155         * sysdeps/generic/mq_close.c: New file.
156         * sysdeps/generic/mq_send.c: New file.
157         * sysdeps/generic/mq_unlink.c: New file.
158         * sysdeps/generic/mq_receive.c: New file.
159         * sysdeps/generic/mq_timedreceive.c: New file.
160         * sysdeps/generic/mq_timedsend.c: New file.
161         * sysdeps/generic/mq_open.c: New file.
162         * sysdeps/unix/sysv/linux/bits/local_lim.h (MQ_PRIO_MAX): Define.
163         * sysdeps/unix/sysv/linux/bits/mqueue.h: New file.
164         * sysdeps/unix/sysv/linux/syscalls.list: Add mq_timedsend,
165         mq_timedreceive and mq_setattr.
166         * sysdeps/unix/sysv/linux/mq_getattr.c: New file.
167         * sysdeps/unix/sysv/linux/mq_notify.c: New file.
168         * sysdeps/unix/sysv/linux/mq_close.c: New file.
169         * sysdeps/unix/sysv/linux/mq_send.c: New file.
170         * sysdeps/unix/sysv/linux/mq_unlink.c: New file.
171         * sysdeps/unix/sysv/linux/mq_receive.c: New file.
172         * sysdeps/unix/sysv/linux/mq_open.c: New file.
173
174 2004-04-09  Andreas Schwab  <schwab@suse.de>
175
176         * sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL): Move
177         LOAD_ARGS_##nr up front and add LOAD_REGS_##nr.
178         (LOAD_ARGS_0, LOAD_ARGS_1, LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4)
179         (LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary
180         variables.
181         (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4)
182         (LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the
183         syscall argument registers.
184
185         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL): Add
186         LOAD_REGS_##nr.
187         (LOAD_ARGS_0, LOAD_ARGS_1, LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4)
188         (LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary
189         variables.
190         (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4)
191         (LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the
192         syscall argument registers.
193
194 2004-04-09  Andreas Schwab  <schwab@suse.de>
195
196         * sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Add
197         LOAD_REGS_##nr.
198         (LOAD_ARGS_0, LOAD_ARGS_1, LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4)
199         (LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary
200         variables.
201         (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4)
202         (LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the
203         syscall argument registers.
204
205 2004-04-09  Thorsten Kukuk  <kukuk@suse.de>
206
207         * sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x.
208
209 2004-04-09  Steven Munroe  <sjmunroe@us.ibm.com>
210
211         * sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file.
212
213 2004-04-08  Ulrich Drepper  <drepper@redhat.com>
214
215         * po/nl.po: Update from translation team.
216
217 2004-04-04  Ulrich Drepper  <drepper@redhat.com>
218
219         * math/test-tgmath.c: Declare compile_testl inly if we will define it.
220
221 2004-04-03  Ulrich Drepper  <drepper@redhat.com>
222
223         * sysdeps/powerpc/powerpc64/ffsll.c: New file.
224
225         * string/test-ffs.c: Also test ffsl and ffsll.
226
227         * sysdeps/powerpc/ffs.c: Don't define ffsl for ppc64.
228
229         * sysdeps/powerpc/powerpc64/bits/atomic.h: Never use matching
230         constraints for asm mem parameters.
231         * sysdeps/powerpc/bits/atomic.h: Likewise.
232
233         * sysdeps/powerpc/elf/libc-start.c: No need for a separate
234         function for __aux_init_cache.
235
236         * inet/test-ifaddrs.c: Fight warnings.
237
238         * argp/argp-help.c: Fight warnings.
239
240         * include/time.h: Declare __difftime.
241
242         * sysdeps/unix/sysv/linux/internal_statvfs.c: Restructure to avoid
243         duplication in 64-bit version.
244         * sysdeps/unix/sysv/linux/wordsize-64/internal_statvfs64.c: New file.
245
246 2004-04-03  Andreas Jaeger  <aj@suse.de>
247
248         * nis/nss-nis.c: Include <string.h> for strncmp.
249
250 2004-03-30  H.J. Lu  <hongjiu.lu@intel.com>
251
252         * Makeconfig (link-libc-static): Use $(static-gnulib) instead
253         of $(gnulib).
254         (libgcc_eh): New variable.
255         (gnulib): Use it variable.
256         (static-gnulib): New variable.
257         * Makerules (LDLIBS-c.so): Use $(static-gnulib) instead of $(gnulib).
258         * config.make.in (have-as-needed): New variable.
259         * configure.in: Check if linker supports --as-needed.
260
261 2004-04-02  Ulrich Drepper  <drepper@redhat.com>
262
263         * sysdeps/unix/sysv/linux/internal_statvfs64.c: New file.
264         * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
265         Add internal_statvfs64.
266         * sysdeps/unix/sysv/linux/internal_statvfs.c: Allow to be used to
267         compile 64bit version.
268         * sysdeps/unix/sysv/linux/statvfs64.c: Use __fstatfs64 and skip
269         compatibility code if __ASSUME_STATFS64 is defined.
270         * sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
271
272         * sysdeps/unix/sysv/linux/statfs64.c: Don't add __no_statfs64 if
273         __ASSUME_STATFS64 != 0.
274
275 2004-04-02  Thorsten Kukuk  <kukuk@firun.suse.de>
276
277         * nis/nss_nis/nis-ethers.c (saveit): Fix return codes in error case.
278         * nis/nss_nis/nis-initgroups.c (saveit): Likewise.
279         * nis/nss_nis/nis-proto.c (saveit): Likewise.
280         * nis/nss_nis/nis-rpc.c (saveit): Likewise.
281         * nis/nss_nis/nis-service.c (saveit): Likewise.
282
283 2004-04-02  Jakub Jelinek  <jakub@redhat.com>
284
285         * nis/nss: Add SERVICES_AUTHORITATIVE.
286         * nis/nss-nis.h (NSS_FLAG_SET, NSS_FLAG_NETID_AUTHORITATIVE,
287         NSS_FLAG_SERVICES_AUTHORITATIVE): Define.
288         (_nis_default_nss_flags, _nis_check_default_nss): New decls.
289         (_nis_default_nss): New inline.
290         * nis/nss-nis.c: Include ctype.h, stdio.h and stdio_ext.h.
291         (_nis_default_nss_flags, default_nss): New variables.
292         (_nis_check_default_nss): New function.
293         * nis/nss_nis/nis-initgroups.c: Don't include stdio.h and
294         stdio_ext.h.
295         (check_default_nss, default_nss): Move to nss-nis.c.
296         (init): Removed.
297         (_nss_nis_initgroups_dyn): Use _nis_default_nss ().
298         * nis/nss_nis/nis-services.c (_nss_nis_getservbyname_r): If
299         NSS_FLAG_SERVICES_AUTHORITATIVE and services.byservicename lookup
300         fails, return immediately.
301
302 2004-04-01  Roland McGrath  <roland@redhat.com>
303
304         * elf/tst-execstack.c (do_test): Make F static.
305
306 2004-04-01  Ulrich Drepper  <drepper@redhat.com>
307
308         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Use
309         __sigprocmask not sigprocmask.
310         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
311         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
312
313         * include/string.h: Add libc_hidden_builtin_proto for memcmp.
314         * sysdeps/generic/memcmp.c: Add libc_hidden_builtin_def.
315         * sysdeps/i386/memcmp.S: Likewise.
316         * sysdeps/i386/i686/memcmp.S: Likewise.
317         * sysdeps/ia64/memcmp.S: Likewise.
318         * sysdeps/sparc/sparc64/memcmp.S: Likewise.
319
320         * sysdeps/unix/sysv/linux/sigprocmask.c: Include <string.h>.
321         * time/mktime.c: Likewise.
322         * misc/getpass.c: Likewise.
323
324         * time/difftime.c (__difftime): New renamed.  Make old name alias.
325         Use __difftime in recursive call.
326
327         * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Use
328         __tcgetattr() instead of tcgetattr().
329
330         * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S [SHARED]:
331         Use __GI_exit.
332
333         * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S [SHARED]: Use
334         __GI__exit.
335
336         * sysdeps/powerpc/fpu/bits/mathinline.h: Add __signbitf and
337         __signbit inlines.
338
339         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Use
340         __sigprocmask not sigprocmask.
341         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
342         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
343
344         * elf/elf.h: Define more ppc64 specific dynamic tags.
345
346 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
347
348         * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): If protocol
349         is NULL, instead of trying yp_match (name/tcp), yp_match (name/udp),
350         yp_all, try yp_match (name), yp_all.
351
352 2004-04-01  Ulrich Drepper  <drepper@redhat.com>
353
354         * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add handling for
355         ignored entries.  Ignore AT_IGNOREPPC.
356
357 2004-03-31  Andreas Jaeger  <aj@suse.de>
358
359         * libio/fileops.c (new_do_write): Return _IO_size_t to make 64-bit
360         clean.
361
362 2004-03-31  Ulrich Drepper  <drepper@redhat.com>
363
364         * locale/programs/localedef.c (construct_output_path): Remove
365         remnants of CEN locale names.
366
367 2004-03-30  Thorsten Kukuk  <kukuk@suse.de>
368
369         * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Add IUTF8.
370         * sysdeps/unix/sysv/linux/bits/termios.h: Likewise.
371         * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise.
372         * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
373         * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
374
375 2004-03-30  Richard Henderson  <rth@redhat.com>
376
377         * sysdeps/alpha/remqu.S: Detect power-of-two special case.
378
379 2004-03-30  Ulrich Drepper  <drepper@redhat.com>
380
381         * sysdeps/generic/libc-start.c (LIBC_START_MAIN)
382         [HAVE_CLEANUP_JMP_BUF]: Call __nptl_deallocate_tsd.
383
384 2004-03-30  Jakub Jelinek  <jakub@redhat.com>
385
386         * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): If protocol
387         == NULL, try name/tcp and name/udp first before falling back into
388         the sequential scanning.  Use services.byname database for
389         sequential scanning.
390         (_nss_nis_getservbyport_r): Likewise.  Just allocate sizeof (int) * 3
391         chars for integer.
392
393         * nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Convert
394         proto to host by order for snprintf.
395
396 2004-03-30  Ulrich Drepper  <drepper@redhat.com>
397
398         * nss/getent.c (services_keys): Don't implement lookups with
399         missing protocol using getservent loop, just pass NULL.
400
401         * sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Avoid
402         comparison with limit if we can rely on the syscall being available.
403
404         * nis/nss_nis/nis-initgroups.c: Implement getting the information
405         from the netid.byname map if the system administrator allows this.
406         * nis/Makefile (distribute): Add nss.
407         * nis/nss: New file.
408
409         * grp/initgroups.c (initgroups): Limit the initial allocation to 64
410         entries to not allocate too much on systems with really high limits.
411
412 2004-03-30  Jakub Jelinek  <jakub@redhat.com>
413
414         * nis/nss_nis/nis-service.c (struct search_t): New type.
415         (dosearch): New function.
416         (_nss_nis_getservbyname_r): Use it.  Call yp_get_default_domain
417         unconditionally.
418         (_nss_nis_getservbyport_r): Likewise.
419
420 2004-03-29  Alexandre Oliva  <aoliva@redhat.com>
421
422         * sysdeps/unix/sysv/linux/sched_getaffinity.c: Prepend GLIBC_ to
423         version names is SHLIB_COMPAT check.
424         * sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise.
425
426 2004-03-29  Ulrich Drepper  <drepper@redhat.com>
427
428         * nis/nss_nis/nis-rpc.c (saveit): Improve memory handling.  No need to
429         allocate multiple blocks.
430         (internal_nis_endrpcent): Adjust accordingly.
431         * nis/nss_nis/nis-proto.c (saveit): Improve memory handling.  No need
432         to allocate multiple blocks.
433         (internal_nis_endprotoent): Adjust accordingly.
434         * nis/nss_nis/nis-initgroups.c (saveit): Improve memory handling.  No
435         need to allocate multiple blocks.
436         (_nss_nis_initgroups_dyn): Adjust accordingly.
437         * nis/nss_nis/nis-ethers.c (saveit): Improve memory handling.  No need
438         to allocate multiple blocks.
439         (internal_nis_endetherent): Adjust accordingly.
440         * nis/nss_nis/nis-service.c (saveit): Improve memory handling.  No need
441         to allocate multiple blocks.
442         (internal_nis_endservent): Adjust accordingly.
443
444         * nss/getXXbyYY_r.c: Return 0 for NSS_STATUS_NOTFOUND.
445
446 2004-03-26  Thorsten Kukuk  <kukuk@suse.de>
447
448         * nis/nss_nis/nis-grp.c (_nss_nis_getgrnam_r): Don't
449         set errno if group does not exist.
450
451 2004-03-28  Ulrich Drepper  <drepper@redhat.com>
452
453         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Handle
454         _SC_SIGQUEUE_MAX.
455
456 2004-03-26  Ulrich Drepper  <drepper@redhat.com>
457
458         * elf/dl-caller.c: New file.
459         * include/caller.h: New file.
460         * Makefile (distribute): Add include/caller.h.
461         * elf/Makefile (dl-routines): Add dl-caller.
462         * elf/dl-load.c (_dl_map_object_from_fd): Record l_text_end.
463         * elf/dl-open.c (check_libc_caller): Removed.
464         (dl_open_worker): Use __check_caller instead.
465         * elf/rtld.c (_rtld_global_ro): Initialize _dl_check_caller.
466         (_dl_start_final): Record l_text_end for ld.so map.
467         (dl_main): Record l_text_end for main object and vdso.
468         * include/link.h (struct link_map): Add l_text_end field.
469         * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
470         _dl_check_caller field.
471         Define enum allowmask.  Add declaration of _dl_check_caller.
472         * sysdeps/unix/sysv/linux/dl-execstack.c: Also use __check_caller test.
473
474 2004-03-26  Richard Henderson  <rth@redhat.com>
475
476         * sysdeps/alpha/Makefile <gnulib> (sysdep_routines): Merge divrem
477         variable, add unsigned variants.
478         * sysdeps/alpha/divrem.h: Remove file.
479         * sysdeps/alpha/div_libc.h: New file.
480         * sysdeps/alpha/divl.S: Rewrite from scratch.
481         * sysdeps/alpha/reml.S: Likewise.
482         * sysdeps/alpha/divq.S: Likewise.
483         * sysdeps/alpha/remq.S: Likewise.
484         * sysdeps/alpha/divlu.S: New file.
485         * sysdeps/alpha/remlu.S: New file.
486         * sysdeps/alpha/divqu.S: New file.
487         * sysdeps/alpha/remqu.S: New file.
488
489 2004-03-26  Ulrich Drepper  <drepper@redhat.com>
490
491         * elf/dl-open.c (check_libc_caller): Fix typo.
492
493 2004-03-26  Jakub Jelinek  <jakub@redhat.com>
494
495         * elf/tst-dlmodcount.c: Include stddef.h and stdlib.h.
496
497 2003-03-25  Richard Henderson  <rth@redhat.com>
498
499         * sysdeps/alpha/backtrace.c: New file.
500
501 2004-03-25  Ulrich Drepper  <drepper@redhat.com>
502
503         * iconvdata/utf-7.c: Remove inline from isdirect, isxdirect, and
504         isxbase64.
505
506 2004-03-25  Richard Henderson  <rth@redhat.com>
507
508         * sysdeps/generic/strtol_l.c (__strtol_ul_max_tab,
509         __strtol_ull_max_tab, __strtol_ull_rem_tab, __strtol_ul_rem_tab,
510         cutoff_tab, cutlim_tab, jmax_tab): New.
511         (__strtol_l): Use them to avoid runtime division.
512
513 2004-03-24  Roland McGrath  <roland@redhat.com>
514
515         * Makerules ($(common-objpfx)shlib.lds): Don't use \n in rhs of sed
516         substitutions; the semicolon terminators are enough for ld anyway.
517
518         * elf/dl-deps.c (_dl_map_object_deps): Use alloca instead of
519         dynamically sized auto array in function already using alloca.
520         * locale/programs/ld-ctype.c (ctype_output): Likewise.
521         * locale/programs/ld-time.c (time_output): Likewise.
522         * elf/dl-misc.c (_dl_debug_vdprintf): Use macro instead of const for
523         IOV array size.
524         * locale/programs/charmap.c (charmap_read): Avoid alloca (or strdupa)
525         when also using dynamically-sized auto array.
526         * locale/programs/locfile.c (locfile_read): Likewise.
527         * locale/programs/repertoire.c (repertoire_read): Likewise.
528         * nis/nis_print_group_entry.c (nis_print_group_entry): Likewise.
529         * locale/programs/locarchive.c (enlarge_archive): Likewise.
530         * posix/annexc.c (check_header): Likewise.
531
532         * iconv/gconv_int.h (norm_add_slashes): Don't handle null SUFFIX.
533         strlen ("") gets optimized away just as well.
534         * intl/loadmsgcat.c (_nl_init_domain_conv): Update caller.
535         * wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Likewise.
536
537         * Makefile ($(objpfx)c++-types-check.out): Reduce duplication in
538         defining this target.  Also elide -Wstrict-prototypes from CFLAGS.
539
540 2004-03-24  Ulrich Drepper  <drepper@redhat.com>
541
542         * stdio-common/vfscanf.c [!COMPILE_WSCANF] (TOLOWER): Cast first
543         parameter to unsigned char.
544         * sysdeps/generic/strcasestr.c [_LIBC] (TOLOWER): Likewise.
545
546 2004-03-24  Jakub Jelinek  <jakub@redhat.com>
547
548         * stdlib/strtod_l.c (INTERNAL (__STRTOF)): Clear the rest of retval,
549         not just one limb if RETURN_LIMB_SIZE > 2.  Fix shifting up if
550         RETURN_LIMB_SIZE > 2.
551
552         * stdio-common/printf_fp.c (__printf_fp): For IEEE quad long double
553         on 32-bit architectures reserve 8 limbs instead of 4.
554
555 2004-03-23  Jakub Jelinek  <jakub@redhat.com>
556
557         * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_pread, __NR_pwrite):
558         Define to __NR_p{read,write}64 if not defined.
559         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread,
560         __NR_pwrite): Define to __NR_p{read,write}64 if not defined instead
561         of defining it the other way around.
562         * sysdeps/unix/sysv/linux/alpha/syscalls.list: Move common syscalls
563         for 64bit arches to sysdeps/unix/sysv/linux/wordsize-64/syscalls.list.
564         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
565         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
566         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
567         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
568         * sysdeps/unix/sysv/linux/alpha/pread64.c: Removed.
569         * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Removed.
570         * sysdeps/unix/sysv/linux/alpha/glob64.c: Removed.
571         * sysdeps/unix/sysv/linux/alpha/truncate64.c: Removed.
572         * sysdeps/unix/sysv/linux/alpha/xstat64.c: Removed.
573         * sysdeps/unix/sysv/linux/alpha/pwrite64.c: Removed.
574         * sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: Removed.
575         * sysdeps/unix/sysv/linux/alpha/mmap64.c: Removed.
576         * sysdeps/unix/sysv/linux/alpha/fxstat64.c: Removed.
577         * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Removed.
578         * sysdeps/unix/sysv/linux/alpha/ftruncate64.c: Removed.
579         * sysdeps/unix/sysv/linux/alpha/sendfile64.c: Removed.
580         * sysdeps/unix/sysv/linux/alpha/lxstat64.c: Removed.
581         * sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: Removed.
582         * sysdeps/unix/sysv/linux/alpha/statfs64.c: Removed.
583         * sysdeps/unix/sysv/linux/alpha/fstatfs64.c: Removed.
584         * sysdeps/unix/sysv/linux/s390/s390-64/pread64.c: Removed.
585         * sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c: Removed.
586         * sysdeps/unix/sysv/linux/s390/s390-64/glob64.c: Removed.
587         * sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c: Removed.
588         * sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c: Removed.
589         * sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c: Removed.
590         * sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c: Removed.
591         * sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c: Removed.
592         * sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c: Removed.
593         * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Removed.
594         * sysdeps/unix/sysv/linux/s390/s390-64/readdir.c: Removed.
595         * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: Removed.
596         * sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c: Removed.
597         * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Removed.
598         * sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c: Removed.
599         * sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c: Removed.
600         * sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c: Removed.
601         * sysdeps/unix/sysv/linux/s390/s390-64/getdents.c: Removed.
602         * sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c: Removed.
603         * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: Removed.
604         * sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c: Removed.
605         * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Removed.
606         * sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c: Removed.
607         * sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c: Removed.
608         * sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c: Removed.
609         * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: Removed.
610         * sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c: Removed.
611         * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: Removed.
612         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c: Removed.
613         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: Removed.
614         * sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c: Removed.
615         * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: Removed.
616         * sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: Removed.
617         * sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c: Removed.
618         * sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c: Removed.
619         * sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c: Removed.
620         * sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c: Removed.
621         * sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c: Removed.
622         * sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: Removed.
623         * sysdeps/unix/sysv/linux/sparc/sparc64/getdents64.c: Removed.
624         * sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: Removed.
625         * sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: Removed.
626         * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: Removed.
627         * sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c: Removed.
628         * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c: Removed.
629         * sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c: Removed.
630         * sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c: Removed.
631         * sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: Removed.
632         * sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c: Removed.
633         * sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c: Removed.
634         * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: Removed.
635         * sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c: Removed.
636         * sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c: Removed.
637         * sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c: Removed.
638         * sysdeps/unix/sysv/linux/ia64/pread64.c: Removed.
639         * sysdeps/unix/sysv/linux/ia64/getrlimit64.c: Removed.
640         * sysdeps/unix/sysv/linux/ia64/glob64.c: Removed.
641         * sysdeps/unix/sysv/linux/ia64/readdir64_r.c: Removed.
642         * sysdeps/unix/sysv/linux/ia64/truncate64.c: Removed.
643         * sysdeps/unix/sysv/linux/ia64/xstat64.c: Removed.
644         * sysdeps/unix/sysv/linux/ia64/pwrite64.c: Removed.
645         * sysdeps/unix/sysv/linux/ia64/getdents64.c: Removed.
646         * sysdeps/unix/sysv/linux/ia64/readdir_r.c: Removed.
647         * sysdeps/unix/sysv/linux/ia64/lxstat.c: Removed.
648         * sysdeps/unix/sysv/linux/ia64/readdir.c: Removed.
649         * sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: Removed.
650         * sysdeps/unix/sysv/linux/ia64/mmap64.c: Removed.
651         * sysdeps/unix/sysv/linux/ia64/xstat.c: Removed.
652         * sysdeps/unix/sysv/linux/ia64/fxstat64.c: Removed.
653         * sysdeps/unix/sysv/linux/ia64/setrlimit64.c: Removed.
654         * sysdeps/unix/sysv/linux/ia64/ftruncate64.c: Removed.
655         * sysdeps/unix/sysv/linux/ia64/sendfile64.c: Removed.
656         * sysdeps/unix/sysv/linux/ia64/getdents.c: Removed.
657         * sysdeps/unix/sysv/linux/ia64/lxstat64.c: Removed.
658         * sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: Removed.
659         * sysdeps/unix/sysv/linux/ia64/readdir64.c: Removed.
660         * sysdeps/unix/sysv/linux/ia64/fxstat.c: Removed.
661         * sysdeps/unix/sysv/linux/ia64/statfs64.c: Removed.
662         * sysdeps/unix/sysv/linux/ia64/fstatfs64.c: Removed.
663         * sysdeps/unix/sysv/linux/x86_64/pread64.c: Removed.
664         * sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: Removed.
665         * sysdeps/unix/sysv/linux/x86_64/glob64.c: Removed.
666         * sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: Removed.
667         * sysdeps/unix/sysv/linux/x86_64/truncate64.c: Removed.
668         * sysdeps/unix/sysv/linux/x86_64/xstat64.c: Removed.
669         * sysdeps/unix/sysv/linux/x86_64/pwrite64.c: Removed.
670         * sysdeps/unix/sysv/linux/x86_64/getdents64.c: Removed.
671         * sysdeps/unix/sysv/linux/x86_64/readdir_r.c: Removed.
672         * sysdeps/unix/sysv/linux/x86_64/lxstat.c: Removed.
673         * sysdeps/unix/sysv/linux/x86_64/readdir.c: Removed.
674         * sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: Removed.
675         * sysdeps/unix/sysv/linux/x86_64/mmap64.c: Removed.
676         * sysdeps/unix/sysv/linux/x86_64/xstat.c: Removed.
677         * sysdeps/unix/sysv/linux/x86_64/fxstat64.c: Removed.
678         * sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: Removed.
679         * sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: Removed.
680         * sysdeps/unix/sysv/linux/x86_64/sendfile64.c: Removed.
681         * sysdeps/unix/sysv/linux/x86_64/getdents.c: Removed.
682         * sysdeps/unix/sysv/linux/x86_64/lxstat64.c: Removed.
683         * sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: Removed.
684         * sysdeps/unix/sysv/linux/x86_64/readdir64.c: Removed.
685         * sysdeps/unix/sysv/linux/x86_64/fxstat.c: Removed.
686         * sysdeps/unix/sysv/linux/x86_64/statfs64.c: Removed.
687         * sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: Removed.
688         * sysdeps/unix/sysv/linux/alpha/Implies: New file.
689         * sysdeps/unix/sysv/linux/alpha/getdents64.c: New file.
690         * sysdeps/unix/sysv/linux/s390/s390-64/Implies: New file.
691         * sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies: New file.
692         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: New file.
693         * sysdeps/unix/sysv/linux/sparc/sparc64/Implies: New file.
694         * sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c: New file.
695         * sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: New file.
696         * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: New file.
697         * sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c: New file.
698         * sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c: New file.
699         * sysdeps/unix/sysv/linux/wordsize-64/pread64.c: New file.
700         * sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c: New file.
701         * sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c: New file.
702         * sysdeps/unix/sysv/linux/wordsize-64/glob64.c: New file.
703         * sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c: New file.
704         * sysdeps/unix/sysv/linux/wordsize-64/truncate64.c: New file.
705         * sysdeps/unix/sysv/linux/wordsize-64/xstat64.c: New file.
706         * sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c: New file.
707         * sysdeps/unix/sysv/linux/wordsize-64/getdents64.c: New file.
708         * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: New file.
709         * sysdeps/unix/sysv/linux/wordsize-64/lxstat.c: New file.
710         * sysdeps/unix/sysv/linux/wordsize-64/readdir.c: New file.
711         * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c: New file.
712         * sysdeps/unix/sysv/linux/wordsize-64/mmap64.c: New file.
713         * sysdeps/unix/sysv/linux/wordsize-64/xstat.c: New file.
714         * sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c: New file.
715         * sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c: New file.
716         * sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c: New file.
717         * sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c: New file.
718         * sysdeps/unix/sysv/linux/wordsize-64/getdents.c: New file.
719         * sysdeps/unix/sysv/linux/wordsize-64/statvfs.c: New file.
720         * sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c: New file.
721         * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c: New file.
722         * sysdeps/unix/sysv/linux/wordsize-64/readdir64.c: New file.
723         * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: New file.
724         * sysdeps/unix/sysv/linux/wordsize-64/fxstat.c: New file.
725         * sysdeps/unix/sysv/linux/wordsize-64/statfs64.c: New file.
726         * sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c: New file.
727         * sysdeps/unix/sysv/linux/ia64/Implies: New file.
728         * sysdeps/unix/sysv/linux/x86_64/Implies: New file.
729
730 2004-03-22  Richard Henderson  <rth@redhat.com>
731
732         * sysdeps/alpha/s_fabs.S: Remove file.
733         * sysdeps/alpha/s_copysign.S: Remove file.
734
735 2004-03-22  Jakub Jelinek  <jakub@redhat.com>
736
737         * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
738         (__getpagesize): Avoid warning about writing into read-only memory.
739
740         * string/Makefile (routines): Add xpg-strerror.
741         * string/string.h (strerror_r): If __USE_XOPEN2K but not __USE_GNU,
742         redirect strerror_r to __xpg_strerror_r.
743         * string/Versions (libc): Add __xpg_strerror_r@@GLIBC_2.3.4.
744         * sysdeps/generic/xpg-strerror.c: New file.
745         * sysdeps/mach/xpg-strerror.c: New file.
746
747 2004-03-22  Joseph S. Myers  <jsm@polyomino.org.uk>
748
749         * sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): Do not use
750         casts as lvalues.
751
752 2004-03-22  Andreas Jaeger  <aj@suse.de>
753
754         * elf/tst-dlmodcount.c (unload): Remove unused variable.
755
756         * misc/tst-mntent.c (main): Use tmpfile instead of tmpnam.
757
758 2004-03-20  Roland McGrath  <roland@frob.com>
759
760         * sysdeps/mach/hurd/dl-execstack.c: New file.
761
762 2004-03-20  Ulrich Drepper  <drepper@redhat.com>
763
764         * po/ca.po: Update from translation team.
765
766 2004-03-20  Andreas Jaeger  <aj@suse.de>
767
768         * sysdeps/unix/sysv/linux/sched_getaffinity.c
769         (__sched_getaffinity_old): Fix interface.
770         * sysdeps/unix/sysv/linux/sched_setaffinity.c
771         (__sched_setaffinity_old): Likewise.
772
773         * sysdeps/unix/sysv/linux/sched_setaffinity.c: Include <alloca.h>.
774
775 2004-03-17  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
776
777         * sysdeps/unix/sysv/linux/kernel-features.h
778         (__ASSUME_CLONE_THREAD_FLAGS ): Define for newer SH kernel.
779         (__ASSUME_TGKILL, __ASSUME_UTIMES): Likewise.
780         * sysdeps/unix/sysv/linux/sh/socket.S: Add unwind information.
781
782 2004-03-19  Ulrich Drepper  <drepper@redhat.com>
783
784         * time/tzfile.c (__tzfile_default): Correct setting of rule_stdoff
785         and rule_dstoff after reading the posixrules file.
786
787 2004-03-18  Ulrich Drepper  <drepper@redhat.com>
788
789         * malloc/malloc.c (__posix_memalign): Correct alignment check.
790         Reported by Don Heller <dheller@cse.psu.edu>.
791
792 2004-03-18  Jakub Jelinek  <jakub@redhat.com>
793
794         * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Remove hwcap
795         variable and weak_extern for _dl_hwcap.
796         (_DL_HWCAP_TLS_MASK): Define.
797         (HWCAP_CHECK): Fix checking of non-platform hwcap bits.  Use
798         lib->osversion instead of cache_new->libs[middle].osversion.
799
800         * stdio-common/asprintf.c: Remove USE_IN_LIBIO conditionals.
801         * stdio-common/dprintf.c: Likewise.
802         * stdio-common/fprintf.c: Likewise.
803         * stdio-common/getline.c: Likewise.
804         * stdio-common/getw.c: Likewise.
805         * stdio-common/perror.c: Likewise.
806         * stdio-common/printf-prs.c: Likewise.
807         * stdio-common/printf.c: Likewise.
808         * stdio-common/printf_size.c: Likewise.
809         * stdio-common/psignal.c: Likewise.
810         * stdio-common/putw.c: Likewise.
811         * stdio-common/scanf.c: Likewise.
812         * stdio-common/snprintf.c: Likewise.
813         * stdio-common/sprintf.c: Likewise.
814         * stdio-common/sscanf.c: Likewise.
815         * stdio-common/tstgetln.c: Likewise.
816         * stdio-common/vfprintf.c: Likewise.
817
818 2004-03-18  Paul Eggert  <eggert@cs.ucla.edu>
819
820         * posix/getopt.h (__GNUC_PREREQ) [!defined __THROW]: Define
821         if not defined, fixing a typo (it used to be defined if
822         __GNUC__ was not defined).
823
824 2004-03-18  Ulrich Drepper  <drepper@redhat.com>
825
826         * posix/sched.h: Change sched_getaffinity and sched_setaffinity
827         interfaces: add new second parameter.
828         * sysdeps/generic/sched_getaffinity.c: Implement interface change.
829         * sysdeps/generic/sched_setaffinity.c: Likewise.
830         * sysdeps/unix/sysv/linux/sched_getaffinity.c: Likewise.  Add
831         compatibility interface.
832         * sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise.
833         * sysdeps/unix/sysv/linux/Versions: Add versions for changed
834         interfaces.
835
836 2004-03-18  Roland McGrath  <roland@redhat.com>
837
838         * manual/Makefile (stamp-summary): Use -k option to sort,
839         not traditional key selection syntax.
840         Reported by Jim Gifford <giffordj@linkline.com>.
841
842 2004-03-18  Jakub Jelinek  <jakub@redhat.com>
843
844         * elf/ldconfig.c: Include stdbool.h.
845
846 2004-03-18  Roland McGrath  <roland@redhat.com>
847
848         * elf/ldconfig.c (parse_conf_include): New function.
849         (parse_conf): Call it to parse lines starting with "include".
850         Remaining words are glob patterns for more config files to read.
851         Take additional bool argument to disable opt_chroot processing.
852         (main): Update caller.
853
854 2004-03-17  Ulrich Drepper  <drepper@redhat.com>
855
856         * sysdeps/unix/sysv/linux/ia64/ioperm.c (_iopl): Match EPERM error
857         the x86 code produces in case of mission permissions.
858         Patch by Bernd Schmidt <bernds@redhat.com>.
859
860         * resolv/netdb.h: Define AI_IDN_ALLOW_UNASSIGNED,
861         AI_IDN_USE_STD3_ASCII_RULES, NI_IDN_ALLOW_UNASSIGNED, and
862         NI_IDN_USE_STD3_ASCII_RULES.
863         * inet/getnameinfo.c (getnameinfo): Implement handling of
864         NI_IDN_ALLOW_UNASSIGNED and NI_IDN_USE_STD3_ASCII_RULES.
865         * sysdeps/posix/getaddrinfo.c (gaih_inet): Implement handling of
866         AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES.
867
868 2004-03-17  Jakub Jelinek  <jakub@redhat.com>
869
870         * sysdeps/x86_64/hp-timing.h (HP_TIMING_NOW): Make asm volatile.
871
872 2004-03-16  Jakub Jelinek  <jakub@redhat.com>
873
874         * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Spelling.
875         (JB_SIZE): Undefine before including __longjmp-common.S again.
876         * sysdeps/powerpc/powerpc32/fpu/setjmp.S: Spelling.
877         (JB_SIZE): Undefine before including setjmp-common.S again.
878         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Spelling.
879         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Spelling.
880         * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Spelling.
881         * sysdeps/powerpc/powerpc32/bsd-setjmp.S: Spelling.
882         * sysdeps/powerpc/sigjmp.c: Spelling.
883
884 2004-03-16  Ulrich Drepper  <drepper@redhat.com>
885
886         * include/ctype.h: For libc, define isdigit, isdigit_l, and
887         __isdigit_l as simple comparison macros.
888         * include/wctype.h: For libc, define iswdigit, iswdigit_l, and
889         __iswdigit_l as simple comparison macros.
890         * wctype/wcfuncs_l.c: #undef iswdigit and __iswdigit.
891
892 2004-03-15  Ulrich Drepper  <drepper@redhat.com>
893
894         * sysdeps/sparc/fpu/bits/mathinline.h: Restore missing #ifdef.
895         Patch by Richard Henderson.
896
897 2004-03-16  Jakub Jelinek  <jakub@redhat.com>
898
899         * sysdeps/generic/strtold_l.c (STRING_TYPE, STRTOLD, __STRTOLD,
900         __STRTOD, INTERNAL, INTERNAL1): Define, use them.
901         [! USE_WIDE_CHAR] (INTERNAL (__STRTOLD)): Add libc_hidden_def.
902
903         * inet/getnameinfo.c: Include stdlib.h.
904
905 2004-03-15  Richard Henderson  <rth@redhat.com>
906
907         * math/Makefile (headers): Add bits/huge_valf.h, bits/huge_vall.h,
908         and bits/inf.h.
909         * math/math.h: Include them.
910
911         * sysdeps/alpha/fpu/bits/mathdef.h: Remove INFINITY.
912         * sysdeps/arm/fpu/bits/mathdef.h: Likewise.
913         * sysdeps/generic/bits/mathdef.h: Likewise.
914         * sysdeps/i386/fpu/bits/mathdef.h: Likewise.
915         * sysdeps/ia64/fpu/bits/mathdef.h: Likewise.
916         * sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
917         * sysdeps/mips/fpu/bits/mathdef.h: Likewise.
918         * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
919         * sysdeps/sh/sh4/fpu/bits/mathdef.h: Likewise.
920         * sysdeps/sparc/fpu/bits/mathdef.h: Likewise.
921         * sysdeps/x86_64/fpu/bits/mathdef.h: Likewise.
922
923         * sysdeps/arm/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
924         (HUGE_VALF, HUGE_VALL): Remove.
925         * sysdeps/ieee754/bits/huge_val.h: Likewise.
926         * sysdeps/sh/bits/huge_val.h: Likewise.
927
928         * sysdeps/generic/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
929         * sysdeps/generic/bits/huge_valf.h: New file.
930         * sysdeps/generic/bits/huge_vall.h: New file.
931         * sysdeps/generic/bits/inf.h: New file.
932         * sysdeps/ieee754/bits/huge_valf.h: New file.
933         * sysdeps/ieee754/bits/inf.h: New file.
934         * sysdeps/i386/bits/huge_val.h: Remove file.
935         * sysdeps/i386/bits/huge_vall.h: New file.
936         * sysdeps/ia64/bits/huge_val.h: Remove file.
937         * sysdeps/ia64/bits/huge_vall.h: New file.
938         * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: New file.
939         * sysdeps/m68k/bits/huge_val.h: Remove file.
940         * sysdeps/m68k/bits/huge_vall.h: New file.
941         * sysdeps/s390/bits/huge_val.h: Remove file.
942         * sysdeps/sh/sh4/fpu/bits/huge_val.h: Remove file.
943         * sysdeps/sparc/bits/huge_vall.h: New file.
944         * sysdeps/sparc/sparc32/fpu/bits/huge_val.h: Remove file.
945         * sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Remove file.
946
947         * sysdeps/ieee754/bits/nan.h (NAN): Use __builtin_nanf.
948         * sysdeps/mips/bits/nan.h (NAN): Likewise.
949
950 2004-03-15  Ulrich Drepper  <drepper@redhat.com>
951
952         * iconv/gconv_simple.c (__gconv_transform_utf8_internal): Use only
953         one copy of error handling code.
954
955         * stdio-common/vfscanf.c: Simplify error handling macros.  Use
956         direct locale access functions.
957
958         * sysdeps/generic/strcasestr.c (__strcasestr): Optimize use of
959         tolower function.
960
961 2004-03-13  Jakub Jelinek  <jakub@redhat.com>
962
963         * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add const.
964         (handle_amd): New function.
965         (__sysconf): Handle _SC_LEVEL4_CACHE_LINESIZE here, not in
966         linux_sysconf.  Call handle_amd on AuthenticAMD.
967         * sysdeps/unix/sysv/linux/x86_64/sysconf.c: Likewise.
968
969 2004-03-14  Ulrich Drepper  <drepper@redhat.com>
970
971         * wcsmbs/mbsrtowcs.c: Just a wrapper around __mbsrtowcs_l.
972         * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Add real implementation here.
973
974         Make the non-_l functions wrappers around the _l functions.
975         * include/monetary.h: Declare __vstrmon_l.
976         * include/string.h: Add libc_hidden_proto for __strcoll_l and
977         __strxfrm_l.
978         * include/time.h: Define ptime_locale_status.  Declare
979         __strptime_internal.
980         * include/wchar.h: Add libc_hidden_proto for __wcscoll_l and
981         __wcsxfrm_l.
982         * stdlib/strfmon.c: Move the code to strfmon_l.c.  Add little
983         wrapper around __vstrfmon_l.
984         * stdlib/strfmon_l.c: Add real implementation.  Split into new
985         function __vstrfmon_l to allow calling it from strfmon.
986         * stdlib/strtod.c: Move real code to strtod_l.c and add wrapper.
987         * stdlib/strtod_l.c: Add real implementation.
988         * stdlib/strtof.c: Adjust to changed strtod.c.
989         * stdlib/strtof_l.c: Include strtod_l.c now.
990         * stdlib/strtold.c: New file.
991         * stdlib/strtold_l.c: Removed.
992         * string/strcoll.c: Move real code to strcoll_l.c: Add wrapper.
993         * string/strcoll_l.c: Add real implementation.
994         * string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper.
995         * string/strxfrm_l.c: Add real implementation.
996         * sysdeps/generic/strtol.c: Move real implementation to strtol_l.c.
997         Add wrappers.
998         * sysdeps/generic/strtol_l.c: Add real implementation.
999         * sysdeps/generic/strtold.c: Removed.
1000         * sysdeps/generic/strtold_l.c: New file.
1001         * sysdeps/generic/strtoll_l.c: Include strtol_l.c now.  Adjust
1002         #defines.
1003         * sysdeps/generic/strtoul_l.c: Likewise.
1004         * sysdeps/generic/strtoull_l.c: Likewise.
1005         * sysdeps/generic/wcstol_l.c: Likewise.
1006         * sysdeps/generic/wcstoll_l.c: Likewise.
1007         * sysdeps/generic/wcstoul_l.c: Likewise.
1008         * sysdeps/generic/wcstoull_l.c: Likewise.
1009         * sysdeps/ieee754/ldbl-128/strtold.c: Removed.
1010         * sysdeps/ieee754/ldbl-128/strtold_l.c: New file.
1011         * sysdeps/ieee754/ldbl-96/strtold.c: Removed.
1012         * sysdeps/ieee754/ldbl-96/strtold_l.c: New file.
1013         * sysdeps/m68k/strtold.c: Removed.
1014         * sysdeps/m68k/strtold_l.c: New file.
1015         * time/strftime.c: Move real code to strftime_l.c.  Add wrapper.
1016         * time/strftime_l.c: Add real implementation.
1017         * time/strptime.c: Move real code to strptime_l.c.  Add wrapper.
1018         * time/strptime_l.c: Add real implementation.
1019         * time/wcsftime.c: Simplify since only wrappers are defined in
1020         strftime.c.
1021         * time/wcsftime_l.c: Include strftime_l.c.
1022         * wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c
1023         anymore.
1024         * wcsmbs/wcscoll_l.c: Include strcoll_l.c.
1025         * wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c
1026         anymore.
1027         * wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c.
1028         * wcsmbs/wcstod.c: Prepare to include new strtod.c.
1029         * wcsmbs/wcstod_l.c: Include strtod_l.c.
1030         * wcsmbs/wcstof.c: Prepare to include new strtof.c.
1031         * wcsmbs/wcstof_l.c: Include strtof_l.c.
1032         * wcsmbs/wcstold.c: Prepare to include new strtold.c.
1033         * wcsmbs/wcstold_l.c: Include strtold_l.c.
1034
1035         * locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get.
1036
1037         * sysdeps/generic/strcasecmp.c: Optimize a bit.  It's better to get
1038         a reference to the current locale and then use the _l functions.
1039         * sysdeps/generic/strncase.c: Likewise.
1040
1041 2004-03-11  Jeroen Dekkers  <jeroen@dekkers.cx>
1042
1043         * cppflags-iterator.mk: Change libof-$(cpp-src) to
1044         libof-$(notdir $(cpp-src)).
1045
1046 2004-03-13  Ulrich Drepper  <drepper@redhat.com>
1047
1048         * resolv/netdb.h (EAI_OVERFLOW): Define.
1049         (NI_IDN): Define.
1050         * inet/getnameinfo.c (getnameinfo): Return error in case argument
1051         buffers overflow.  Implement NI_IDN.
1052
1053 2004-03-12  Ulrich Drepper  <drepper@redhat.com>
1054
1055         * resolv/netdb.h: Define AI_CANONIDN.
1056         * sysdeps/posix/getaddrinfo.c: Implement AI_CANONIDN.
1057
1058 2004-03-12  Richard Henderson  <rth@redhat.com>
1059
1060         * sysdeps/unix/sysv/linux/alpha/select.S: Fix unwind.  Propagate
1061         oldvalue from CENABLE to CDISABLE.
1062
1063 2004-03-12  Ulrich Drepper  <drepper@redhat.com>
1064
1065         * sysdeps/unix/sysv/linux/x86_64/sysconf.c: New file.
1066
1067         * sysdeps/unix/sysv/linux/bits/local_lim.h: Define HOST_NAME_MAX.
1068
1069         * posix/getconf.c (vars): Add _SC_ values for cache information.
1070         * sysdeps/generic/bits/confname.h: Add _SC_* values for cache
1071         information.
1072         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Reorganize to
1073         allow yet another sysconf function to include the one in this file.
1074         * sysdeps/unix/sysv/linux/i386/sysconf.c: New file.
1075         * sysdeps/generic/sysconf.c: Add default handling for cache line info.
1076
1077 2004-03-11  Ulrich Drepper  <drepper@redhat.com>
1078
1079         * sysdeps/posix/sysconf.c (__sysconf): Add missing support for
1080         some _SC_* values.
1081
1082 2004-03-10  Chris Heath  <chris@heathens.co.nz>
1083
1084         * iconvdata/gconv.map: Add gconv_end (fixes memory leak).
1085
1086 2004-03-11  Jakub Jelinek  <jakub@redhat.com>
1087
1088         * sysdeps/powerpc/powerpc32/__longjmp.S (JB_SIZE): Undefine before
1089         including __longjmp-common.S again.
1090         * sysdeps/powerpc/powerpc64/__longjmp.S (JB_SIZE): Likewise.
1091         * sysdeps/powerpc/powerpc32/setjmp.S (JB_SIZE): Undefine before
1092         including setjmp-common.S again.
1093         * sysdeps/powerpc/powerpc64/setjmp.S (JB_SIZE): Likewise.
1094         * sysdeps/powerpc/novmxsetjmp.h (__novmx__longjmp): Fix type of
1095         first argument in the prototype.
1096         * sysdeps/powerpc/longjmp.c (__vmx__longjmp, __vmx__libc_longjmp):
1097         Remove bogus semicolons.
1098
1099         * sysdeps/s390/dl-tls.h: Only add __tls_get_offset assembly if
1100         IS_IN_rtld.
1101         (__TLS_GET_ADDR): Use __tls_get_offset, not __tls_get_addr.
1102
1103 2004-03-11  Ulrich Drepper  <drepper@redhat.com>
1104
1105         * resolv/ns_ttl.c: Don't add ns_parse_ttl for libresolv.so.
1106
1107 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
1108
1109         * sysdeps/generic/errno.c: Include <dl-sysdep.h>.  Use
1110         RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
1111
1112         * elf/dl-sym.c: Unify _dl_sym and _dl_vsym code and make the entry
1113         points wrappers around the unified code.
1114
1115 2004-03-11  Richard Henderson  <rth@redhat.com>
1116
1117         * sysdeps/unix/sysv/linux/alpha/kernel_stat.h (kernel_stat64): New.
1118         (glibc21_stat): New.
1119         * sysdeps/unix/sysv/linux/alpha/fxstat.c: New file.
1120         * sysdeps/unix/sysv/linux/alpha/lxstat.c: New file.
1121         * sysdeps/unix/sysv/linux/alpha/xstat.c: New file.
1122         * sysdeps/unix/sysv/linux/alpha/xstatconv.c (__xstat_conv): Add
1123         code for _STAT_VER_GLIBC2_3_4.
1124         (__libc_missing_axp_stat64): New.
1125         * sysdeps/unix/sysv/linux/alpha/xstatconv.h: New file.
1126         * sysdeps/unix/sysv/linux/alpha/bits/stat.h (__ST_TIME): New.
1127         (_STAT_VER_GLIBC2_3_4, _STAT_VER_KERNEL64): New.
1128         (struct stat, struct stat64): Update to new format.
1129         (_STATBUF_ST_NSEC): New.
1130
1131 2004-03-11  Jakub Jelinek  <jakub@redhat.com>
1132
1133         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
1134         (__novec_swapcontext): Branch to novec_* labels.
1135
1136 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
1137
1138         * posix/getopt.c (_): Don't define here for glibc.
1139
1140 2004-03-10  Jakub Jelinek  <jakub@redhat.com>
1141
1142         * include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
1143         compat_data_section): Define.
1144         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
1145         attribute_compat_text_section.
1146         * sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
1147         * sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
1148         __old_globfree): Likewise.
1149         * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
1150         Likewise.
1151         * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
1152         (__posix_fadvise64_l32): Likewise.
1153         * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
1154         * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
1155         (__posix_fadvise64_l32): Likewise.
1156         * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
1157         Likewise.
1158         * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
1159         * sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
1160         Likewise.
1161         * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
1162         * hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
1163         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
1164         (__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
1165         (__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
1166         * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
1167         (__makecontext_stub): Likewise.
1168         (__novec_makecontext): Likewise.  Fix name in END () to match
1169         function name.
1170         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
1171         (__setcontext): Use END instead of PSEUDO_END.
1172         (__novec_setcontext): Add compat_text_section.  Use END instead of
1173         PSEUDO_END, fix the name in END () to match function name.
1174         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
1175         (__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
1176         (__novec_getcontext, __getcontext_stub): Add compat_text_section.
1177
1178 2004-03-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1179
1180         * sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
1181         (COPY_UNALIGNED_WORD): Remove cast used as lvalue.
1182
1183 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
1184
1185         * sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
1186
1187 2004-03-10  Richard Henderson  <rth@redhat.com>
1188
1189         * sysdeps/generic/errno.c: Disable versioning for rtld.
1190
1191         * sysdeps/generic/Makefile (elf/shared): Add unwind-pe.
1192         * sysdeps/generic/unwind-pe.c: New file.
1193         * sysdeps/generic/unwind-pe.h: Only prototypes for _LIBC without
1194         _LIBC_DEFINITIONS.
1195
1196 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
1197
1198         * include/libc-symbols.h: Define attribute_compat_text_section and
1199         attribute_compat_data_section.
1200         * io/ftw.c: Mark compat code with attribute_compat_text_section.
1201         * libio/iofopncook.c: Likewise.
1202         * libio/oldfileops.c: Likewise.
1203         * libio/oldiofclose.c: Likewise.
1204         * libio/oldiofdopen.c: Likewise.
1205         * libio/oldiofgetpos.c: Likewise.
1206         * libio/oldiofgetpos64.c: Likewise.
1207         * libio/oldiofopen.c: Likewise.
1208         * libio/oldiofsetpos.c: Likewise.
1209         * libio/oldiofsetpos64.c: Likewise.
1210         * libio/oldiopopen.c: Likewise.
1211         * libio/oldpclose.c: Likewise.
1212         * libio/oldtmpfile.c: Likewise.
1213         * nptl/forward.c: Likewise.
1214         * nss/getXXbyYY_r.c: Likewise.
1215         * nss/getXXent_r.c: Likewise.
1216         * posix/tst-vfork1.c: Likewise.
1217         * stdlib/canonicalize.c: Likewise.
1218         * stdlib/old_atexit.c: Likewise.
1219         * sysdeps/generic/glob.c: Likewise.
1220         * sysdeps/posix/posix_fallocate64.c: Likewise.
1221         * sysdeps/unix/sysv/linux/i386/alphasort64.c: Likewise.
1222         * sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
1223         * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
1224         * sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
1225         * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Likewise.
1226         * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise.
1227         * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
1228         * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
1229         * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise.
1230         * sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
1231         * sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise.
1232         * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
1233         * posix/regexec.c: Likewise.
1234
1235         * sysdeps/unix/sysv/linux/i386/syscalls.list: vm86@@GLIBC_2.3.4
1236         should be the default symbol. Having none misses the point.
1237
1238 2004-03-09  Ulrich Drepper  <drepper@redhat.com>
1239
1240         * stdlib/qsort.c (_quicksort): Initialize first stack element [BZ #16].
1241
1242 2004-03-05  Jakub Jelinek  <jakub@redhat.com>
1243
1244         * posix/regexec.c (regexec): Return with error on unknown eflags.
1245         Replace weak_alias with versioned_symbol.
1246         (__compat_regexec): New.
1247         * posix/Versions (libc): Add regexec@GLIBC_2.3.4.
1248
1249 2004-03-09  Richard Henderson  <rth@redhat.com>
1250
1251         * math/math.h (isgreater, isgreaterequal, isless, islessequal,
1252         islessgreater, isunordered): Use builtins if available.
1253         * sysdeps/i386/fpu/bits/mathinline.h: Don't define via builtins.
1254         * sysdeps/m68k/fpu/bits/mathinline.h: Likewise.
1255         * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
1256         * sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
1257         * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
1258         * sysdeps/alpha/fpu/bits/mathinline.h (isgreater, isgreaterequal,
1259         isless, islessequal, islessgreater): Remove; use default.
1260         (isunordered): Convert inputs to double.
1261
1262 2004-02-09  Jakub Jelinek  <jakub@redhat.com>
1263
1264         * posix/Makefile (tests): Add tst-vfork2.
1265         * posix/tst-vfork1.c (do_test): Fix comment.
1266         * posix/tst-vfork2.c: New test.
1267
1268 2004-03-09  Ulrich Drepper  <drepper@redhat.com>
1269
1270         * elf/dl-lookup.c (_dl_lookup_symbol_x): Fix possible NULL pointer
1271         derefernce in error message.  Pretty printing.
1272
1273         * po/nl.po: Update from translation team.
1274
1275 2004-03-08  Andreas Schwab  <schwab@suse.de>
1276
1277         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't truncate
1278         sysinfo pointer value.
1279
1280 2004-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1281
1282         Merge from gnulib.  We now assume C89 or better.
1283         * posix/getopt1.c (const): Remove.
1284         * posix/getopt.c (const): Likewise.
1285         * posix/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
1286         _getopt_long_only_r, main): Use prototypes, not old-style definitions.
1287         * posix/getopt.c (exchange, _getopt_initialize, _getopt_internal_r,
1288         _getopt_internal, getopt, main): Likewise.
1289         * posix/getopt.h (getopt, getopt_long, getopt_long_only): Likewise.
1290         * posix/getopt.c [!defined VMS || !HAVE_STRING_H]:
1291         Include <string.h> regardless.  No need for <strings.h>.
1292         [!defined _LIBC]: Include "gettext.h" rather than rolling it ourselves.
1293         (_): Define to gettext always.
1294         (my_index): Remove: all uses changed to strchr.
1295         (strlen): Remove declaration.
1296         * posix/getopt.h (struct option.name): Always const char *.
1297
1298 2004-03-08  Marcus Brinkmann  <marcus@gnu.org>
1299
1300         * posix/getopt.h (_getopt_internal): Move to ...
1301         * posix/getopt_int.h: ... here.  New file.
1302         * include/getopt_int.h: New file.
1303         * include/getopt.h: Remove libc_hidden_proto for getopt_long
1304         and getopt_long_only.
1305         * posix/getopt1.c: Include "getopt_int.h".  Remove
1306         libc_hidden_def for getopt_long and getopt_long_only.
1307         (_getopt_long_r, _getopt_long_only_r): New functions.
1308         * posix/getopt.c: Include "getopt_int.h".
1309         (__getopt_initialized): Variable removed.
1310         (nextchar, ordering, posixly_correct, first_nonopt, last_nonopt):
1311         Static variables removed.
1312         (nonoption_flags_max_len, nonoption_flags_len) [_LIBC &&
1313         USE_NONOPTION_FLAGS]: Static variables removed.
1314         (getopt_data): New static variable.
1315         (SWAP_FLAGS): Use d->__nonoption_flags_len instead
1316         nonoption_flags_len.
1317         (exchange): Add new argument D of type struct getopt_data *.
1318         Replace optind with d->optind, optarg with d->optarg, opterr with
1319         d->opterr, optopt with d->optopt, nextchar with d->__nextchar,
1320         first_nonopt with d->__first_nonopt, last_nonopt with
1321         d->__last_nonopt, d->ordering with d->__ordering,
1322         d->posixly_correct with d->__posixly_correct (which is now an
1323         int instead a string, so fix users), nonoption_flags_len
1324         with d->__nonoption_flags_len, nonoption_flags_max_len with
1325         d->__nonoption_flags_max_len.
1326         (_getopt_initialize): Likewise.
1327         (_getopt_internal): Rename to ...
1328         (_getopt_internal_r): ... this.  Also add new argument D of type
1329         struct getopt_data * and use of members of D rather than global or
1330         static variables as described for exchange() above.  Add new argument
1331         to invocations of _getopt_initialize and exchange.
1332         (_getopt_internal): Reimplement in terms of _getopt_internal_r.
1333         * argp/argp-parse.c: Include <getopt_int.h>.
1334         [_LIBC]: Do not include <bits/libc-lock.h>.
1335         [!_LIBC && HAVE_CTHREADS_H]: Do not include <cthreads.h>.
1336         [!_LIBC] (_argp_hang): Make static.
1337         (getopt_lock, LOCK_GETOPT, UNLOCK_GETOPT): Remove.
1338         (_argp_unlock_xxx): Remove.
1339         (parser_init): Do not use LOCK_GETOPT.
1340         (parser_finalize): Do not use UNLOCK_GETOPT.
1341         (struct parser): New member OPT_DATA.
1342         (parser_init): Initialize parser->opt_data.  Use
1343         parser->opt_data.opterr instead of opterr.
1344         (parser_parse_opt): Use parser->opt_data.optarg instead optarg.
1345         (parser_parse_next): Likewise.  Use parser->opt_data.optind
1346         instead optind.  Use parser->opt_data.optopt instead of optopt.
1347         Call _getopt_long_only_r and _getopt_long_r instead of
1348         getopt_long_only and getopt_long, and pass the extra argument.
1349
1350 2004-03-09  Ulrich Drepper  <drepper@redhat.com>
1351
1352         * iconv/gconv_db.c: Don't define lock as static.  Rename to
1353         __gconv_lock and export from the file.
1354         * iconv/gconv_int.h: Declare __gconv_lock.
1355         * libio/iofclose.c [_LIBC] (_IO_new_fclose): Lock gconv lock
1356         before __gconv_release_step calls.
1357         Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
1358
1359         * iconv/gconv_simple.c (internal_ucs4_loop): Fix typo in last change.
1360
1361         * posix/Makefile (tests): Add tst-vfork1.
1362         * posix/tst-vfork1.c: New file.
1363
1364 2004-03-08  Ulrich Drepper  <drepper@redhat.com>
1365
1366         * sysdeps/i386/dl-machine.h: Define ARCH_FIXUP_ATTRIBUTE and use
1367         it in the fixup function declarations.
1368         * elf/dl-runtime.c: If ARCH_FIXUP_ATTRIBUTE is not defined,
1369         provide dummy definition.  Use macro in fixup function
1370         definitions.
1371
1372         * sysdeps/unix/sysv/linux/i386/vfork.S: If SAVE_PID and
1373         RESTORE_PID are defined, use it.
1374         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
1375
1376         * sysdeps/posix/gai_strerror.c: Add error string for EAI_IDN_ENCODE.
1377
1378         * Makerules: Use extra-modules.mk if modules-names is defined.
1379         * extra-modules.mk: New file.
1380         * dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed.
1381         * elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1.
1382         * csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to
1383         compiler.
1384         * Makefile (distribute): Add symbol-hacks.h and extra-modules.mk.
1385         * sysdeps/generic/symbol-hacks.h: New file.
1386         * sysdeps/wordsize-32/symbol-hacks.h: New file.
1387         * sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3,
1388         __moddi3, __udivdi3, and __umoddi3.
1389         * include/libc-symbols.h: Include <symbol-hacks.h>.
1390
1391 2004-03-08  Jeroen Dekkers  <jeroen@dekkers.cx>
1392
1393         * elf/rtld.c (_rtld_global_ro) [MAP_COPY]: Don't set _dl_unload_cache.
1394
1395         * sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps):
1396         Don't use INTUSE with _dl_signal_error.
1397
1398 2004-03-08  Ulrich Drepper  <drepper@redhat.com>
1399
1400         * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow):
1401         Don't use INTUSE with _dl_signal_error.
1402
1403 2004-03-08  Richard Henderson  <rth@redhat.com>
1404
1405         * sysdeps/alpha/soft-fp/ots_cvtxt.c (_OtsConvertFloatXT): Fix typo
1406         in name.
1407
1408 2004-03-07  Ulrich Drepper  <drepper@redhat.com>
1409
1410         * config.h.in: Add entry for HAVE_LIBIDN.
1411         * configure.in: If libidn add-on present define HAVE_LIBIDN.
1412         * Versions.def: Add entry for libcidn.
1413
1414 2004-03-07  Simon Josefsson  <jas@extundo.com>
1415
1416         * resolv/netdb.h [__USE_GNU]: Add new AI_IDN ai_flags for addrinfo.
1417         [__USE_GNU]: Add new error code EAI_IDN_ENCODE for getaddrinfo.
1418         * sysdeps/posix/getaddrinfo.c: Add prototype for __idna_to_ascii_lz
1419         and define IDNA_SUCCESS.
1420         (gaih_inet): If ai_flags have AI_IDN, invoke __idna_to_ascii_lz.
1421         (getaddrinfo): Fix EAI_BADFLAGS test to include AI_IDN.
1422         All changes only applicable when glibc is compiled with the libidn
1423         add-on.
1424
1425 2004-03-07  Ulrich Drepper  <drepper@redhat.com>
1426
1427         * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Call
1428         _dl_lookup_symbol_x not _dl_lookup_symbol.
1429
1430         * sysdeps/powerpc/elf/rtld-global-offsets.sym: Adjust for moving
1431         _dl_hwcap into _rtld_global_ro.
1432         * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
1433         * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
1434         * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
1435         * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
1436         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
1437         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
1438         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
1439         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
1440         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
1441         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
1442
1443 2004-03-07  Andreas Schwab  <schwab@suse.de>
1444
1445         * elf/dl-sym.c: Include <dl-tls.h> only when USE_TLS.
1446
1447 2004-03-07  Andreas Jaeger  <aj@suse.de>
1448
1449         * iconvdata/iso-2022-cn-ext.c (BODY): Remove cast used as lvalue.
1450         * iconvdata/tcvn5712-1.c (EMIT_SHIFT_TO_INIT): Likewise.
1451         * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise.
1452         * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise.
1453         * iconvdata/tscii.c (EMIT_SHIFT_TO_INIT): Likewise.
1454
1455 2004-03-07  Ulrich Drepper  <drepper@redhat.com>
1456
1457         * sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist,
1458         _dl_hp_timing_overhead, _dl_init_all_dirs, and the content of
1459         dl-procinfo.c from _rtld_global to _rtld_global_ro.
1460         * elf/rtld.c: Adjust initializer for _rtld_global_ro.
1461         * elf/dl-close.c: Use GLRO instead of GL where appropriate.
1462         * elf/dl-libc.c: Likewise.
1463         * elf/dl-load.c: Likewise.
1464         * sysdeps/i386/dl-procinfo.h: Likewise.
1465         * sysdeps/i386/i686/hp-timing.h: Likewise.
1466         * sysdeps/ia64/hp-timing.h: Likewise.
1467         * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
1468         * sysdeps/sparc/sparc64/hp-timing.h: Likewise.
1469         * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
1470         * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
1471         * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise.
1472         * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
1473         * string/test-string.h: Define GLRO.
1474
1475 2004-03-06  Ulrich Drepper  <drepper@redhat.com>
1476
1477         * elf/dl-lookup.c: We don't need for specialized lookup functions.
1478         Combining the functionality does not slow down relocation processing,
1479         it might even speed it up a little.
1480         * sysdeps/generic/ldsodefs.h: Adjust prototypes for lookup function.
1481         Add only one function pointer to rtlf_global_ro.
1482         * elf/do-lookup.h: Replace #ifs with ifs.
1483         * elf/dl-libc.c: Adjust _dl_lookup_* callers.
1484         * elf/dl-reloc.c: Likewise.
1485         * elf/dl-runtime.c: Likewise.
1486         * elf/dl-sym.c: Likewise.
1487         * elf/rtld.c: Likewise.  Adjust _rtld_global_ro initialization.
1488
1489 2004-03-06  Richard Henderson  <rth@redhat.com>
1490
1491         * sysdeps/generic/ldsodefs.h (__rtld_local_attribute__,
1492         __rtld_global_attribute__): Undef after use.
1493         (_rtld_local_ro): Define __rtld_local_attribute__ with just hidden
1494         if available.
1495
1496         * soft-fp/quad.h (union _FP_UNION_Q): Add longs structure.
1497         * sysdeps/alpha/Implies: Add alpha/soft-fp.
1498         * sysdeps/alpha/soft-fp/sfp-machine.h: Rewrite for GEM interface.
1499         * sysdeps/alpha/Subdirs: New file.
1500         * sysdeps/alpha/soft-fp/Makefile: New file.
1501         * sysdeps/alpha/soft-fp/Versions: New file.
1502         * sysdeps/alpha/soft-fp/local-soft-fp.h: New file.
1503         * sysdeps/alpha/soft-fp/ots_add.c: New file.
1504         * sysdeps/alpha/soft-fp/ots_cmp.c: new file.
1505         * sysdeps/alpha/soft-fp/ots_cmpe.c: New file.
1506         * sysdeps/alpha/soft-fp/ots_cvtqux.c: New file.
1507         * sysdeps/alpha/soft-fp/ots_cvtqx.c: New file.
1508         * sysdeps/alpha/soft-fp/ots_cvttx.c: New file.
1509         * sysdeps/alpha/soft-fp/ots_cvtxq.c: New file.
1510         * sysdeps/alpha/soft-fp/ots_cvtxt.c: New file.
1511         * sysdeps/alpha/soft-fp/ots_div.c: New file.
1512         * sysdeps/alpha/soft-fp/ots_mul.c: New file.
1513         * sysdeps/alpha/soft-fp/ots_nintxq.c: New file.
1514         * sysdeps/alpha/soft-fp/ots_sub.c: New file.
1515
1516 2004-03-06  Ulrich Drepper  <drepper@redhat.com>
1517
1518         * configure.in: Recognize --enable-bind-now.
1519         * elf/dynamic-link.h (elf_get_dynamic_info): Allow bind-now flags
1520         in ld.so.
1521         * Makerules (LDFLAGS-c.so): Add -z now if so configured.
1522         * elf/Makefile ($(objpfx)ld.so): Likewise.
1523         * config.make.in (bind-now): New definition.
1524
1525         * elf/dl-fini.c (_dl_fini): Combine _dl_debug_printf calls.
1526         * elf/rtld.c (print_statistics): Likewise.
1527
1528         * elf/dl-open.c: No need to pass any parameter to _dl_start_profile.
1529         They are the same in both places.
1530         * elf/dl-profile.c: Likewise.
1531         * elf/rtld.c: Likewise.
1532         * sysdeps/generic/ldsodefs.h: Likewise.
1533         * elf/dl-support.c: Define _dl_profile_output variable.  Initialize it.
1534
1535 2004-03-05  Ulrich Drepper  <drepper@redhat.com>
1536
1537         * elf/Versions: Remove functions which are not exported anymore.
1538         * dlfcn/dlerror.c: Call ld.so functions through GLSO.
1539         * dlfcn/dlinfo.c: Likewise.
1540         * elf/dl-close.c: Likewise.
1541         * elf/dl-libc.c: Likewise.
1542         * elf/dl-open.c: Likewise.
1543         * elf/dl-sym.c: Likewise.
1544         * sysdeps/generic/libc-start.c: Likewise.
1545         * elf/dl-debug.c: Remove *_internal definition.  Don't use INTUSE for
1546         functions which are not exported anymore.
1547         * elf/dl-deps.c: Likewise.
1548         * elf/dl-dst.h: Likewise.
1549         * elf/dl-error.c: Likewise.
1550         * elf/dl-fini.c: Likewise.
1551         * elf/dl-init.c: Likewise.
1552         * elf/dl-load.c: Likewise.
1553         * elf/dl-lookup.c: Likewise.
1554         * elf/dl-misc.c: Likewise.
1555         * elf/dl-profile.c: Likewise.
1556         * elf/dl-profstub.c: Likewise.
1557         * elf/dl-reloc.c: Likewise.
1558         * elf/dl-runtime.c: Likewise.
1559         * elf/dl-version.c: Likewise.
1560         * elf/do-lookup.h: Likewise.
1561         * include/dlfcn.h: Likewise.
1562         * sysdeps/generic/dl-cache.c: Likewise.
1563         * sysdeps/generic/dl-fptr.c: Likewise.
1564         * sysdeps/generic/dl-origin.c: Likewise.
1565         * sysdeps/generic/dl-sysdep.c: Likewise.
1566         * sysdeps/generic/dl-tls.c: Likewise.
1567         * sysdeps/generic/ldsodefs.h: Likewise.
1568         * sysdeps/i386/dl-tls.h: Likewise.
1569         * sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
1570         * elf/rtld.c: Likewise.  Export function though _rtld_global_ro.
1571
1572         * sysdeps/generic/ldsodefs.h (struct rtld_global): Move
1573         dl_debug_fd to rtld_global_ro.
1574         * elf/rtld.c: Use GLRO instead of GL for dl_debug_fd.
1575         * elf/dl-misc.c: Likewise.
1576
1577         * malloc/malloc.c: Don't call exported interface in the implementation.
1578
1579         * include/wctype.h: Add libc_hidden_proto for __towctrans.
1580         * wctype/towctrans.c: Add libc_hidden_def.
1581
1582         * libio/memstream.c (open_memstream): Use _IO_init with INTUSE.
1583
1584         * posix/regexec.c (transit_state): Remove unused variable
1585         next_state.
1586
1587         * posix/regcomp.c (init_dfa): Use __btowc instead of btowc.
1588
1589         * sysdeps/generic/ldsodefs.h: Define new structure rtld_global_ro.
1590         Declare _rtld_global_ro and _rtld_local_ro.  Move members of
1591         rtld_global structure into the new one if they are modified only
1592         at startup time.  Define GLRO to access _rtld_global_ro.
1593         * elf/Versions: Export _rtld_global_ro.
1594         * elf/dl-close.c: Use GLRO instead of GL where appropriate.
1595         * elf/dl-conflict.c: Likewise.
1596         * elf/dl-deps.c: Likewise.
1597         * elf/dl-dst.h: Likewise.
1598         * elf/dl-error.c: Likewise.
1599         * elf/dl-fini.c: Likewise.
1600         * elf/dl-init.c: Likewise.
1601         * elf/dl-load.c: Likewise.
1602         * elf/dl-lookup.c: Likewise.
1603         * elf/dl-minimal.c: Likewise.
1604         * elf/dl-open.c: Likewise.
1605         * elf/dl-profile.c: Likewise.
1606         * elf/dl-reloc.c: Likewise.
1607         * elf/dl-runtime.c: Likewise.
1608         * elf/dl-support.c: Likewise.
1609         * elf/dl-version.c: Likewise.
1610         * elf/do-lookup.h: Likewise.
1611         * elf/rtld.c: Likewise.
1612         * sysdeps/generic/dl-cache.c: Likewise.
1613         * sysdeps/generic/dl-origin.c: Likewise.
1614         * sysdeps/generic/dl-sysdep.c: Likewise.
1615         * sysdeps/generic/libc-start.c: Likewise.
1616         * sysdeps/generic/dl-cache.c: Likewise.
1617         * sysdeps/i386/dl-machine.h: Likewise.
1618         * sysdeps/i386/setfpucw.c: Likewise.
1619         * sysdeps/i386/fpu/fclrexcpt.c: Likewise.
1620         * sysdeps/i386/fpu/fedisblexcpt.c: Likewise.
1621         * sysdeps/i386/fpu/feenablxcpt.c: Likewise.
1622         * sysdeps/i386/fpu/feholdexcpt.c: Likewise.
1623         * sysdeps/i386/fpu/fesetround.c: Likewise.
1624         * sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
1625         * sysdeps/i386/fpu/ftestexcept.c: Likewise.
1626         * sysdeps/unix/sysv/linux/dl-execstat.c: Likewise.
1627         * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
1628         * sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
1629         * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
1630         * sysdeps/unix/sysv/linux/getclktck.c: Likewise.
1631         * sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
1632         * sysdeps/unix/sysv/linux/init-first.c: Likewise.
1633         * sysdeps/unix/sysv/linux/prof-freq.c: Likewise.
1634         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
1635         * sysdeps/unix/sysv/linux/i386/sigaction.h: Likewise.
1636         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
1637         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
1638         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
1639         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
1640         * sysdeps/x86_64/dl-machine.h: Likewise.
1641         * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
1642         * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
1643         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
1644         * sysdeps/s390/s390-32/dl-machine.h: Likewise.
1645         * sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
1646         * sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
1647         * sysdeps/m68k/dl-machine.h: Likewise.
1648         * sysdeps/ia64/dl-machine.h: Likewise.
1649         * sysdeps/arm/dl-machine.h: Likewise.
1650         * sysdeps/alpha/dl-machine.h: Likewise.
1651         * generic/dl-fptr.c: Likewise.
1652         * mach/hurd/dl-sysdep.c: Likewise.
1653         * unix/sysv/linux/ia64/dl-static.c: Likewise.
1654         * unix/sysv/linux/ia64/getpagesize.c: Likewise.
1655         * unix/sysv/linux/m68k/getpagesize.c: Likewise.
1656         * unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
1657
1658 2004-03-04  Ulrich Drepper  <drepper@redhat.com>
1659
1660         * sysdeps/generic/ldsodefs.h: Don't define _dl_name_match_p as inline.
1661         * elf/dl-misc.c: Define _dl_name_match_p here.
1662         * elf/dl-open.c (check_libc_caller): Don't use _dl_name_match_p.
1663
1664         * elf/dl-open.c (dl_open_worker): Check that _dl_open is called
1665         from the right place.
1666
1667 2004-01-15  Paolo Bonzini  <bonzini@gnu.org>
1668
1669         * posix/regex.h (REG_STARTEND): Define.
1670         * posix/regexec.c (regexec): Check for REG_STARTEND.
1671
1672 2004-02-29  Paolo Bonzini  <bonzini@gnu.org>
1673
1674         * posix/regexec.c (transit_state): Don't handle state == NULL.
1675         Move state log and backreference management...
1676         (merge_state_with_log): ... to this function.
1677         (find_recover_state): New function.
1678         (check_matching): Use find_recover_state to get a non-NULL
1679         state when an invalid state is reached.  Compute the amount
1680         of initial characters to be skipped less conservatively when
1681         multi-byte character sets are in use.  Do not check
1682         dfa->nbackref if the state log is NULL.  Initialize err.
1683         (acquire_init_state_context): Expect err to be initialized.
1684         Fix spacing.
1685
1686 2004-03-05  Jakub Jelinek  <jakub@redhat.com>
1687
1688         * sysdeps/sparc/sparc32/elf/start.S: Handle PIEs.
1689         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
1690
1691 2004-03-04  Jakub Jelinek  <jakub@redhat.com>
1692
1693         * iconv/iconv_prog.c (process_block): Handle omit_invalid.
1694         If iconv returns EILSEQ with omit_invalid, continue converting
1695         and return 1 if no other errors are seen.
1696         (main): Set status to EXIT_FAILURE whenever process_* returns
1697         nonzero, but only stop processing further files if iy returns
1698         negative value.
1699
1700 2004-03-03  Jakub Jelinek  <jakub@redhat.com>
1701
1702         * sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: New file.
1703         * sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: New file.
1704         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64):
1705         Remove.
1706         * sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: New file.
1707         * sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: New file.
1708         * sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64):
1709         Remove.
1710         * sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: New file.
1711         * sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: New file.
1712         * sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64):
1713         Remove.
1714         * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: New file.
1715         * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: New
1716         file.
1717         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Removed.
1718         * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: New file.
1719         * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: New file.
1720         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
1721         (posix_fadvise64): Remove.
1722         * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: New file.
1723         * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: New file.
1724         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
1725         (posix_fadvise64): Remove.
1726
1727 2004-03-02  Andreas Schwab  <schwab@suse.de>
1728
1729         * sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c: New file.
1730         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c: New file.
1731         * sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c: New file.
1732
1733 2004-03-01  Ulrich Drepper  <drepper@redhat.com>
1734
1735         * nscd/nscd_getgr_r.c (nscd_getgr_r): Add missing initialization
1736         of return value.
1737         * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
1738
1739         * sysdeps/unix/sysv/linux/kernel-features.h: Add support for
1740         __ASSUME_GETDENTS32_D_TYPE.
1741         * sysdeps/unix/sysv/linux/getdents.c: For 2.6.4+ kernels use
1742         getdents syscall again since it provides d_type information.
1743
1744 2004-02-29  Andreas Jaeger  <aj@suse.de>
1745
1746         * manual/install.texi (Tools for Compilation): Autoconf 2.53 is
1747         required.
1748         (Supported Configurations): Add x86_64-*-linux.
1749
1750 2004-02-28  Ulrich Drepper  <drepper@redhat.com>
1751
1752         * sysdeps/i386/i686/memcmp.S: Move table to .rodata.  Patch by HJ Lu.
1753
1754 2004-02-27  Jakub Jelinek  <jakub@redhat.com>
1755
1756         * elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr.
1757         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Only set
1758         GL(dl_sysinfo) if non-zero.
1759
1760         * sysdeps/unix/sysv/linux/sysconf.c: Include stdlib.h.
1761
1762 2004-02-26  Ulrich Drepper  <drepper@redhat.com>
1763
1764         * nss/getXXbyYY_r.c: Pass result also to the nscd_* function.  Don't
1765         set *result here.
1766         * nscd/nscd_proto.h: Add new argument for pointer to result pointer
1767         to all nscd_* functions.
1768         * nscd/nscd_getgr_r.c (nscd_getgr_r): Add new parameter.  Store result
1769         pointer in the address provided by the new parameter if successful.
1770         Otherwise store NULL.  Return zero if no entry found.
1771         (__nscd_getgrnam_r, __nscd_getgrgid_r): Add new parameter and pass
1772         it on.
1773         * nscd/nscd_gethst_r.c (nscd_gethst_r): Add new parameter.  Store
1774         result pointer in the address provided by the new parameter if
1775         successful. Otherwise store NULL.  Return zero if no entry found.
1776         (__nscd_gethostbyname_r, __nscd_gethostbyname2_r,
1777         __nscd_gethostbyaddr_r): Add new parameter and pass it on.
1778         * nscd/nscd_getpw_r.c (nscd_getpw_r): Add new parameter.  Store result
1779         pointer in the address provided by the new parameter if successful.
1780         Otherwise store NULL.  Return zero if no entry found.
1781         (__nscd_getpwnam_r, __nscd_getpwuid_r): Add new parameter and pass
1782         it on.
1783
1784 2004-02-26  Jakub Jelinek  <jakub@redhat.com>
1785
1786         * sysdeps/unix/sysv/linux/clock_settime.c (SYSDEP_SETTIME): Set
1787         retval to -1 on error.
1788
1789 2004-02-26  Ulrich Drepper  <drepper@redhat.com>
1790
1791         * stdlib/canonicalize.c (__realpath): Simplify.
1792
1793         * posix/regcomp.c (parse_expression): Avoid duplication in calls
1794         to build_charclass_op.
1795
1796 2004-02-26  Jakub Jelinek  <jakub@redhat.com>
1797
1798         * elf/rtld.c (dl_main): Correctly set up l_map_end and l_addr
1799         in vDSO's link_map, don't assume l_addr == 0.  Set GL(dl_sysinfo)
1800         from e_entry only if AT_SYSINFO not present and adjust by l_addr.
1801         Take vDSO into account when inserting rtld into _dl_loaded chain.
1802
1803 2004-02-26  Ulrich Drepper  <drepper@redhat.com>
1804
1805         * sunrpc/svcauth_des.c (authdes_getucred): Removed fixed limit on
1806         number of groups in the cache.  Relax the disconnect between the
1807         interface of authdes_getucred and netname2user a bit.
1808         * sunrpc/auth_unix.c (authunix_create_default): Don't allocate
1809         huge arrays on the stack.
1810
1811         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Use the official
1812         not cancelable interfaces.
1813
1814 2004-02-24  Arnold D. Robbins  <arnold@skeeve.com>
1815
1816         * posix/regex_internal.c (build_wcs_upper_buffer): Enclose
1817         `offsets_needed' label in `#ifdef _LIBC' to silence `unused label'
1818         compiler warning.
1819
1820 2004-02-24  Nelson H.F. Beebe  <beebe@math.utah.edu>
1821
1822         * posix/regcomp.c (parse_expression): Add cast to (const unsigned
1823         char *) in calls to `build_charclass_op'.
1824         * posix/regex_internal.c (build_wcs_buffer): Add cast to char* in call
1825         to `wcrtomb'.
1826         * posix/regex_internal.h (bitset_not, bitset_merge, bitset_not_merge,
1827         bitset_mask, re_string_char_size_a, re_string_wchar_at,
1828         re_string_elem_size_at): Change to use prototypes.
1829         (re_string_char_size_at, re_string_wchar_at,
1830         re_string_elem_size_at): Declare as `internal_function'.
1831
1832 2004-02-25  Ulrich Drepper  <drepper@redhat.com>
1833
1834         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Handle
1835         _SC_NGROUPS_MAX.
1836
1837 2004-02-23  Jakub Jelinek  <jakub@redhat.com>
1838
1839         * wcsmbs/mbrtowc.c (__mbrtowc): Cap s + n at the end of address space.
1840         * stdlib/Makefile (tests): Add testmb2.
1841         (testmb2-ENV): New.
1842         * stdlib/testmb2.c: New test.
1843
1844 2004-02-23  Jakub Jelinek  <jakub@redhat.com>
1845
1846         * sysdeps/posix/getaddrinfo.c (gaih_inet): If _res has not been
1847         inited yet, try to init it before saving old _res.options.
1848         * posix/Makefile (xtests): Add bug-ga2.
1849         (generated): Add bug-ga2.mtrace and bug-ga2-mem.
1850         (xtests): Depend on bug-ga2-mem.
1851         ($(objpfx)bug-ga2-mem, bug-ga2-ENV): New.
1852         * posix/bug-ga2.c: New test.
1853
1854 2004-02-22  Ulrich Drepper  <drepper@redhat.com>
1855
1856         * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Pop register
1857         content also in case of an overflow in the parameter.
1858         Reported by Momchil Velikov <velco@fadata.bg>.
1859
1860 2004-02-21  Ulrich Drepper  <drepper@redhat.com>
1861
1862         * elf/dynamic-link.h (elf_get_dynamic_info): Recognize DF_1_NOW.
1863         In ld.so, neither DT_FLAGS nor DT_FLAGS_1 must be used.
1864
1865 2004-02-21  Andreas Jaeger  <aj@suse.de>
1866
1867         * posix/bug-ga1.c: Include <string.h> for memset prototype.
1868
1869         * elf/dl-load.c (_dl_map_object_from_fd): Fix casts used as lvalue.
1870
1871         * iconv/gconv_simple.c (internal_ucs4le_loop): Remove cast used as
1872         lvalue.
1873
1874 2004-02-19  Carlos O'Donell  <carlos@baldric.uwo.ca>
1875
1876         * sysdeps/generic/framestate.c [__USING_SJLJ_EXCEPTIONS__]
1877         (__frame_state_for): Set frame_State_for to abort if the compiler
1878         is using sjlj.
1879         * sysdeps/generic/unwind-dw2.c: Allow sjlj enabled compilers to
1880         build the code by removing __USING_SJLJ_EXCEPTIONS__ wrapper.
1881
1882 2004-02-20  Alexandre Oliva  <aoliva@redhat.com>
1883
1884         * resolv/Versions: Remove semicolon from the end of libresolv's
1885         GLIBC_2.3.2 version block.
1886         * Versions.def (libresolv): Add GLIBC_2.3.2.
1887
1888 2004-02-19  Carlos O'Donell  <carlos@baldric.uwo.ca>
1889
1890         * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Fix order of fp
1891         status register loads.
1892
1893 2004-02-20  Thorsten Kukuk  <kukuk@suse.de>
1894
1895         * nscd/nscd.c (termination_handler): Use _exit instead of exit
1896
1897 2004-02-20  Ulrich Drepper  <drepper@redhat.com>
1898
1899         * nscd/nscd.c (main): Report fork errors.
1900
1901         * dlfcn/dlsym.c: Get ld.so loading lock before the call into ld.so.
1902         * dlfcn/dlvsym.c: Likewise.
1903         * elf/dl-addr.c: Get loading lock while using _dl_loaded data.
1904         * elf/dl-fini.c: Likewise.
1905         Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
1906
1907 2004-02-20  Jakub Jelinek  <jakub@redhat.com>
1908
1909         * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the
1910         2003-11-27 atan2 test.
1911
1912         * sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Protect
1913         with #ifndef __powerpc64__.
1914
1915         * sysdeps/generic/ldsodefs.h (_dl_argv, _dl_argv_internal): If
1916         DL_ARGV_NOT_RELRO defined, don't use attribute_relro.
1917         * sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1918         * sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1919         * sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1920         * sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1921         * sysdeps/alpha/dl-sysdep.h: New file.
1922         * sysdeps/ia64/dl-sysdep.h: New file.
1923         * sysdeps/sparc/dl-sysdep.h: New file.
1924
1925 2004-02-19  Jakub Jelinek  <jakub@redhat.com>
1926
1927         * sysdeps/sparc/sparc32/bits/atomic.h: Add __make_section_unallocated
1928         for .gnu.linkonce.b.__sparc32_atomic_locks section.
1929         (__sparc32_atomic_locks): Add __sec_comment at the end of section name.
1930
1931 2004-02-19  Steven Munroe  <sjmunroe@us.ibm.com>
1932
1933         * sysdeps/generic/libc-start.c [LIBC_START_DISABLE_INLINE] (STATIC):
1934         Define as static.
1935         * sysdeps/powerpc/elf/libc-start.c: Define LIBC_START_DISABLE_INLINE
1936         because gcc does not allow inline of functions that call setjmp.
1937
1938 2004-02-19  Steven Munroe  <sjmunroe@us.ibm.com>
1939
1940         * sysdeps/powerpc/powerpc64/Makefile: Use -finline-limit.
1941
1942 2004-02-19  Jakub Jelinek  <jakub@redhat.com>
1943
1944         * elf/rtld.c (_dl_argv): If DL_ARGV_NOT_RELRO defined, don't
1945         use attribute_relro for _dl_argv.
1946         * sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1947         * sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1948         * sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1949         * sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1950
1951 2004-02-19  Ulrich Drepper  <drepper@redhat.com>
1952
1953         * libio/iopopen.c (_IO_new_proc_open): It's not kosher to use
1954         vfork instead of fork.
1955         * libio/oldiopopen.c (_IO_old_proc_open): Likewise.
1956
1957         * sysdeps/unix/clock_settime.c (clock_settime): Fix typo which
1958         prevented system-dependent handling from being used.
1959
1960 2004-02-18  Carlos O'Donell  <carlos@baldric.uwo.ca>
1961
1962         * test-skeleton.c (main): If set, use environment variable
1963         TIMEOUTFACTOR to scale test TIMEOUT.
1964
1965 2004-02-18  Ulrich Drepper  <drepper@redhat.com>
1966
1967         * nscd/nscd_conf.c: Include <stdio_ext.h>.
1968
1969 2004-02-16  Ulrich Drepper  <drepper@redhat.com>
1970
1971         * stdlib/test-canon.c (do_test): Test realpath(,NULL) in the loop
1972         as well.
1973
1974         * stdlib/canonicalize.c (__realpath): Remove unnecessary copy
1975         operations.
1976
1977         * nscd/nscd_conf.c (nscd_parse_file): Little optimization.
1978
1979 2004-02-14  Thorsten Kukuk  <kukuk@suse.de>
1980
1981         * nscd/dbg_log.c (set_logfile): Only save name of logfile,
1982         don't open it.
1983         (init_logfile): New function, open logfile if requested.
1984         * nscd/dbg_log.h: Adjust protoype for set_logfile, add init_logfile.
1985         * nscd/nscd.c (main): Call init_logfile after forking in background.
1986         * nscd/nscd_conf.c (nscd_parse_file): Adjust for new set_logfile.
1987
1988 2004-02-16  Ulrich Drepper  <drepper@redhat.com>
1989
1990         * elf/rtld.c (dl_main): Don't fail execution if file named in
1991         ld.so.preload is not present [BZ #18].
1992
1993         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Undo unintended
1994         changes in last patch.
1995
1996         * posix/regexec.c (transit_state): Fix typo in commented-out code
1997         [BZ #6].
1998
1999         * sysdeps/posix/getaddrinfo.c (match_prefix): Correctly match
2000         partial bytes [BZ #24].
2001         * posix/Makefile (tests): Add bug-ga1.
2002         * posix/bug-ga1.c: New file.
2003
2004 2004-02-13  Steven Munroe  <sjmunroe@us.ibm.com>
2005
2006         * sysdeps/powerpc/powerpc64/__longjmp-common.S: New file.
2007         * sysdeps/powerpc/powerpc64/__longjmp.S [NOT_IN_libc](__longjmp):
2008         Non-versioned __longjmp for rtld-__longjmp.
2009         [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
2010         default version of __longjmp.
2011         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
2012         (__novmx__longjmp): Original version of __longjmp.
2013         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
2014         Non-versioned _setjmp for rtld-_setjmp.
2015         [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
2016         as default version of _setjmp.
2017         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
2018         (__novmx_setjmp): Original version of _setjmp.
2019         * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__vmxsetjmp): Branch to
2020         __vmx__sigsetjmp and define as default version of setjmp.
2021         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
2022         (__novmxsetjmp): Original version of setjmp.
2023         * sysdeps/powerpc/powerpc64/setjmp-common.S: New file.
2024         * sysdeps/powerpc/powerpc64/setjmp.S [NOT_IN_libc](__setjmp):
2025         Non-versioned __sigsetjmp for rtld-setjmp.
2026         [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
2027         as default version of __sigsetjmp.
2028         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
2029         (__novmx__sigsetjmp): Original version of __sigsetjmp.
2030
2031         * sysdeps/powerpc/powerpc32/__longjmp-common.S: New File
2032         * sysdeps/powerpc/powerpc32/__longjmp.S [NOT_IN_libc](__longjmp):
2033         Non-versioned __longjmp for rtld-__longjmp.
2034         [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
2035         default version of __longjmp.
2036         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
2037         (__novmx__longjmp): Original version of __longjmp.
2038         * sysdeps/powerpc/powerpc32/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
2039         Non-versioned _setjmp for rtld-_setjmp.
2040         [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
2041         as default version of _setjmp.
2042         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
2043         (__novmx_setjmp): Original version of _setjmp.
2044         * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__vmxsetjmp): Branch to
2045         __vmx__sigsetjmp and define as default version of setjmp.
2046         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
2047         (__novmxsetjmp): Original version of setjmp.
2048         * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: New file.
2049         * sysdeps/powerpc/powerpc32/fpu/__longjmp.S [NOT_IN_libc](__longjmp):
2050         Non-versioned __longjmp for rtld-__longjmp.
2051         [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
2052         default version of __longjmp.
2053         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
2054         (__novmx__longjmp): Original version of __longjmp.
2055         * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: New file.
2056         * sysdeps/powerpc/powerpc32/fpu/setjmp.S [NOT_IN_libc](__setjmp):
2057         Non-versioned __sigsetjmp for rtld-setjmp.
2058         [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
2059         as default version of __sigsetjmp.
2060         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
2061         (__novmx__sigsetjmp): Original version of __sigsetjmp.
2062         * sysdeps/powerpc/powerpc32/setjmp-common.S: New file.
2063         * sysdeps/powerpc/powerpc32/setjmp.S [NOT_IN_libc](__setjmp):
2064         Non-versioned __sigsetjmp for rtld-setjmp.
2065         [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
2066         as default version of __sigsetjmp.
2067         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
2068         (__novmx__sigsetjmp): Original version of __sigsetjmp.
2069
2070         * sysdeps/powerpc/Dist: New File.
2071         * sysdeps/powerpc/Makefile (sysdep_routines): Add novmx-longjmp.c
2072         and novmx-sigjmp.c
2073         * sysdeps/powerpc/Versions (libc): To GLIBC_2.3_4 add _longjmp,
2074         __sigsetjmp, _setjmp, longjmp, and setjmp. To GLIBC_PRIVATE add
2075         __novmx__libc_longjmp, __novmx__libc_siglongjmp, __vmx__libc_longjmp,
2076         and __vmx__libc_siglongjmp.
2077         * sysdeps/powerpc/bits/setjmp.h: Define JB_VRSAVE, JB_VRS, and adjust
2078         JB_SIZE to add VMX regs to __jmp_buf.
2079         * sysdeps/powerpc/longjmp.c: New file.
2080         * sysdeps/powerpc/novmxsetjmp.h: New file.
2081         * sysdeps/powerpc/novmx-longjmp.c: New file.
2082         * sysdeps/powerpc/novmx-sigjmp.c: New file.
2083         * sysdeps/powerpc/sigjmp.c: New file.
2084
2085 2004-02-13  Jakub Jelinek  <jakub@redhat.com>
2086
2087         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c (__lrintf, lrintf):
2088         Define.
2089         (__lrintl, lrintl): Remove.
2090         * sysdeps/powerpc/powerpc64/fpu/s_llrint.c (__lrint): Fix a typo in
2091         strong_alias spelling.
2092         * sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: Remove.
2093         * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: New file.
2094
2095 2004-02-12  Ulrich Drepper  <drepper@redhat.com>
2096
2097         * posix/getopt.h: Add some non-gcc support.  Patch by Aharon Robbins.
2098
2099 2004-02-12  Mark Brown  <bmark@us.ibm.com>
2100
2101         * sysdeps/ia64/fpu/e_fmodf.S: Added text of Intel license.
2102
2103 2004-02-12  Jakub Jelinek  <jakub@redhat.com>
2104
2105         * sysdeps/powerpc/fpu/s_lrint.c: Move to...
2106         * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: ... here.
2107         * sysdeps/powerpc/fpu/s_llrint.c: Move to...
2108         * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: ... here.
2109         * sysdeps/powerpc/fpu/s_llrintf.c: Move to...
2110         * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: ... here.
2111         * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file.
2112         * sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: New file.
2113         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: New file.
2114
2115         * math/libm-test.inc (lrint_test): Add new test.
2116         (llrint_test, lround_test, llround_test): Likewise.
2117         * sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Fix special case
2118         with result taking up 48 bits.
2119         * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
2120         * sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise.
2121         * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Fix special case
2122         with result taking up 31 bits.
2123
2124 2004-02-12  Ulrich Drepper  <drepper@redhat.com>
2125
2126         * locale/programs/locale.c (show_locale_vars): Don't print a value
2127         for LANG if it is not set.
2128
2129 2004-02-11  Jakub Jelinek  <jakub@redhat.com>
2130
2131         * posix/regexec.c (check_node_accept_bytes): Return 0 if char_len is 0.
2132         (find_collation_sequence_value): Don't look beyond end of
2133         SYMB_EXTRAMB table.
2134         * posix/Makefile (tests): Add bug-regex23.
2135         (bug-regex23-ENV): New.
2136         * posix/bug-regex23.c: New file.
2137
2138 2004-02-10  Roland McGrath  <roland@frob.com>
2139
2140         * sysdeps/mach/hurd/times.c (__times): Use union instead of cast.
2141         * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Likewise.
2142
2143         * sysdeps/mach/hurd/configure.in: Move `retcode' check to ...
2144         * sysdeps/mach/configure.in: ... here.
2145         * sysdeps/mach/hurd/configure: Regenerated.
2146         * sysdeps/mach/configure.in: Regenerated.
2147
2148 2004-02-10  Ulrich Drepper  <drepper@redhat.com>
2149
2150         * sysdeps/generic/setenv.c (__add_to_environ): Don't let the
2151         temporary copies of the variables accumulate on the stack.
2152
2153         * stdio-common/_i18n_number.h: Finish last patch.
2154
2155 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
2156
2157         * sysdeps/i386/i686/memcmp.S: New file.  Patch by HJ Lu.
2158
2159 2003-12-05  Roland McGrath  <roland@redhat.com>
2160
2161         * sysdeps/unix/sysv/linux/i386/syscalls.list: Turn vm86 into vm86old
2162         for vm86@GLIBC_2.0 version.  Add new vm86@GLIBC_2.3.4.
2163         * sysdeps/unix/sysv/linux/i386/Versions (libc: GLIBC_2.3.4): Add vm86.
2164         * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Update vm86 prototype.
2165
2166 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
2167
2168         * nis/ypclnt.c: Cleanup last patch.
2169
2170 2004-02-09  Andreas Jaeger  <aj@suse.de>
2171
2172         * configure.in: Remove glibcbug creation.
2173         * configure: Regenerated.
2174
2175         * sysdeps/x86_64/fpu/s_copysignf.S: Only load 4 bytes.
2176
2177 2004-02-03  Thorsten Kukuk  <kukuk@suse.de>
2178
2179         * nis/ypclnt.c (__yp_bind_client_create): New, small chunk
2180         of duplicated code from __yp_bind.
2181         (__yp_bind_file): New, binding dir code from __yp_bind.
2182         (__yp_bind_client_create): New, ypbind code from __yp_bind.
2183         (__ypclnt_call): New, make NIS query.
2184         (do_ypcall): At first use cached data, then try data from
2185         binding directory, after this ask ypbind for a working ypserv.
2186         Based on a patch from Jeff Bastian <jmbastia@ti.com> and
2187         Chris Barrera <cbarrera@ti.com>
2188
2189 2004-01-19  Roland McGrath  <roland@redhat.com>
2190
2191         * configure.in: Don't set CCVERSION.
2192         * configure: Regenerated.
2193         * glibcbug.in: File removed.
2194         * Makefile (install-bin-script): Remove glibcbug.
2195         (glibcbug): Target removed.
2196         (distclean-1): Don't rm glibcbug.
2197         (distribute): Remove glibcbug.in.
2198
2199 2004-02-09  Roland McGrath  <roland@redhat.com>
2200
2201         * time/tzset.c (tzset_internal): Cap hour in POSIX $TZ rule format to
2202         24, not 23.
2203
2204 2004-01-29  Roland McGrath  <roland@redhat.com>
2205
2206         * io/ftwtest-sh: Use $tmp consistently, not literal /tmp.
2207         Reported by Kevin P. Fleming <kpfleming@backtobasicsmgmt.com>.
2208
2209 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
2210
2211         * libio/genops.c (_IO_cleanup): Do not use locking when flushing
2212         the buffers.  Some thread might be using a stream.
2213
2214 2004-02-09  Andreas Jaeger  <aj@suse.de>
2215
2216         * sysdeps/x86_64/memcpy.S: Fix alignment [BZ #7].
2217         Patch by Jan Beulich <jbeulich@novell.com>.
2218
2219 2004-02-09  Andreas Schwab  <schwab@suse.de>
2220
2221         * include/rpc/rpc.h: Declare thread variables with their correct type.
2222         * sunrpc/clnt_perr.c: Don't cast thread variables.
2223         * sunrpc/clnt_raw.c: Likewise.
2224         * sunrpc/clnt_simp.c: Likewise.
2225         * sunrpc/key_call.c: Likewise.
2226         * sunrpc/svcauth_des.c: Likewise.
2227         * sunrpc/svc.c: Likewise.
2228         * sunrpc/svc_raw.c: Likewise.
2229         * sunrpc/svc_simple.c: Likewise.
2230
2231 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
2232
2233         * stdio-common/_i18n_number.h: Support printing localized decimal
2234         point and thousand separator.
2235         * wctype/wctrans.c: Add __wctrans alias.
2236         * include/wctype.h: Declare __wctrans.
2237         Based on a patch by Hamed Malek.
2238
2239         * sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Don't touch bits
2240         other than the status bits [BZ #10].
2241
2242 2004-02-08  Ulrich Drepper  <drepper@redhat.com>
2243
2244         Make stream locking operations really work.
2245         * misc/Makefile (CFLAGS-mntent_r.c): Define.
2246         * shadow/Makefile (CFLAGS-fgetspent_r.c): Define.
2247         (CFLAGS-putspent.c): Define.
2248         * grp/Makefile (CFLAGS-fgetgrent_r.c): Define.
2249         (CFLAGS-putgrent.c): Define.
2250         * pwd/Makefile (CFLAGS-fgetpwent_r.c): Define.
2251         Reported by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
2252
2253         * elf/dl-load.c (lose): Use noinline attribute instead of silly
2254         alloca to prevent inlining.
2255         * elf/dl-runtime.c (fixup): Likewise.
2256         (profile_fixup): Likewise.
2257
2258         * stdio-common/printf_size.c: Undo parts of patch from 2000-2-11.
2259         Initialize width correctly.
2260
2261 2004-02-07  Andreas Jaeger  <aj@suse.de>
2262
2263         * iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as
2264         lvalue.
2265         (internal_ucs4le_loop_single): Likewise.
2266         (ucs4_internal_loop): Likewise.
2267         (BODY): Likewise.
2268         (internal_ucs4_loop_single): Likewise.
2269         * iconvdata/iso8859-1.c (BODY): Likewise.
2270         * iconvdata/cp1255.c (EMIT_SHIFT_TO_INIT): Likewise.
2271         * iconvdata/cp1258.c (EMIT_SHIFT_TO_INIT): Likewise.
2272         * iconvdata/gb18030.c (BODY): Likewise.
2273         * iconvdata/armscii-8.c (BODY): Likewise.
2274         * stdlib/msort.c (msort_with_tmp): Likewise.
2275
2276         * iconv/gconv_open.c (__gconv_open): Remove conditional expression
2277         as lvalue.
2278
2279 2004-02-06  Steven Munroe  <sjmunroe@us.ibm.com>
2280
2281         * sysdeps/powerpc/powerpc32/dl-machine.c: Declare __cache_line_size as
2282         weak extern.
2283         (__elf_machine_runtime_setup): Invalidate the instruction cache over
2284         the whole range of the PLT.
2285
2286 2004-02-06  Andreas Schwab  <schwab@suse.de>
2287
2288         * posix/regcomp.c (build_range_exp): Fix off-by-one.
2289         (parse_bracket_exp): Likewise.
2290
2291 2004-02-05  Ulrich Drepper  <drepper@redhat.com>
2292
2293         * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Define
2294         _HAVE_STAT_NSEC and _HAVE_STAT64_NSEC.  Patch by Anton Blanchard.
2295
2296 2004-02-02  Paolo Bonzini  <bonzini@gnu.org>
2297
2298         * posix/regexec.c (check_matching): Add P_MATCH_FIRST parameter.
2299         (re_search_internal): Pass new parameter to check_matching.
2300         (check_matching): Unless a parenthesized group is found at the
2301         beginning of the regexp, advance P_MATCH_FIRST until we entered
2302         a state different from the initial state.
2303
2304 2004-02-01  Ulrich Drepper  <drepper@redhat.com>
2305
2306         * math/libm-test.inc (lround_test): Add new test.
2307         (llround_test): Likewise.
2308         (lrint_test): Likewise.
2309         (llrint_test): Likewise.
2310         * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Fix special case
2311         with result taking up 20 bits.
2312         * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
2313         * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise..
2314         * sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Fix special
2315         case with result taking up 31 bits.
2316         * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
2317
2318         * po/nl.po: Update from translation team.
2319
2320 2004-01-30  Andreas Schwab  <schwab@suse.de>
2321
2322         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (ILL_BREAK,
2323         FPE_DECOVF, FPE_DECDIV, FPE_DECERR, FPE_INVASC, FPE_INVDEC,
2324         SEGV_PSTKOVF): Remove underscore prefix from definition.
2325
2326 2004-01-28  Paolo Bonzini  <bonzini@gnu.org>
2327
2328         Merge regex changes in gawk.
2329         * posix/regcomp.c (build_range_exp) [!_LIBC]: Check validity
2330         of collation elements.
2331         * posix/regex.c: Include limits.h.
2332         * posix/regex.h: Document REG_ECOLLATE correctly.
2333         * posix/regex_internal.h [!_LIBC && !ENABLE_NLS]: Disable NLS.
2334
2335 2004-01-24  Andreas Jaeger  <aj@suse.de>
2336
2337         * malloc/obstack.h: Import gnulib version.
2338         * malloc/obstack.c: Likewise.
2339
2340 2004-01-26  David Mosberger  <davidm@hpl.hp.com>
2341
2342         * elf/link.h (struct dl_phdr_info): Fix typo in comment.
2343         * elf/rtld.c (dl_main): After incrementing dl_nloaded, also
2344         increment dl_load_adds.
2345         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Replace GL(dl_load_subs)
2346         with equivalent GL(dl_load_adds - GL(dl_nloaded).
2347         (dl_iterate_phdr): Likewise.
2348         * elf/dl-close.c (_dl_close): Delete increment of GL(dl_load_subs).
2349         * elf/dl-support.c: Remove global variable _dl_load_subs.
2350         * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
2351         _dl_load_subs member.
2352
2353 2004-01-27  Jakub Jelinek  <jakub@redhat.com>
2354
2355         * elf/rtld.c (_dl_start_final): Don't set l_relro_* here.
2356         (_dl_start): And neither here.
2357         (dl_main): Set GL(dl_loaded)->l_relro_* and
2358         GL(dl_rtld_map)->l_relro_*.
2359
2360 2004-01-23  David Mosberger  <davidm@hpl.hp.com>
2361
2362         * sysdeps/generic/ldsodefs.h (struct rtld_global): Add members
2363         _dl_load_adds and _dl_load_subs.
2364         * elf/dl-support.c (_dl_load_adds): New variable.
2365         (_dl_load_subs): Likewise.
2366         * elf/dl-object.c (_dl_new_object): Increment dl_load_adds.
2367         * elf/dl-close.c (_dl_close): Increment dl_load_subs.
2368         * elf/link.h (struct dl_phdr_info): Add members dlpi_adds and
2369         dlpi_subs.
2370         * include/link.h: Likewise.
2371         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds
2372         and dlpi_subs members.
2373         (dl_iterate_phdr): Likewise.
2374         * elf/tst-dlmodcount.c: New file.
2375         * elf/Makefile (distribute): Mention tst-dlmodcount.c.
2376         (tests): If build-shared, mention tst-dlmodcount.
2377         ($(objpfx)tst-dlmodcount): If build-shared, build and
2378         run tst-dlmodcount.
2379
2380 2004-01-22  Jakub Jelinek  <jakub@redhat.com>
2381
2382         * elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection
2383         into...
2384         (_dl_protect_relro): New routine.
2385         * sysdeps/generic/ldsodefs.h (_dl_protect_relro): New prototype.
2386         * elf/rtld.c (_dl_start_final): Copy l_relro_addr and l_relro_size
2387         from bootstrap_map.
2388         (_dl_main): Don't set GL(_dl_loaded)->l_relro_{addr,size} here.
2389         Call _dl_protect_relro for libraries if prelinking.
2390
2391 2004-01-23  Richard Henderson  <rth@redhat.com>
2392
2393         * Versions.def (libm): Replace GLIBC_2.3.3 with GLIBC_2.3.4.
2394         * sysdeps/alpha/fpu/Versions (libm): Likewise.
2395         * sysdeps/alpha/fpu/cfloat-compat.h (cfloat_versions): Likewise.
2396         * sysdeps/alpha/fpu/s_clog10f.c (clog10f): Likewise.
2397
2398 2004-01-22  Andreas Jaeger  <aj@suse.de>
2399
2400         * sysdeps/ieee754/dbl-64/e_pow.c (log2): Rename to my_log2 to
2401         avoid warnings for builtin function log2.
2402
2403         * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Add proper unwind
2404         information.
2405
2406 2004-01-20  Ulrich Drepper  <drepper@redhat.com>
2407
2408         * sysdeps/unix/sysv/linux/sys/epoll.h: Add EPOLLONESHOT.
2409         * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise.
2410         Patch by Davide Libenzi.
2411
2412         * sysdeps/unix/sysv/linux/kernel-features.h: Define
2413         __ASSUME_NO_CLONE_DETACHED for 2.6.2+ kernels.
2414
2415         * catgets/Makefile ($(objpfx)de.msg): Run sed in C locale.
2416
2417         * sysdeps/unix/sysv/linux/readahead.c (__readahead): Use off64_t
2418         instead of loff_t.  Include <fcntl.h>.
2419         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add readahead prototype.
2420         * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Likewise.
2421         * sysdeps/unix/sysv/linux/cris/bits/fcntl.h: Likewise.
2422         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Likewise.
2423         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
2424         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
2425         * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Likewise.
2426         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
2427         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2428         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
2429         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
2430         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
2431
2432         * elf/dl-load.c: Don't add attribute_relro to max_dirnamelen.
2433
2434         * sysdeps/generic/inttypes.h: Fix PRI*FAST{16,32} macros.
2435
2436 2003-12-31  Bruno Haible  <bruno@clisp.org>
2437
2438         * iconvdata/iso_6937-2.c (to_ucs4): Map 0x7E to U+007E, not U+203E.
2439         Map 0xA6 to U+0023. Map 0xA8 to U+00A4.
2440         (to_ucs4_comb): Map 0xC5 0x20 to U+00AF.
2441         (from_ucs4): Map U+00ED to 0xC2 0x69, not 0xC2 0xE9.
2442         (BODY for TO_LOOP): Don't map U+02DC. Map U+02DD to 0xCD 0x20, not
2443         0x00 0x20. Don't map U+2500..U+25E3.
2444
2445 2004-01-19  Jakub Jelinek  <jakub@redhat.com>
2446
2447         * posix/regexec.c (get_subexp): Remove bkref_str variable.
2448         Extend buffers if needed before comparisons.
2449         (get_subexp_sub): Handle clean_state_log_if_needed failure.
2450
2451 2004-01-17  Ulrich Drepper  <drepper@redhat.com>
2452
2453         * sysdeps/i386/i486/bits/atomic.h (atomic_add): Fix test for using
2454         atomic_decrement.  Patch by Davin McCall.
2455
2456 2004-01-13  Daniel Jacobowitz  <drow@mvista.com>
2457
2458         * sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions)
2459         (__sim_disabled_exceptions, __sim_round_mode): Declare with
2460         hidden data and nocommon.
2461         * sysdeps/powerpc/nofpu/soft-supp.h (__sim_exceptions)
2462         (__sim_disabled_exceptions, __sim_round_mode): Use
2463         libc_hidden_proto.
2464         * sysdeps/powerpc/soft-fp/sfp-machine.h (__sim_exceptions)
2465         (__sim_disabled_exceptions, __sim_round_mode): Likewise.
2466
2467 2004-01-16  Ulrich Drepper  <drepper@redhat.com>
2468
2469         * elf/elf.h: Define PT_IA_64_HP_OPT_ANOT, PT_IA_64_HP_HSL_ANOT, and
2470         PT_IA_64_HP_STACK.
2471
2472 2004-01-16  Richard Henderson  <rth@redhat.com>
2473
2474         * include/unistd.h (__libc_enable_secure): Mark attribute_relro.
2475         (__libc_enable_secure_internal): Likewise.
2476
2477         * elf/dl-load.c: Don't declare __libc_stack_end.
2478         * sysdeps/generic/libc-start.c: Likewise.
2479         * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise.
2480         * sysdeps/generic/segfault.c: Likewise.  Include ldsodefs.h.
2481         * sysdeps/generic/backtrace.c: Likewise.
2482
2483 2004-01-15  Ulrich Drepper  <drepper@redhat.com>
2484
2485         * Versions.def: Add GLIBC_2.3.4.
2486
2487 2004-01-15  Richard Henderson  <rth@redhat.com>
2488
2489         * sysdeps/unix/alpha/sysdep.h: Revert last change.
2490
2491 2004-01-15  Richard Henderson  <rth@redhat.com>
2492
2493         * sysdeps/alpha/dl-machine.h (RTLD_START): Use _dl_argv_internal.
2494
2495         * sysdeps/unix/alpha/sysdep.h [PIC] (SYSCALL_ERROR_HANDLER): Use
2496         !samegp relocation.
2497
2498 2004-01-15  Richard Henderson  <rth@redhat.com>
2499
2500         * sysdeps/unix/sysv/linux/alpha/Makefile [stdlib]: Process
2501         ucontext-offsets.sym.
2502         * sysdeps/unix/sysv/linux/alpha/getcontext.S: New file.
2503         * sysdeps/unix/sysv/linux/alpha/makecontext.S: New file.
2504         * sysdeps/unix/sysv/linux/alpha/setcontext.S: New file.
2505         * sysdeps/unix/sysv/linux/alpha/swapcontext.S: New file.
2506         * sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: New file.
2507
2508 2004-01-15  Richard Henderson  <rth@redhat.com>
2509
2510         * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Prefix stubs with
2511         __syscall_, move nop inside, adjust users by +4.
2512
2513 2004-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
2514
2515         * include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME]
2516         (_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed symbols.
2517         (_default_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed
2518         symbols.
2519         * sysdeps/powerpc/Makefile: Add rtld-global-offsets.sym to
2520         gen-as-const-headers.
2521         * sysdeps/powerpc/elf/rtld-global-offsets.sym: New file.
2522         * sysdeps/powerpc/sysdep.h: Define v# symbols for vector registers.
2523         Define PPC_FEATURE_* masks for Aux Vector AT_HWCAP.
2524         * sysdeps/unix/sysv/linux/kernel-features.h
2525         (__ASSUME_SWAPCONTEXT_SYSCALL): Define for PPC and 2.6.0 kernels.
2526         * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h [!__WORDSIZE == 32]:
2527         Declare mcontext_t inline and include altivec state for 64-bit.
2528         * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
2529         versions for setcontext, getcontext, and swapcontext.
2530
2531         * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
2532         versions for setcontext, getcontext, swapcontext, and makecontext.
2533         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
2534         (__getcontext):  Upgrade to save Altivec regs and version GLIBC_2_3_4.
2535         [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_getcontext):
2536         Compatible with GLIBC_2.3.3 release.
2537         * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
2538         (__makecontext): Use parm save area instead of compiler_dw to hold
2539         context pointer.
2540         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
2541         (__setcontext):  Upgrade to restore Altivec regs and version
2542         GLIBC_2_3_4.
2543         [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_setcontext):
2544         Compatible with GLIBC_2.3.3 release.
2545         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
2546         (__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
2547         [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_swapcontext):
2548         Compatible with GLIBC_2.3.3 release.
2549         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
2550         (SIGCONTEXT_V_REGS_PTR, SIGCONTEXT_V_RESERVE): Defined.
2551
2552 2004-01-12  Steven Munroe  <sjmunroe@us.ibm.com>
2553
2554         * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Add GLIBC_2.3.4
2555         versions for setcontext, getcontext, swapcontext, and makecontext.
2556         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
2557         (__getcontext):  Upgrade to save Altivec regs and version GLIBC_2_3_4.
2558         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_getcontext):
2559         Compatible with GLIBC_2.3.3 release.
2560         * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
2561         (__makecontext): Upgrade to align for Altivec regs and version
2562         GLIBC_2_3_4.
2563         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_makecontext):
2564         Compatible with GLIBC_2.3.3 release.
2565         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
2566         (__setcontext):  Upgrade to restore Altivec regs and version
2567         GLIBC_2_3_4.
2568         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_setcontext):
2569         Compatible with GLIBC_2.3.3 release.
2570         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
2571         (__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
2572         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)]
2573         (__novec_swapcontext): Compatible with GLIBC_2.3.3 release.
2574         * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h:
2575         (_UC_VSCR, _UC_VRSAVE): Define.
2576         (_FRAME_BACKCHAIN, _FRAME_LR_SAVE,_FRAME_PARM_SAVE1,_FRAME_PARM_SAVE2,
2577         _FRAME_PARM_SAVE3, _FRAME_PARM_SAVE4): Defined.
2578
2579 2004-01-15  Ulrich Drepper  <drepper@redhat.com>
2580
2581         * elf/rtld.c: Handle platforms with HP_TIMING_NONAVAIL defined.
2582
2583 2004-01-16  Alfred M. Szmidt  <ams@kemisten.nu>
2584
2585         * sysdeps/generic/dl-execstack.c (_dl_make_stack_executable): Adjust
2586         parameter type.
2587
2588 2004-01-15  Ulrich Drepper  <drepper@redhat.com>
2589
2590         * elf/elf.h: Fix typo in comment.
2591
2592         * sysdeps/generic/dl-sysdep.c: Initialize __libc_stack_end.
2593         * elf/rtld.c: Initialize _dl_argv to allow aliasing.
2594
2595         * resolv/resolv.h: Add RES_USEBSTRING.
2596         * resolv/res_debug.c (p_option): Add handling for RES_USE_INET6,
2597         RES_ROTATE, RES_NOCHECKNAME, and RES_USEBSTRING.
2598         * resolv/res_init.c (res_setioptions): Recognize ip6-bytestring.
2599         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Only perform
2600         bytestring IPv6 lookup with RES_USEBSTRING option is selected.
2601         Otherwise use the two nibble formats.
2602
2603 2004-01-14  Ulrich Drepper  <drepper@redhat.com>
2604
2605         * configure.in: Define HAVE_Z_RELRO if the linker supports -z relro.
2606         * config.h.in: Add entry for HAVE_Z_RELRO.
2607         * include/libc-symbols.h: Define attribute_relro.
2608         * elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr,
2609         max_capstrlen, and max_dirnamelen definitions.
2610         * elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args,
2611         load_time, start_time, library_path, preloadlist, version_info,
2612         any_debug.
2613         Remove rtld_total_time.  Make it a local variable.  Pass pointer to
2614         it to print_statistics.  Change print_statistics accordingly.
2615         * sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv.  Use
2616         attribute_relro instead of explicitly assigning variable to the
2617         .data.rel.ro section for __libc_enable_secure and __libc_stack_end.
2618         * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc,
2619         _dl_argv, _dl_argv_internal with attribute_relro.
2620
2621 2004-01-13  Segher Boessenkool  <boessen@de.ibm.com>
2622
2623         * Makerules (gen-as-const): Don't silently continue on failure.
2624
2625 2004-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
2626
2627         * sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
2628         rtld_hidden_data_def.
2629
2630 2004-01-14  Ulrich Drepper  <drepper@redhat.com>
2631
2632         * libio/libio.h: Add const to function tables types.
2633         * libio/libioP.h: Likewise.
2634         * login/utmp-private.h: Likewise.
2635         * libio/fileops.c: Add const to jump table variable definition.
2636         * libio/genops.c: Likewise.
2637         * libio/iofopncook.c: Likewise.
2638         * libio/iopopen.c: Likewise.
2639         * libio/memstream.c: Likewise.
2640         * libio/obprintf.c: Likewise.
2641         * libio/oldfileops.c: Likewise.
2642         * libio/oldiopopen.c: Likewise.
2643         * libio/strops.c: Likewise.
2644         * libio/vsnprintf.c: Likewise.
2645         * libio/vswprintf.c: Likewise.
2646         * libio/wfileops.c: Likewise.
2647         * libio/wstrops.c: Likewise.
2648         * login/getutent_r.c: Likewise.
2649         * login/getutid_r.c Likewise.
2650         * login/getutline_r.c: Likewise.
2651         * sysdeps/generic/utmp_file.c: Likewise.
2652
2653 2004-01-09  Bruno Haible  <bruno@clisp.org>
2654
2655         * intl/gmo.h (MO_REVISION_NUMBER_WITH_SYSDEP_I): New definition.
2656         * intl/loadmsgcat.c (get_sysdep_segment_value): Handle "I".
2657         (_nl_load_domain): Treat major revision 1 like major revision 0.
2658
2659 2004-01-11  Bruno Haible  <bruno@clisp.org>
2660
2661         * stdio-common/vfprintf.c (vfprintf): Disallow the 'I' flag after
2662         width or precision has been seen.
2663
2664 2004-01-08  Bruno Haible  <bruno@clisp.org>
2665
2666         * intl/loadmsgcat.c (_nl_load_domain): When a string pair uses a system
2667         dependent segment not known to this version of the library, ignore
2668         the string pair instead of crashing.
2669
2670 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
2671
2672         * configure.in: Rewrite test to give gcc to clean up after itself.
2673         Patch by Greg Schafer.
2674
2675         * posix/regex.c: Support crappy compilers and platforms which have
2676         problems with alloca.
2677         * posix/regex_internal.h: Likewise.
2678         Patch by Paolo Bonzini.
2679
2680 2004-01-12  Paolo Bonzini  <bonzini@gnu.org>
2681
2682         * posix/regcomp.c [_LIBC && !RE_ENABLE_I18N]:
2683         Drop code to support this, it is never true.
2684         (build_range_exp) [!_LIBC]: Do not create a range
2685         in MBCSET for a single-byte character set.
2686         (build_range_exp) [_LIBC]: Do not create a range
2687         in MBCSET for a single-byte character set without
2688         collation elements.
2689         (init_dfa): Do not conditionalize on _LIBC, it
2690         just makes the code less clear.
2691         (parse_bracket_exp): Use NON_MATCH variable in
2692         addition to "mbcset->non_match", not as an
2693         alternative.
2694         (build_charclass_op): rename NOT parameter to
2695         NON_MATCH, use it instead of declaring a variable.
2696         (parse_bracket_exp) [!_LIBC]: Pass NULL for MBCSET
2697         if the character set is single-byte.
2698
2699 2004-01-14  Jakub Jelinek  <jakub@redhat.com>
2700
2701         * posix/regcomp.c (peek_token_bracket): Check remaining
2702         string length before re_string_peek_byte (x, 1).
2703         (parse_bracket_symbol): Likewise.
2704         * posix/regex_internal.h (re_string_is_single_byte_char): Return
2705         true at last byte in the string.
2706         * posix/bug-regex22.c (main): Add new test.
2707
2708 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
2709
2710         * sysdeps/generic/dl-sysdep.c: Move __libc_enable_secure into
2711         .data.rel.ro.
2712
2713         * sysdeps/x86_64/dl-machine.h: Include <tls.h>.
2714
2715         * elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here.
2716         * sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
2717         rtld_hidden_def and move into .data.rel.ro section.
2718         * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with
2719         rtld_hidden_proto.
2720         * sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here
2721         if !SHARED.
2722
2723 2004-01-13  Richard Henderson  <rth@redhat.com>
2724
2725         * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Fix typo.
2726
2727 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
2728
2729         * sysdeps/unix/sysv/linux/dl-execstack.c
2730         (_dl_make_stack_executable): Move common code in front.  Use
2731         __builtin_expect.
2732
2733         * sysdeps/unix/sysv/linux/dl-execstack.c: Change interface.  Add
2734         challenge for caller.
2735         * sysdeps/generic/ldsodefs.h: Change declaration and type of hook
2736         member in rtld_global appropriately.
2737         * elf/dl-support.c: Likewise.
2738         * elf/dl-load.c (_dl_map_object_from_fd): Take additional paramter.
2739         Pass it on to the changed function.
2740         (_dl_map_object): Pass new parameter to _dl_map_object_from_fd.
2741
2742 2004-01-13  Richard Henderson  <rth@redhat.com>
2743
2744         * sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_xxx_8_int):
2745         Cast old up to uint64_t before back down to inner width.
2746         (__arch_compare_and_exchange_xxx_16_int): Likewise.
2747         (__arch_compare_and_exchange_xxx_32_int): Likewise.
2748         (__arch_compare_and_exchange_xxx_64_int): Likewise.
2749         (__arch_compare_and_exchange_val_8_int): Cast result to
2750         the type of the memory.
2751         (__arch_compare_and_exchange_val_16_int): Likewise.
2752         (__arch_compare_and_exchange_val_32_int): Likewise.
2753         (__arch_compare_and_exchange_val_64_int): Likewise.
2754         (atomic_compare_and_exchange_bool_acq): Use __atomic_bool_bysize.
2755         (atomic_compare_and_exchange_bool_rel): Likewise.
2756
2757         * sysdeps/unix/alpha/sysdep.h: Select inline_syscall_r0_asm
2758         based on HAVE___THREAD instead of USE_TLS.
2759
2760         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIMEX32): New.
2761         (__adjtimex_tv64): Use it.
2762
2763         * sysdeps/unix/sysv/linux/alpha/semctl.c (__new_semctl): Cast
2764         to void* rather than directly to the compatibility structure type.
2765         * sysdeps/unix/sysv/linux/alpha/shmctl.c (__new_shmctl): Likewise.
2766
2767         * sysdeps/unix/sysv/linux/alpha/sigaction.c (struct kernel_sigaction):
2768         Forward declare.
2769
2770 2004-01-13  Richard Henderson  <rth@redhat.com>
2771
2772         * Versions.def (libm): Add GLIBC_2.3.3.
2773         * sysdeps/alpha/fpu/Versions: Add __c1_c*f and c*f to GLIBC_2.3.3.
2774         * sysdeps/alpha/fpu/cabsf.c, sysdeps/alpha/fpu/cargf.c,
2775         sysdeps/alpha/fpu/cfloat-compat.h, sysdeps/alpha/fpu/cimagf.c,
2776         sysdeps/alpha/fpu/conjf.c, sysdeps/alpha/fpu/crealf.c,
2777         sysdeps/alpha/fpu/s_cacosf.c, sysdeps/alpha/fpu/s_cacoshf.c,
2778         sysdeps/alpha/fpu/s_casinf.c, sysdeps/alpha/fpu/s_casinhf.c,
2779         sysdeps/alpha/fpu/s_catanf.c, sysdeps/alpha/fpu/s_catanhf.c,
2780         sysdeps/alpha/fpu/s_ccosf.c, sysdeps/alpha/fpu/s_ccoshf.c,
2781         sysdeps/alpha/fpu/s_cexpf.c, sysdeps/alpha/fpu/s_clog10f.c,
2782         sysdeps/alpha/fpu/s_clogf.c, sysdeps/alpha/fpu/s_cpowf.c,
2783         sysdeps/alpha/fpu/s_cprojf.c, sysdeps/alpha/fpu/s_csinf.c,
2784         sysdeps/alpha/fpu/s_csinhf.c, sysdeps/alpha/fpu/s_csqrtf.c,
2785         sysdeps/alpha/fpu/s_ctanf.c, sysdeps/alpha/fpu/s_ctanhf.c: New files.
2786         * sysdeps/alpha/fpu/bits/mathdef.h: Rename complex float
2787         functions for gcc 3.3.
2788
2789         * sysdeps/generic/s_cacosf.c, sysdeps/generic/s_cacoshf.c,
2790         sysdeps/generic/s_casinf.c, sysdeps/generic/s_casinhf.c,
2791         sysdeps/generic/s_catanf.c, sysdeps/generic/s_catanhf.c,
2792         sysdeps/generic/s_ccosf.c, sysdeps/generic/s_ccoshf.c,
2793         sysdeps/generic/s_cexpf.c, sysdeps/generic/s_clog10f.c,
2794         sysdeps/generic/s_clogf.c, sysdeps/generic/s_cpowf.c,
2795         sysdeps/generic/s_cprojf.c, sysdeps/generic/s_csinf.c,
2796         sysdeps/generic/s_csinhf.c, sysdeps/generic/s_csqrtf.c,
2797         sysdeps/generic/s_ctanf.c, sysdeps/generic/s_ctanhf.c: Don't
2798         weak_alias if the function name has been #defined.
2799
2800         * math/cabsf.c: Move ...
2801         * sysdeps/generic/cabsf.c: ... here.
2802         * math/cargf.c: Move ...
2803         * sysdeps/generic/cargf.c: ... here.
2804         * math/cimagf.c: Move ...
2805         * sysdeps/generic/cimagf.c: ... here.
2806         * math/conjf.c: Move ...
2807         * sysdeps/generic/conjf.c: ... here.
2808         * math/crealf.c: Move ...
2809         * sysdeps/generic/crealf.c: ... here.
2810
2811 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
2812
2813         * Makeconfig: Define relro-LDFLAGS if have-z-relro==yes.  Add it to
2814         LDFLAGS.so and LDFLAGS-rtld.
2815         (+link): Add relro-LDFLAGS.
2816         * Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and
2817         __libc_thread_subfreeres sections after .jcr section.
2818         * config.make.in: Add have-z-relro.
2819         * configure.in: Add check for -z relro option.
2820         * include/link.h (struct link_map): Add relro_addr and relro_size
2821         members.
2822         * elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO.
2823         * elf/dl-reloc.c (_dl_relocate_object): At the end, make relro
2824         part of loaded segments read-only.
2825         * elf/elf.h: Define PT_GNU_RELRO.
2826         * elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so.
2827         (dl_main): Recognize PT_GNU_RELRO of the application.  Call
2828         _dl_debug_initialize and initialize l_info[DT_DEBUG] before
2829         relocations.
2830
2831 2004-01-12  Jakub Jelinek  <jakub@redhat.com>
2832
2833         * sysdeps/x86_64/strcspn.S: Fix typo in last patch.
2834
2835 2004-01-11  Andreas Jaeger  <aj@suse.de>
2836
2837         * sysdeps/x86_64/__longjmp.S: Add cfi directives.
2838
2839 2004-01-10  Andreas Jaeger  <aj@suse.de>
2840
2841         * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Add cfi directives.
2842         * sysdeps/unix/x86_64/sysdep.S (__syscall_error): Likewise.
2843         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
2844         * sysdeps/x86_64/strcspn.S: Likewise.
2845         * sysdeps/x86_64/strspn.S: Likewise.
2846
2847 2004-01-08  Jakub Jelinek  <jakub@redhat.com>
2848
2849         * sysdeps/unix/sysv/linux/x86_64/clone.S (__clone): Add cfi_endproc
2850         right before syscall and cfi_startproc before PSEUDO_END.
2851         Clear %rbp in thread_start.
2852
2853 2004-01-05  Jakub Jelinek  <jakub@redhat.com>
2854
2855         * posix/regcomp.c (regcomp): Fix comment typo.
2856         (regfree): Free preg->translate, clear buffer, allocated, fastmap
2857         and translate fields.
2858
2859         * posix/regcomp.c (build_charclass, buld_charclass_op): Change first
2860         argument to unsigned RE_TRANSLATE_TYPE.
2861         * posix/regex_internal.h (re_string_t): Change trans type to
2862         unsigned RE_TRANSLATE_TYPE.
2863         * posix/regex_internal.c (re_string_construct_common): Cast
2864         trans to unsigned RE_TRANSLATE_TYPE.
2865         (re_string_peek_byte_case, re_string_fetch_byte_case): Avoid fast
2866         path if pstr->trans.  Never translate the character through
2867         pstr->trans.
2868         * posix/Makefile (tests): Add bug-regex22.
2869         (bug-regex22-ENV): Set.
2870         * posix/bug-regex22.c: New test.
2871
2872 2004-01-02  Paolo Bonzini  <bonzini@gnu.org>
2873
2874         * posix/regex_internal.c (re_node_set_add_intersect,
2875         re_node_set_merge): Rewritten.
2876         (re_node_set_insert, re_node_set_remove_at):
2877         Avoid memmove, we know what direction we should copy and that we
2878         are copying 32-bit words.
2879         (re_node_set_compare): Iterate backwards.
2880
2881 2003-12-30  Paul Eggert  <eggert@twinsun.com>
2882
2883         * time/mktime.c (verify): New macro.
2884         (time_t_is_integer, twos_complement_arithmetic,
2885         right_shift_propagates_sign, base_year_is_a_multiple_of_100,
2886         C99_integer_division): Document these longstanding assumptions in the
2887         code, and verify them at compile-time.
2888
2889 2004-01-02  Jakub Jelinek  <jakub@redhat.com>
2890
2891         * posix/regex_internal.h (re_match_context_t): Add dfa member.
2892         * posix/regexec.c (match_ctx_free_subtops, search_cur_bkref_entry,
2893         match_ctx_add_sublast, sift_ctx_init, acquire_init_state_context,
2894         prune_impossible_nodes, check_halt_state_context, proceed_next_node,
2895         sift_states_backward, update_cur_sifted_state, check_dst_limits,
2896         check_dst_limits_calc_pos, sift_states_bkref, transit_state,
2897         check_subexp_matching_top, transit_state_sb, transit_state_mb,
2898         transit_state_bkref, get_subexp, get_subexp_sub, check_arrival,
2899         check_arrival_add_next_nodes, expand_bkref_cache, check_node_accept):
2900         Remove dfa parameter.  Get dfa from mctx.  Adjust callers.
2901         (re_search_internal): Initialize mctx.dfa.
2902
2903         * posix/regex_internal.c (re_node_set_insert): Remove unused variables.
2904
2905         * posix/regex_internal.h (re_dfa_t): Add syntax field.
2906         * posix/regcomp.c (parse): Initialize dfa->syntax.
2907         * posix/regexec.c (acquire_init_state_context,
2908         prune_impossible_nodes, check_matching, check_halt_state_context,
2909         proceed_next_node, sift_states_iter_mb, sift_states_backward,
2910         update_cur_sifted_state, sift_states_bkref, transit_state,
2911         transit_state_sb, transit_state_mb, transit_state_bkref,
2912         get_subexp, get_subexp_sub, check_arrival, expand_bkref_cache,
2913         build_trtable): Remove preg argument, add dfa argument instead
2914         and remove dfa = preg->buffer initialization in the body.
2915         Adjust all callers.
2916         (check_node_accept_bytes, group_nodes_into_DFAstates,
2917         check_node_accept): Likewise.  Use dfa->syntax instead of
2918         preg->syntax.
2919         (check_arrival_add_next_nodes): Remove preg argument.
2920
2921         * posix/regex_internal.h (re_match_context_t): Make input
2922         re_string_t instead of a pointer to it.
2923         * posix/regex_internal.c (re_string_construct_common): Don't clear
2924         pstr here...
2925         (re_string_construct): ... but only here.
2926         * posix/regexec.c (match_ctx_init): Remove input argument.  Don't
2927         initialize fields to zero.
2928         (re_search_internal): Move input into mctx.input.
2929         (acquire_init_state_context, check_matching,
2930         check_halt_state_context, proceed_next_node,
2931         clean_state_log_if_needed, sift_states_bkref, sift_states_iter_mb,
2932         transit_state, transit_state_sb, transit_state_mb,
2933         transit_state_bkref, get_subexp, check_arrival,
2934         check_arrival_add_next_nodes, check_node_accept, extend_buffers):
2935         Change mctx->input into &mctx->input and mctx->input->field into
2936         mctx->input.field.
2937
2938 2004-01-02  Jakub Jelinek  <jakub@redhat.com>
2939             Paolo Bonzini  <bonzini@gnu.org>
2940
2941         * posix/regex_internal.h (re_const_bitset_ptr_t): New type.
2942         (re_string_t): Add newline_anchor, word_char and word_ops_used fields.
2943         (re_dfa_t): Change word_char type to bitset.  Add word_ops_used field.
2944         (re_string_context_at, re_string_reconstruct): Remove last argument.
2945         * posix/regex_internal.c (re_string_allocate): Initialize
2946         pstr->word_char and pstr->word_ops_used.
2947         (re_string_context_at): Remove newline_anchor argument.
2948         Use input->newline_anchor instead, swap && conditions.
2949         Only use IS_WIDE_WORD_CHAR if input->word_ops_used != 0.
2950         Use input->word_char bitmap instead of IS_WORD_CHAR.
2951         (re_string_reconstruct): Likewise.
2952         Adjust re_string_context_at caller.
2953         * posix/regexec.c (acquire_init_state_context,
2954         check_halt_state_context, transit_state, transit_state_sb,
2955         transit_state_mb, transit_state_bkref, check_arrival,
2956         check_node_accept): Adjust re_string_context_at and
2957         re_string_reconstruct callers.
2958         (re_search_internal): Likewise.  Set input.newline_anchor.
2959         (build_trtable): Use dfa->word_char bitmap instead of IS_WORD_CHAR.
2960         * posix/regcomp.c (init_word_char): Change return type to void.
2961         Set dfa->word_ops_used.
2962         (free_dfa_content): Don't free dfa->word_char.
2963         (parse_expression): Remove error handling for init_word_char.
2964
2965 2004-01-01  Paolo Bonzini  <bonzini@gnu.org>
2966
2967         * posix/regex_internal.h (re_dfastate_t): Fix size of the CONTEXT
2968         bitfield.
2969
2970         * posix/regex_internal.c (re_node_set_insert):  Rewrite.
2971
2972 2004-01-01  Ulrich Drepper  <drepper@redhat.com>
2973
2974         * posix/getconf.c: Update copyright year.
2975         * nss/getent.c: Likewise.
2976         * nscd/nscd_nischeck.c: Likewise.
2977         * iconv/iconvconfig.c: Likewise.
2978         * iconv/iconv_prog.c: Likewise.
2979         * elf/ldconfig.c: Likewise.
2980         * catgets/gencat.c: Likewise.
2981         * csu/version.c: Likewise.
2982         * elf/ldd.bash.in: Likewise.
2983         * elf/sprof.c (print_version): Likewise.
2984         * locale/programs/locale.c: Likewise.
2985         * locale/programs/localedef.c: Likewise.
2986         * nscd/nscd.c (print_version): Likewise.
2987         * debug/xtrace.sh: Likewise.
2988         * malloc/memusage.sh: Likewise.
2989         * malloc/mtrace.pl: Likewise.
2990
2991 2004-01-01  Petter Reinholdtsen  <pere@hungry.com>
2992
2993         * stdlib/strfmon.c: Make formatting of left-justified currency
2994         values match the the POSIX standard.  When using format string
2995         "[%-14#5.4n]" to print -123.45, the result should be
2996         "[-$   123.4500 ]", not "[-$123.4500    ]".
2997
2998 2004-01-01  Andreas Jaeger  <aj@suse.de>
2999
3000         * resolv/Makefile (generated): New.
3001
3002 2003-12-31  Joseph S. Myers  <jsm@polyomino.org.uk>
3003
3004         * CONFORMANCE: Update.
3005
3006 2003-12-30  Paul Eggert  <eggert@twinsun.com>
3007
3008         * time/mktime.c: (my_mktime_localtime_r):
3009         Remove.  All uses changed to __localtime_r.
3010         (__localtime_r) [!defined _LIBC]: New macro.  Include "time_r.h" to
3011         get its implementation.
3012         Fix compile-command to allow for TIME_R_POSIX.
3013
3014         * time/strftime.c (my_strftime_gmtime_r, my_strftime_localtime_r):
3015         Remove.  All uses changed to __localtime_r and __gmtime_r.
3016         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
3017         Include "time_r.h" to get their implementations.
3018
3019         * time/timegm.c: Allow use in GNU applications outside glibc.
3020         [defined HAVE_CONFIG_H]: Include <config.h>.
3021         [!defined _LIBC]: Include "timegm.h", <time_r.h>.
3022         Define __gmtime_r, and declare __mktime_internal.
3023         (timegm): Define via a prototype, since we can safely assume C89 now.
3024
3025         * time/mktime.c (check_result): Use less-confusing report format.
3026         "long" -> "long int", as per usual GNU style.
3027         (main): Likewise.
3028         Don't loop if the iteration overflows time_t.
3029         Allow a negative step in the iteration.
3030
3031         * time/mktime.c: Assume freestanding C89 or better.
3032         (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove;
3033         assume they're 1.
3034         (__P): Remove; not used.
3035         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
3036         (mktime, not_equal_tm, print_tm, check_result, main): Use prototypes.
3037         Prototypes use const * where appropriate.
3038         (main) [DEBUG]: Fix typo in testing code uncovered by above changes,
3039         which caused the testing code to dump core on some hosts.
3040
3041 2003-12-31  Ulrich Drepper  <drepper@redhat.com>
3042
3043         * locale/setlocale.c (setlocale): Avoid duplicating locale names
3044         if we can reuse old strings.
3045
3046         * inet/rcmd.c: Provide better error message in case of unknown
3047         host.  Remove USE_IN_LIBIO.
3048
3049         * nscd/nscd.init: Updated version, more conforming with current
3050         init file standards.
3051
3052         * nscd/nscd-client.h (_PATH_NSCDPID): Move the file into
3053         /var/run/nscd directory.
3054         (_PATH_NSCDSOCKET): Likewise.
3055
3056         * test-skeleton.c (timeout_handler): Fix error message.
3057
3058         * elf/dl-dst.h (DL_DST_REQUIRED): Avoid the complex operations if
3059         CNT == 0.
3060
3061 2003-12-30  Jakub Jelinek  <jakub@redhat.com>
3062
3063         * posix/regexec.c (get_subexp): Only set bkref_str after the first
3064         loop, use buf + bkref_str_off in the loop instead.
3065         * posix/bug-regex11.c (tests): Add 3 new tests.
3066
3067         * posix/regexec.c (clean_state_log_if_need): Rename to...
3068         (clean_state_log_if_needed): ...this.
3069         (transit_state_mb, get_subexp_sub): Adjust callers.
3070
3071         * sunrpc/pmap_clnt.c (pmap_set): Do CLNT_DESTROY even if CLNT_CALL
3072         failed.  Reported by Steve Grubb.
3073
3074 2003-12-29  Ulrich Drepper  <drepper@redhat.com>
3075
3076         * elf/elf.h: Add a few definitions from Solaris 9.
3077
3078 2003-12-29  Andreas Schwab  <schwab@suse.de>
3079
3080         * stdio-common/Makefile (CFLAGS-errlist.c, CFLAGS-siglist.c): Add
3081         $(fno_unit_at_a_time) to avoid reordering assembler output.
3082
3083 2003-12-29  Jakub Jelinek  <jakub@redhat.com>
3084
3085         * posix/regexec.c (re_copy_regs): Revert comment change.
3086         Avoid memory leak if realloc fails.
3087         (proceed_next_node): Return -2 if re_node_set_insert fails.
3088         Return -2 if push_fail_stack fails.
3089         (push_fail_stack): Change fs->alloc only after successful realloc.
3090         (pop_fail_stack): Formatting.
3091         (set_regs): If proceed_next_node returns -2, free eps_via_nodes and fs.
3092         (check_arrival_add_next_nodes): Merge identical statements
3093         from if branches.
3094
3095         * signal/Makefile (tests): Add tst-raise.
3096         * signal/tst-raise.c: New test.
3097
3098 2003-12-28  Ulrich Drepper  <drepper@redhat.com>
3099
3100         * posix/regcomp.c (mark_opt_subexp_iter): Declare IDX as int.
3101
3102         * posix/regexec.c (re_copy_regs): Fix testing for failed allocation.
3103         (push_fail_stack): Add missing check for failed memory allocation.
3104
3105         * libio/libio.h: Use __builtin_expect in _IO_getc_unlocked,
3106         _IO_peekc_unlocked, _IO_putc_unlocked, _IO_getwc_unlocked, and
3107         _IO_putwc_unlocked.
3108
3109 2003-12-28  Andreas Jaeger  <aj@suse.de>
3110
3111         * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise only
3112         overflow for 0 as argument. Raise Invalid exception for negative args.
3113         * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Likewise.
3114         * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y0): Likewise.
3115         * sysdeps/ieee754/ldb-128/e_jnl.c (__ieee754_ynl): Likewise.
3116         * sysdeps/ieee754/ldb-128/e_j0l.c (__ieee754_y0l): Likewise.
3117         * sysdeps/ieee754/ldb-128/e_j1l.c (__ieee754_y1l): Likewise.
3118         * sysdeps/ieee754/ldb-96/e_jnl.c (__ieee754_ynl): Likewise.
3119         * sysdeps/ieee754/ldb-96/e_j0l.c (__ieee754_y0l): Likewise.
3120         * sysdeps/ieee754/ldb-96/e_j1l.c (__ieee754_y1l): Likewise.
3121         * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
3122         * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise.
3123         * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise.
3124
3125         * math/libm-test.inc (yn_test): Expect invalid exception for
3126         negative arguments.
3127         (y0_test): Likewise.
3128         (y1_test): Likewise.
3129
3130         * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Do not raise
3131         execptions for exp(NaN).
3132
3133 2003-12-23  Paolo Bonzini  <bonzini@gnu.org>
3134
3135         * posix/regex_internal.c (re_dfa_add_node): Initialize opt_subexp.
3136         * posix/regex_internal.h (re_token_type_t): Put OP_DUP_PLUS
3137         among the tokens, rather than among the epsilon-transiting nodes.
3138         (re_token_t): Add the opt_subexp flag.
3139         * posix/regcomp.c (optimize_utf8, calc_first,
3140         calc_next, calc_epsdest): Don't consider OP_DUP_PLUS.
3141         (mark_opt_subexp, mark_opt_subexp_iter): New functions.
3142         (parse_dup_op): Mostly rewritten, lowering OP_DUP_PLUS to
3143         OP_DUP_ASTERISK and marking optional subexpressions
3144         as such using mark_opt_subexp.
3145         * posix/regexec.c (set_regs): Initialize PREV_INDEX_MATCH
3146         and pass it to update_regs.
3147         (update_regs): Use the PREV_INDEX_MATCH parameter, together
3148         with the opt_subexp flag, in order to discard a final empty
3149         match of a repeated subexpression.
3150         * posix/BOOST.tests: Adjust test vectors.
3151         * posix/PCRE.tests: Likewise.
3152         * posix/rxspencer/tests: Likewise.
3153
3154 2000-05-22  Jakub Jelinek  <jakub@redhat.com>
3155
3156         * sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Avoid using ?:
3157         with omitted middle operand.
3158
3159 2003-12-22  Jakub Jelinek  <jakub@redhat.com>
3160
3161         * posix/regcomp.c: Remove C99-ism.
3162         * posix/tst-rxspencer.c: Likewise.
3163         Based on a patch by Alex Davis <alex14641@yahoo.com>.
3164
3165 2003-12-17  Paolo Bonzini  <bonzini@gnu.org>
3166
3167         * posix/regex_internal.h [!_LIBC] (internal_function): Define.
3168         (re_string_allocate, re_string_construct, re_string_reconstruct,
3169         re_string_realloc_buffers, build_wcs_buffer,
3170         build_wcs_upper_buffer, build_upper_buffer,
3171         re_string_translate_buffer, re_string_destruct,
3172         re_string_elem_size_at, re_string_char_size_at,
3173         re_string_wchar_at, re_string_context_at,
3174         re_node_set_alloc, re_node_set_init_1
3175         re_node_set_init_2, re_node_set_init_copy,
3176         re_node_set_add_intersect, re_node_set_init_union,
3177         re_node_set_merge, re_node_set_insert
3178         re_node_set_compare, re_node_set_contains
3179         re_node_set_remove_at, re_dfa_add_node,
3180         re_acquire_state, re_acquire_state_context,
3181         free_state): Add internal_function to declaration.
3182
3183         * posix/regexec.c (match_ctx_init, match_ctx_clean,
3184         match_ctx_free, match_ctx_free_subtops,
3185         match_ctx_add_entry, search_cur_bkref_entry,
3186         match_ctx_clear_flag, match_ctx_add_subtop,
3187         match_ctx_add_sublast, sift_ctx_init,
3188         re_search_internal, re_search_2_stub, re_search_stub,
3189         re_copy_regs, acquire_init_state_context,
3190         prune_impossible_nodes, check_matching,
3191         check_halt_node_context, check_halt_state_context
3192         update_regs, proceed_next_node, push_fail_stack,
3193         pop_fail_stack, set_regs, free_fail_stack_return,
3194         sift_states_iter_mb, sift_states_backward
3195         update_cur_sifted_state, add_epsilon_src_nodes,
3196         sub_epsilon_src_nodes, check_dst_limits,
3197         check_dst_limits_calc_pos, check_subexp_limits,
3198         sift_states_bkref, clean_state_log_if_need,
3199         merge_state_array, transit_state,
3200         check_subexp_matching_top, transit_state_sb,
3201         transit_state_mb, transit_state_bkref,
3202         get_subexp, get_subexp_sub, find_subexp_node,
3203         check_arrival, check_arrival_add_next_nodes,
3204         find_collation_sequence_value, check_arrival_expand_ecl,
3205         check_arrival_expand_ecl_sub, expand_bkref_cache,
3206         build_trtable, check_node_accept_bytes, extend_buffers,
3207         group_nodes_into_DFAstates, check_node_accept): Likewise.
3208
3209         * posix/regex_internal.c (re_string_construct_common,
3210         re_string_skip_chars, create_newstate_common,
3211         register_state, create_ci_newstate, create_cd_newstate,
3212         calc_state_hash): Likewise.
3213         (re_string_peek_byte_case, re_fetch_byte_case): Change
3214         declaration from ANSI to K&R.
3215
3216 2003-12-16  Paolo Bonzini  <bonzini@gnu.org>
3217
3218         * posix/regexec.c (build_trtable): Don't allocate the trtable
3219         until state->word_trtable is known.  Don't hardcode UINT_BITS
3220         iterations on each bitset item.
3221
3222 2003-12-22  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
3223
3224         * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init):
3225         Initialize REF before passing it to _dl_lookup_symbol.
3226
3227 2003-12-21  Roland McGrath  <roland@frob.com>
3228
3229         * sysdeps/mach/hurd/dl-sysdep.c (_exit): Define with attribute_hidden.
3230
3231 2003-12-21  Jakub Jelinek  <jakub@redhat.com>
3232
3233         * posix/regcomp.c (duplicate_node, duplicate_node_closure): Revert
3234         2003-11-24 changes.
3235         * posix/regexec.c (group_nodes_into_DFAstates): For CHARACTER with
3236         NEXT_{,NOT}WORD_CONSTRAINT check word_char bit.
3237         * posix/bug-regex19.c (tests): Add new tests.
3238
3239         * posix/regexec.c (check_dst_limits_calc_pos): Fix formatting.
3240
3241         * posix/regcomp.c (parse_dup_op): Return NULL if dup_elem is NULL,
3242         after checking syntax.  Optimize.
3243         (calc_first): Fix comment.
3244         * posix/bug-regex13.c (tests): Add new tests.
3245
3246 2003-12-21  Roland McGrath  <roland@redhat.com>
3247
3248         * manual/arith.texi (Parsing of Integers): Typo fix.
3249
3250 2003-12-20  Roland McGrath  <roland@frob.com>
3251
3252         * sysdeps/generic/ifreq.c (__ifreq) [_HAVE_SA_LEN]: Fix typo:
3253         add missing dereference of IFREQS before counting loop.
3254
3255 2003-12-21  Andreas Schwab  <schwab@suse.de>
3256
3257         * sysdeps/m68k/m68020/bits/atomic.h: Avoid matching memory
3258         constraints.
3259
3260 2003-12-20  Ulrich Drepper  <drepper@redhat.com>
3261
3262         * elf/rtld.c (dl_main): Optimize order of subexpressions in if().
3263
3264 2003-12-18  Ulrich Drepper  <drepper@redhat.com>
3265
3266         * stdio-common/printf_fp.c: Add support to use alternative decimal
3267         digits.
3268         * stdio-common/vfprintf.c (vfprintf): Pass use_outdigits flags to
3269         __printf_fp.  Patch by Hamed Malek <hamed@bamdad.org>.
3270
3271 2003-12-18  Carlos O'Donell  <carlos@baldric.uwo.ca>
3272
3273         * sysdeps/unix/sysv/linux/hppa/clone.S (__clone) [PIC]: Save PIC,
3274         reload PIC if we need to call __syscall_error, cleanup asm.
3275
3276 2003-12-17  Carlos O'Donell  <carlos@baldric.uwo.ca>
3277
3278         * sysdeps/hppa/fpu/fclrexcpt.c (feclearexcept): Right shift
3279         FE_ALL_EXCEPT before complimenting.
3280         * sysdeps/hppa/fpu/fegetenv.c (fegetenv): Use asm 'ma,' completer,
3281         and gcc '+r' constraint.
3282         * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise.
3283         * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Likewise.
3284         * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Read raised
3285         exception bits, OR with envp, pass to fesetenv.
3286         * sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Add delayed
3287         exception flushing, FE_UNDERFLOW is DBL_MIN/3.0, FE_INEXACT is
3288         triggered by M_PI/69.69 converted to single precision.
3289         * sysdeps/hppa/fpu/fsetexcptflg.c (fesetexceptflag): Set enable
3290         bits not raised exception bits.
3291
3292         * sysdeps/hppa/Makefile: Add dl-symaddr and dl-fptr to the
3293         correct build strings.
3294         * sysdeps/hppa/dl-fptr.h: New file.
3295         * sysdeps/hppa/dl-fptr.c: Removed.
3296         * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Use _dl_make_ftpr,
3297         remove const qualifier for map.
3298         (_dl_function_address): Removed.
3299         * sysdeps/hppa/dl-lookupcfg.h: DL_LOOKUP_ADDRESS must clear
3300         PLABEL32 bits, define DL_AUTO_FUNCTION_ADDRESS and
3301         DL_STATIC_FUNCTION_ADDRESS, DL_DT_INIT_ADDRESS and
3302         DL_DT_FINI_ADDRESS use the previous two macros.
3303
3304 2003-12-17  Jakub Jelinek  <jakub@redhat.com>
3305
3306         * malloc/mtrace.c (tr_old_memalign_hook): New variable.
3307         (tr_memalignhook): New function.
3308         (mtrace): Register tr_memalignhook.
3309         (muntrace): Deregister tr_memalignhook.
3310         * malloc/malloc.c (__posix_memalign): If __memalign_hook != NULL,
3311         call it directly instead of memalign_internal.
3312
3313 2003-12-17  Ulrich Drepper  <drepper@redhat.com>
3314
3315         * misc/mntent_r.c: Change encoding to match recently changed decoder.
3316         Patch by Alexander Achenbach <xela@slit.de>.
3317
3318 2003-12-16  Steven Munroe  <sjmunroe@us.ibm.com>
3319
3320         * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct definition of
3321         vrregset_t.
3322
3323 2003-12-16  Steven Munroe  <sjmunroe@us.ibm.com>
3324
3325         * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [!__PPC64_ELF_H]: Extend
3326         conditional to include typedef elf_vrreg_t.
3327
3328 2003-12-17  Paolo Bonzini  <bonzini@gnu.org>
3329
3330         * posix/regexec.c (re_search_internal): Limit search to the
3331         beginning of the buffer if the initial states are empty for
3332         contexts that do not include CONTEXT_BEGBUF or, if
3333         !preg->newline_anchor, that do not include any one of
3334         CONTEXT_BEGBUF and CONTEXT_NEWLINE.
3335
3336 2003-12-17  Andreas Jaeger  <aj@suse.de>
3337
3338         * sysdeps/generic/system.c (__libc_system): Fix typo, reported by
3339         Kevin Pedretti <pedretti@ieee.org>.
3340
3341 2003-12-17  Ulrich Drepper  <drepper@redhat.com>
3342
3343         * elf/rtld.c: Don't use strong_alias to define _rtld_local.  This
3344         removes the visibility attributes which might be defined earlier
3345         for some gcc versions.  Instead spell out what strong_alias does
3346         plus the visibility.
3347
3348 2003-12-16  Petter Reinholdtsen  <pere@hungry.com>
3349
3350         * posix/regex_internal.h: Make sure the regex code compile
3351         with non-GCC compilers by hiding attributes.
3352
3353 2003-12-16  Jakub Jelinek  <jakub@redhat.com>
3354             Paolo Bonzini  <bonzini@gnu.org>
3355
3356         * posix/regexec.c (group_nodes_into_DFAstates): Never produce
3357         dests_ch items that are empty.
3358
3359 2003-12-14  Paolo Bonzini  <bonzini@gnu.org>
3360
3361         * posix/regexec.c (check_arrival): Remove duplicate test.
3362
3363 2003-12-15  Ulrich Drepper  <drepper@redhat.com>
3364
3365         * posix/regcomp.c: Make !RE_ENABLE_I18N work again.
3366         * posix/regex_internal.c: Likewise.
3367         * posix/regexec.c: Likewise.
3368         Patch by Paolo Bonzini.
3369
3370 2003-12-14  Paolo Bonzini  <bonzini@gnu.org>
3371
3372         * posix/regex_internal.c (re_acquire_state_context):
3373         Compare the node sets after all the other comparisons.
3374
3375 2003-12-13  Paolo Bonzini  <bonzini@gnu.org>
3376
3377         * posix/regexec.c (find_subexp_node, check_arrival,
3378         check_arrival_add_next_nodes, check_arrival_expand_ecl,
3379         check_arrival_expand_ecl_sub, expand_bkref_cache):
3380         Rename the FL_OPEN parameter to TYPE, which is either
3381         OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP.  Callers adjusted.
3382
3383 2003-12-12  Andreas Jaeger  <aj@suse.de>
3384
3385         * sysdeps/unix/sysv/linux/x86_64/syscall.S: Pass also 6th argument
3386         to syscall.
3387
3388 2003-12-11  Ulrich Drepper  <drepper@redhat.com>
3389
3390         * sysdeps/unix/sysv/linux/kernel-features.h: Remove __ASSUME_VSYSCALL.
3391         There might always be processes which have no vDSO.
3392         * sysdeps/generic/dl-sysdep.c: Remove __ASSUME_VSYSCALL uses.
3393         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
3394
3395 2003-12-11  Carlos O'Donell  <carlos@baldric.uwo.ca>
3396
3397         * sysdeps/generic/dl-fptr.c (COMPARE_AND_SWAP): Pass new and old
3398         in the right order.
3399
3400 2003-12-01  Jes Sorensen  <jes@wildopensource.com>
3401
3402         * rt/tst-clock.c (do_test): Print message when skipping
3403         CLOCK_PROCESS_CPUTIME_ID test.
3404
3405         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: New file.
3406         Provide CLOCK_PROCESS_CPUTIME_ID only if /proc/sal/itc_drift is 0.
3407
3408 2003-12-02  David Mosberger  <davidm@hpl.hp.com>
3409
3410         * sysdeps/ia64/elf/initfini.c: Add unwind info.
3411
3412         * sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with
3413         attribute "unused".
3414         (elf_machine_dynamic): Mark with attributes "unused" and "const".
3415         (elf_machine_runtime_setup): Likewise.
3416
3417         * sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with
3418         attribute "always_inline".
3419         * sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table):
3420         Likewise.
3421
3422         * configure.in: Check whether compiler has libunwind support.
3423         * config.make.in (have-cc-with-libunwind): New variable.
3424         * config.h.in (HAVE_CC_WITH_LIBUNWIND): New macro.
3425         * Makeconfig (gnulib): If have-cc-with-libunwind is "yes", also
3426         mention -lunwind.
3427
3428 2003-11-12  David Mosberger  <davidm@hpl.hp.com>
3429
3430         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK.
3431         Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK.
3432         Likewise for DO_INLINE_SYSCALL.  Make INTERNAL_SYSCALL use
3433         DO_INLINE_SYSCALL.
3434
3435         * sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK()
3436         instead of DO_CALL().
3437
3438         * sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead
3439         of DO_CALL().
3440
3441         * sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it
3442         to take advantage of DO_CALL() macro.
3443         * sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise.
3444         * sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise.
3445
3446         * elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first
3447         program header.  On ia64, the check failed previously because
3448         there are two program headers.
3449
3450 2003-12-10  Andreas Jaeger  <aj@suse.de>
3451             Ruediger Oertel  <ro@suse.de>
3452
3453         * sysdeps/alpha/fpu/e_sqrt.c: Mark sqrt_data as used.
3454
3455 2003-12-07  Ulrich Drepper  <drepper@redhat.com>
3456
3457         * sysdeps/i386/fpu/s_nexttowardf.c: Construct overflow value correctly.
3458         * sysdeps/i386/fpu/s_nexttoward.c: Likewise.
3459         * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise.
3460         * sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise.
3461         * sysdeps/generic/s_nexttowardf.c: Likewise.
3462         * math/Makefile (tests): Add bug-nexttoward.
3463         * math/bug-nexttoward.c: New file.
3464
3465         * sysdeps/generic/s_nextafter.c: Make sure overflow exception is set.
3466         * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
3467         * math/bug-nextafter.c (main): Add tests for overflow and negative
3468         values.
3469
3470 2003-12-06  Ulrich Drepper  <drepper@redhat.com>
3471
3472         * math/Makefile (tests): Add bug-nextafter.
3473         * math/bug-nextafter.c: New file.
3474         * sysdeps/generic/s_nextafter.c: Construct overflow value correctly.
3475         * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
3476         * math/libm-test.inc (nextafter_test): Add test for overflow after
3477         +/-FLT_MAX etc.
3478
3479 2003-12-04  Steven Munroe  <sjmunroe@us.ibm.com>
3480
3481         * sysdeps/powerpc/fpu/fgetexcptflg.c (__fegetexceptflag): Add masking
3482         of fenv.
3483         * sysdeps/powerpc/nofpu/fgetexcptflg.c (__fegetexceptflag): Likewise.
3484
3485 2003-12-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3486
3487         * sysdeps/s390/s390-32/elf/setjmp.S (setjmp, __setjmp): Add END
3488         statements.
3489         * sysdeps/s390/s390-64/elf/setjmp.S (setjmp, __setjmp): Likewise.
3490         * sysdeps/s390/s390-32/sysdep.h (ENTRY): Add cfi_startproc directive.
3491         (END): Add cfi_endproc directive.
3492         * sysdeps/s390/s390-64/sysdep.h (ENTRY, END): Likewise.
3493         * sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Remove
3494         cfi_startproc and cfi_endproc directive.
3495         * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise.
3496         * sysdeps/s390/s390-32/addmul_1.S (__mpn_addmul_1): Add CFI directives.
3497         * sysdeps/s390/s390-32/add_n.S (__mpn_add_n): Likewise.
3498         * sysdeps/s390/s390-64/add_n.S (__mpn_add_n): Likewise.
3499         * sysdeps/s390/s390-32/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
3500         Likewise.
3501         * sysdeps/s390/s390-64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
3502         Likewise.
3503         * sysdeps/s390/s390-32/mul_1.S (__mpn_mul_1): Likewise.
3504         * sysdeps/s390/s390-32/sub_n.S (__mpn_sub_n): Likewise.
3505         * sysdeps/s390/s390-64/sub_n.S (__mpn_sub_n): Likewise.
3506         * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S (__mmap64): Likewise.
3507         * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S (__mmap): Likewise.
3508         * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap): Likewise.
3509         * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Likewise.
3510         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise.
3511         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error):
3512         Likewise.
3513         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error):
3514         Likewise.
3515         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add CFI
3516         directives. Move thread_start out of ENTRY/PSEUDO_END block to
3517         make backchain terminate.
3518         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
3519
3520         * sysdeps/s390/s390-32/backtrace.c (trace_arg): New structure.
3521         (unwind_backtrace, unwind_getip): New variables.
3522         (init, __backchain_backtrace, backtrace_helper): New functions.
3523         (__backtrace): Use unwind info for backtrace instead of backchain
3524         walking if the unwind functions can be found.
3525         * sysdeps/s390/s390-64/backtrace.c: Likewise.
3526
3527         * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: New file.
3528
3529         * sysdeps/unix/sysv/linux/s390/sys/procfs.h (ELF_NGREG32): New #define.
3530         (elf_greg_t32, elf_gregset_t32, elf_fpregset_t32): New types.
3531         (elf_prstatus32, elf_prpsinfo32): New structures.
3532         (prgregset32_t, prfpregset32_t, prstatus32_t, prpsinfo32_t): New types.
3533
3534         * scripts/data/c++-types-s390-linux-gnu.data: New file.
3535         * scripts/data/c++-types-s390x-linux-gnu.data: New file.
3536
3537 2003-11-30  Petter Reinholdtsen  <pere@hungry.com>
3538
3539         * stdlib/strfmon.c: Correct formatting of international currency
3540         values.  The international currency formatting should prefer the
3541         int_* values if they are set for a locale, and use the domestic
3542         values if the int_* values are unset.
3543
3544 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
3545
3546         * posix/Makefile (distribute): Add BOOST.tests.
3547         (tests): Add tst-boost, depend on tst-boost-mem.
3548         (generated): Add tst-boost-mem and tst-boost.mtrace.
3549         (tst-boost-ARGS, tst-boost-ENV): Set.
3550         ($(objpfx)tst-boost-mem): New.
3551         * posix/tst-boost.c: New test.
3552         * posix/BOOST.tests: New file.
3553
3554         * posix/Makefile (distribute): Add PCRE.tests.
3555         (tests): Add tst-pcre, depend on tst-pcre-mem.
3556         (generated): Add tst-pcre-mem and tst-pcre.mtrace.
3557         (tst-pcre-ARGS, tst-pcre-ENV): Set.
3558         ($(objpfx)tst-pcre-mem): New.
3559         * posix/tst-pcre.c: New test.
3560         * posix/PCRE.tests: New file.
3561
3562 2003-12-02  Jakub Jelinek  <jakub@redhat.com>
3563
3564         * intl/locale.alias: Use nb_NO instead of no_NO for bokm.l.
3565
3566         * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
3567         * sysdeps/s390/fpu/libm-test-ulps: Regenerated.
3568
3569 2003-12-03  Ulrich Drepper  <drepper@redhat.com>
3570
3571         * locale/programs/locarchive.c (enlarge_archive): Print size info
3572         only in verbose mode.
3573
3574         * locale/iso-3166.def: Three letter code of Romania changed.
3575
3576 2003-12-02  Roland McGrath  <roland@redhat.com>
3577
3578         * scripts/config.sub: Update from master, timestamp='2003-10-20'.
3579         * scripts/config.guess: Update from master, timestamp='2003-10-20'.
3580
3581 2003-11-30  Andreas Jaeger  <aj@suse.de>
3582
3583         * config.make.in (fno-unit-at-a-time): Define.
3584
3585         * configure.in: Add test for -fno-unit-at-a-time.
3586         Fix text for -fpie.
3587
3588         * csu/Makefile (CFLAGS-initfini.s): Add $(fno_unit_at_a_time).
3589         * locale/Makefile (CFLAGS-loadlocale.c): Likewise.
3590
3591 2003-12-01  Automatic
3592
3593         * version.h (VERSION): Bump to 2.3.3.
3594
3595 2003-11-30  Andreas Jaeger  <aj@suse.de>
3596
3597         * stdio-common/vfprintf.c: Do not inline buffered_vfprintf to
3598         decrease stack usage.
3599
3600 2003-11-30  Andreas Schwab  <schwab@suse.de>
3601
3602         * sysdeps/unix/sysv/linux/m68k/sysdep.h (PSEUDO_ERRVAL)
3603         (PSEUDO_END_ERRVAL, ret_ERRVAL): Define.
3604
3605 2003-11-29  Ulrich Drepper  <drepper@redhat.com>
3606
3607         * misc/mntent_r.c (decode_name): Be compatible with util-linux and
3608         recognize \134 as well.
3609
3610 2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>
3611
3612         * sysdeps/ia64/fpu/fraiseexcpt.c: Don't include <asm/fpu.h>.
3613
3614 2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>
3615
3616         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include
3617         <asm/fpu.h>.
3618         (struct ia64_fpreg): New definition.
3619
3620         * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include
3621         <asm/elf.h>.
3622         (ELF_NGREG): New #define.
3623         (ELF_NFPREG): Likewise.
3624         (elf_greg_t): New type.
3625         (elf_gregset_t): Likewise.
3626         (elf_fpreg_t): Likewise.
3627         (elf_fpregset_t): Likewise.
3628
3629 2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>
3630
3631         * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include
3632         <sys/ucontext.h>.
3633         (__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS.
3634         (pt_all_user_regs): New type.
3635
3636 2003-10-10  Simon Josefsson  <jas@extundo.com>
3637
3638         * argp/argp-namefrob.h [!_LIBC]: Include mempcpy.h, strcase.h,
3639         strchrnul.h, strndup.h (from gnulib).
3640         * argp/argp-parse.c: Add alloca.h include snippet verbatim from
3641         Autoconf manual.
3642         * argp/argp-help.c: Replace alloca.h include snipper with verbatim
3643         Autoconf manual version.
3644         * argp/argp.h: Map __restrict to restrict or empty string when
3645         necessary, copied verbatim from posix/regex.h.
3646
3647 2003-10-09  Steven Munroe  <sjmunroe@us.ibm.com>
3648
3649         * Makefile: Allow for c++-types-$(config-machine)-$(config-os).data in
3650         addition to c++-types-$(base-machine)-$(config-os).data.
3651         * scripts/data/c++-types-powerpc-linux-gnu.data: New file.
3652         * scripts/data/c++-types-powerpc64-linux-gnu.data: New file.
3653
3654 2003-11-28  Ulrich Drepper  <drepper@redhat.com>
3655
3656         * misc/mntent_r.c (decode_name): Fix decoding of tab, add decoding
3657         of newline.
3658         * manual/sysinfo.texi (mtab): Adjust description accordingly.
3659         Reported by Andries.Brouwer@cwi.nl.
3660
3661         * sysdeps/x86_64/fpu/libm-test-ulps: Add some more minor changes
3662         to compensate other setup.
3663
3664 2003-11-27  Andreas Jaeger  <aj@suse.de>
3665
3666         * sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for new atan2 test.
3667
3668         * math/libm-test.inc (atan2_test): Add test that run infinitly.
3669         Reported by "Willus" <etc231etc231@willus.com>.
3670
3671 2003-11-27  Michael Matz  <matz@suse.de>
3672
3673         * sysdeps/ieee754/dbl-64/mpsqrt.c (fastiroot): Fix 64-bit problem
3674         with wrong types.
3675
3676 2003-11-28  Jakub Jelinek  <jakub@redhat.com>
3677
3678         * posix/regexec.c (acquire_init_state_context): Make inline.
3679         Add always_inline attribute.
3680         (check_matching): Add BE macro.  Move if (cur_state->has_backref)
3681         into if (dfa->nbackref).
3682         (sift_states_backward): Fix comment.
3683         (transit_state): Add BE macro.  Move if (next_state->has_backref)
3684         into if (dfa->nbackref && next_state).  Don't check for next_state
3685         != NULL twice.
3686         * posix/regcomp.c (peek_token): Use opr.ctx_type instead of opr.idx
3687         for ANCHOR.
3688         (parse_expression): Only call init_word_char if word context will be
3689         needed.
3690
3691         * posix/bug-regex11.c (tests): Add new tests.
3692
3693         * posix/tst-regex.c: Include getopt.h.
3694         (timing): New variable.
3695         (main): Set timing to 1 if --timing argument is present.
3696         Add 2 new tests.
3697         (run_test, run_test_backwards): Handle timing.
3698
3699 2003-11-27  Jakub Jelinek  <jakub@redhat.com>
3700
3701         * posix/regex_internal.h (re_string_t): Remove mbs_case field.
3702         Add offsets, valid_raw_len, raw_len, raw_stop, mbs_allocated and
3703         offsets_needed fields.  Change icase, is_utf8 and map_notascii
3704         type from int bitfield to unsigned char.
3705         (MBS_ALLOCATED, MBS_CASE_ALLOCATED): Remove.
3706         (build_wcs_upper_buffer): Change prototype to return int.
3707         (re_string_peek_byte_case, re_string_fetch_byte_case): Remove
3708         defines, add prototypes.
3709         * posix/regex_internal.c (re_string_allocate): Don't initialize
3710         stop here.  Don't initialize mbs_case.  Set valid_raw_len.
3711         Use mbs_allocated instead of MBS_* macros.
3712         (re_string_construct): Don't initialize stop and valid_len here.
3713         Don't initialize mbs_case.  Use mbs_allocated instead of MBS_*
3714         macros.  Reallocate buffers if build_wcs_upper_buffer converted
3715         too few bytes.  Set valid_len to bufs_len only for single byte
3716         no translation and set in that case valid_raw_len as well.
3717         (re_string_realloc_buffers): Reallocate offsets if not NULL.
3718         Use mbs_allocated instead of MBS_ALLOCATED.  Don't reallocate
3719         mbs_case.
3720         (re_string_construct_common): Initialize raw_len, mbs_allocated,
3721         stop and raw_stop.
3722         (build_wcs_buffer): Apply pstr->trans before mbrtowc instead of
3723         after it.  Set valid_raw_len.  Don't set mbs_case.
3724         (build_wcs_upper_buffer): Return REG_NOERROR or REG_ESPACE.
3725         Only use the fast path if !pstr->offsets_needed.  Apply pstr->trans
3726         before mbrtowc instead of after it.  If upper case character
3727         uses different number of bytes than lower case, goto to the
3728         slow path.  Don't call towupper unnecessarily twice.  Set
3729         valid_raw_len as well.  Handle in the slow path the case if
3730         lower and upper case use different number of characters.
3731         Don't set mbs_case.
3732         (re_string_skip_chars): Use valid_raw_len instead of valid_len.
3733         (build_upper_buffer): Don't set mbs_case.  Add BE macro.  Set
3734         valid_raw_len.
3735         (re_string_translate_buffer): Set mbs instead of mbs_case.  Set
3736         valid_raw_len.
3737         (re_string_reconstruct): Use raw_len/raw_stop to initialize
3738         len/stop.  Clear valid_raw_len and offsets_needed when clearing
3739         valid_len.  Use mbs_allocated instead of MBS_* macros.
3740         Check original offset against valid_raw_len instead of valid_len.
3741         Remove mbs_case handling.  Adjust valid_raw_len together with
3742         valid_len.  If is_utf8 and looking for tip context, apply
3743         pstr->trans first.  If buffers start with partial multi-byte
3744         character, initialize mbs array as well if mbs_allocated.
3745         Check return value of build_wcs_upper_buffer.
3746         (re_string_peek_byte_case): New function.
3747         (re_string_fetch_byte_case): New function.
3748         (re_string_destruct): Use mbs_allocated instead of MBS_ALLOCATED.
3749         Don't free mbs_case.  Free offsets.
3750         * posix/regcomp.c (init_dfa): Only check if charset name is UTF-8
3751         if mb_cur_max == 6.
3752         * posix/regexec.c (re_search_internal): Initialize input.raw_stop
3753         as well.  Use valid_raw_len instead of valid_len when looking
3754         through fastmap.  Adjust registers through input.offsets.
3755         (extend_buffers): Allow build_wcs_upper_buffer to fail.
3756         * posix/bug-regex18.c (tests): Enable #ifdefed out tests.  Add new
3757         tests.
3758
3759 2003-11-26  Jakub Jelinek  <jakub@redhat.com>
3760
3761         * posix/regexec.c (check_subexp_limits): Only check close
3762         subexpression limitation if one is found.  Formatting.
3763         (sift_states_backward, check_arrival, check_arrival_add_next_nodes):
3764         Formatting.
3765         * posix/bug-regex11.c (tests): Enable most #ifdefed out tests.
3766         Add new test.
3767
3768 2003-11-26  Ulrich Drepper  <drepper@redhat.com>
3769
3770         * sysdeps/unix/sysv/linux/kernel-features.h
3771         (__ASSUME_PROT_GROWSUPDOWN): Define for 2.6.1 and up.
3772         * sysdeps/unix/sysv/linux/dl-execstack.c: Omit compatibility code
3773         if __ASSUME_PROT_GROWSUPDOWN is defined.
3774
3775 2003-11-26  Andreas Jaeger  <aj@suse.de>
3776
3777         * sysdeps/unix/sysv/linux/dl-execstack.c
3778         (_dl_make_stack_executable): Set dl_stack_flags always for
3779         success.
3780
3781 2003-06-22  Petter Reinholdtsen  <pere@hungry.com>
3782
3783         * locale/program/ld-monetary.c: Only check the first three
3784         characters in int_curr_symbol against ISO-4217, to make the
3785         separator character used by a locale independent of the content
3786         in iso-4217.def.
3787         * locale/iso-4217.def: Remove the space character from all
3788         currency values to get the new test code in ld-monetary.c working.
3789
3790 2003-11-21  David Mosberger  <davidm@hpl.hp.com>
3791
3792         * elf/soinit.c (_fini): Put _fini() in .init_array section if
3793         HAVE_INITFINI_ARRAY is defined.
3794
3795 2003-11-25  Ulrich Drepper  <drepper@redhat.com>
3796
3797         * sysdeps/i386/fpu/bits/mathinline.h: Introduce __libc_sqrtl symbol.
3798         Define it appropriately after last change.  Use it where __sqrtl
3799         was used.
3800
3801 2003-11-25  H.J. Lu  <hongjiu.lu@intel.com>
3802
3803         * sysdeps/i386/fpu/bits/mathinline.h (sqrt): Don't inline
3804         sqrt for gcc 3.3 and above.
3805
3806 2003-11-25  Ulrich Drepper  <drepper@redhat.com>
3807
3808         * posix/runptests.c (main): Make errors fatal.
3809         * posix/PTESTS: One test in GA135 and GA136 check functionality
3810         which seems not guaranteed.
3811
3812 2003-11-25  Jakub Jelinek  <jakub@redhat.com>
3813
3814         * posix/regexec.c (re_search_internal): If prune_impossible_nodes
3815         returned REG_NOMATCH, set match_last to -1.  Don't initialize
3816         pmatch[0] needlessly.  Fix comment.
3817         (prune_impossible_nodes): Don't segfault on NULL state_log entry.
3818         (set_regs): Fix comment.
3819         * posix/regcomp.c (parse_bracket_exp): Only set has_plural_match
3820         if adding both SIMPLE_BRACKET and COMPLEX_BRACKET.
3821         (build_charclass_op): Set has_plural_match if adding both
3822         SIMPLE_BRACKET and COMPLEX_BRACKET.
3823         * posix/bug-regex11.c (tests): Fix register values for one commented
3824         out test.  Add new tests.
3825
3826         * posix/regex_internal.c (re_string_allocate): Make sure init_len
3827         is at least dfa->mb_cur_max.
3828         (re_string_reconstruct): If is_utf8, don't fall back into
3829         re_string_skip_chars just because idx points into a middle of
3830         valid UTF-8 character.  Instead, set the wcs bytes which correspond
3831         to the partial character bytes to WEOF.
3832         * posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1
3833         instead of dfa->nodes_len + 1 state_log entries initially.
3834         * posix/bug-regex20.c (main): Uncomment backwards case insensitive
3835         tests.
3836
3837 2003-11-24  Jakub Jelinek  <jakub@redhat.com>
3838
3839         * posix/regex_internal.h (re_token_t): Add word_char bit.  Add
3840         comment.
3841         (re_dfa_t): Add sb_char field.
3842         (bitset_mask): New function.
3843         * posix/regcomp.c (free_dfa_content): Free sb_char.
3844         (init_dfa): Don't initialize word_char unnecessarily.
3845         Initialize sb_char.
3846         (duplicate_node): Don't duplicate !word_char CHARACTERs with
3847         NEXT_WORD_CONSTRAINT constraint or word_char CHARACTERs with
3848         NEXT_NOTWORD_CONSTRAINT.  Return -1 in *new_idx instead.
3849         (duplicate_node_closure): Handle clone_dest == -1 from
3850         duplicate_node.
3851         (peek_token): Initialize word_char bit.
3852         (parse_expression, parse_dup_op): Add comments.
3853         (parse_bracket_exp): Don't set bitmask bits for multi-byte char
3854         starting bytes here at the beginning.  Mask off the bits right
3855         before creating SIMPLE_BRACKET.
3856         (build_charclass_op): Likewise.
3857         * posix/regexec.c (group_nodes_into_DFAstates) <case OP_PERIOD>: Only
3858         set accept bits for single-byte characters.
3859         (group_nodes_into_DFAstates): Don't rely on characters 0 .. 127
3860         being single byte encoded and the rest multi-byte.
3861         * posix/bug-regex19.c (tests): Add new tests.
3862         (do_mb_tests): Initialize t to *test.
3863         (main): Fail even on do_mb_tests errors.
3864
3865 2003-11-23  Ulrich Drepper  <drepper@redhat.com>
3866
3867         * posix/regexec.c: Correct several memory allocation problems.
3868         Add more BE.
3869         * posix/regex_internal.c: Likewise.
3870         * posix/regcomp.c: Likewise.
3871
3872         * posix/regexec.c: Add const in a number of places.
3873         * posix/regex_internal.h: Make EPSILON_BIT a macro to help
3874         debugging.  Its value isn't important.
3875
3876 2003-11-22  Ulrich Drepper  <drepper@redhat.com>
3877
3878         * posix/PTESTS: Fix first test of GA143.
3879
3880 2003-11-21  Ulrich Drepper  <drepper@redhat.com>
3881
3882         * posix/regex_internal.c (re_dfa_add_node): Add BE, reallocation
3883         isn't likely.
3884
3885         * locale/programs/charmap.c (charmap_read): If encoding is found
3886         not ASCII compatible, set enc_not_ascii_compatible.
3887         * locale/programs/charmap.h: Declare enc_not_ascii_compatible.
3888         * locale/programs/ld-ctype.c (ctype_startup): If
3889         enc_not_ascii_compatible is set, initialize to_nonascii to 1.
3890
3891 2003-11-22  Jakub Jelinek  <jakub@redhat.com>
3892
3893         * elf/rtld.c (process_envvars): Only honor LD_USE_LOAD_BIAS
3894         if !__libc_enable_secure.
3895
3896         * sysdeps/generic/ldsodefs.h (_dl_use_load_bias): New _rtld_global
3897         field.
3898         * elf/rtld.c (_rtld_global): Initialize _dl_use_load_bias field.
3899         (dl_main): Set GL(dl_use_load_bias) default.
3900         (process_envvars): Set GL(dl_use_load_bias) from LD_USE_LOAD_BIAS.
3901         Add EXTRA_LD_ENVVARS_13.
3902         * elf/dl-support.c (_dl_use_load_bias): New variable.
3903         * elf/dl-load.c (_dl_map_object_from_fd): Mask c->mapstart
3904         with GL(dl_use_load_bias).
3905         * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add
3906         LD_USE_LOAD_BIAS.
3907         * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Remove.
3908         (EXTRA_LD_ENVVARS_LINUX): Renamed to...
3909         (EXTRA_LD_ENVVARS_13): ... this.  Remove case at the beginning.
3910         * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
3911         Don't undefine first.  Remove EXTRA_LD_ENVVARS_LINUX.
3912
3913 2003-11-21  Ulrich Drepper  <drepper@redhat.com>
3914
3915         * posix/regcomp.c (duplicate_node): Remove unnecessary local variable.
3916
3917         * posix/regcomp.c (re_dfa_add_tree_node): Make fourth parameter a
3918         pointer.  Adjust callers.
3919
3920         * posix/regcomp.c (fetch_token): Change interface to match
3921         peek_token.  This avoids some copying and reduces code size.
3922
3923 2003-11-21  Jakub Jelinek  <jakub@redhat.com>
3924
3925         * posix/bug-regex19.c (tests): Add more tests.
3926
3927         * posix/bug-regex11.c: And one more commented out test.
3928
3929         * posix/tst-rxspencer.c (mb_tests): Don't run identical multi-byte
3930         tests multiple times unnecessarily.
3931
3932         * posix/bug-regex19.c (BRE, ERE): Define.
3933         (tests): Add many new tests, remove UTF-8 ones.
3934         (do_one_test, do_mb_tests): New functions.
3935         (main): Rewritten using do_one_test and do_mb_tests.
3936
3937 2003-11-20  Ulrich Drepper  <drepper@redhat.com>
3938
3939         * posix/PTESTS: Fix first test in GA143.
3940
3941 2003-11-20  Jakub Jelinek  <jakub@redhat.com>
3942
3943         * posix/regex_internal.h (re_dfastate_t): Remove trtable_search.
3944         Add word_trtable.
3945         * posix/regex_internal.c (create_newstate_common, free_state):
3946         Don't free trtable_search.
3947         * posix/regexec.c (check_matching): Remove fl_search argument.
3948         (transit_state_sb): Likewise.  #ifdef out as unused.
3949         (build_trtable): Remove fl_search argument.  Set state->word_trtable
3950         and state->trtable.  Build separate word and non-word tables if
3951         multi-byte and they differ for some character.
3952         (transit_state): Remove fl_search argument.  Don't update
3953         state->trtable here.  Handle state->word_trtable.
3954         #ifdef out unused call to transit_state_sb.
3955         (re_search_internal): Update check_matching caller.
3956         (group_nodes_into_DFAstates): Don't clear non-ascii chars in accepts
3957         bitmask for multi-byte locales.
3958         * posix/bug-regex19.c (tests): Enable some commented out tests, add
3959         2 new tests.
3960         * posix/tst-rxspencer.c (mb_tests): Don't test [[=b=]] for now as
3961         multi-byte.  Don't run identical multi-byte tests multiple times
3962         unnecessarily.
3963         (main): Check setlocale return value.
3964         * posix/Makefile (tst-rxspencer-ARGS): Add --utf8 argument.
3965         (tst-rxspencer-ENV): Remove MALLOC_TRACE, add LOCPATH.
3966         ($(objpfx)tst-rxspencer-mem): Run another tst-rxspencer test
3967         here, without --utf8 argument but with MALLOC_TRACE.
3968
3969 2003-11-19  Jakub Jelinek  <jakub@redhat.com>
3970
3971         * posix/regexec.c (extend_buffers): Don't allocate
3972         twice as big state_log as needed.  Don't modify pstr->valid_len
3973         for mb_cur_max == 1 !icase !trans.
3974
3975         * posix/regcomp.c (free_bin_tree): Removed.
3976         (create_tree): Add dfa argument.  Don't call re_malloc for
3977         each tree, instead allocate from str_tree_storage.
3978         (re_dfa_add_tree_node): New function.
3979         (free_dfa_content): Handle freeing if dfa->nodes == NULL
3980         or dfa->state_table == NULL.
3981         (re_compile_internal): Call free_dfa_content if init_dfa
3982         fails.  Call free_workarea_compile, re_string_destruct
3983         and free_dfa_content for most of the other failure paths.
3984         (init_dfa): Initialize str_tree_storage_idx.
3985         Don't clear any fields on allocation failure.
3986         (free_workarea_compile): Free str_tree_storage chunks
3987         instead of free_bin_tree (dfa->str_tree).
3988         (parse): Call re_dfa_add_tree_node instead of re_dfa_add_node
3989         followed by create_tree.  Add dfa argument to remaining
3990         create_tree calls.  Remove new_idx variable.  Remove calls
3991         to free_bin_tree.
3992         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp,
3993         parse_dup_op, parse_bracket_exp, build_charclass_op): Likewise.
3994         (duplicate_tree): Remove calls to free_bin_tree, add dfa
3995         argument to create_tree.
3996         * posix/regex_internal.h (BIN_TREE_STORAGE_SIZE): Define.
3997         (bin_tree_storage_t): New type.
3998         (re_dfa_t): Add str_tree_storage and str_tree_storage_idx
3999         fields.
4000         * posix/Makefile (tests): Add bug-regex21.
4001         (generated): Add bug-regex21-mem, bug-regex21.mtrace,
4002         tst-rxspencer-mem and tst-rxspencer.mtrace.
4003         (tests): Depend on $(objpfx)bug-regex21-mem
4004         and $(objpfx)tst-rxspencer-mem.
4005         (bug-regex21-ENV, tst-rxspencer-ENV): Set.
4006         ($(objpfx)bug-regex21-mem, $(objpfx)tst-rxspencer-mem): New.
4007         * posix/tst-rxspencer.c (main): Add call to mtrace.
4008         Free line at the end.
4009         * posix/bug-regex21.c: New test.
4010
4011 2003-11-19  Ulrich Drepper  <drepper@redhat.com>
4012
4013         * posix/bug-regex20.c: Correct invalid UTF-8 sequences.
4014
4015         * posix/regex_internal.c (build_wcs_upper_buffer): If mbrtowc
4016         fails, just use the byte, do no fancy conversions.
4017
4018         * posix/regex_internal.h (re_string_first_byte): Use ->valid_len
4019         not ->len.
4020         (re_string_is_single_byte_char): Likewise.
4021
4022 2003-11-18  Ulrich Drepper  <drepper@redhat.com>
4023
4024         * posix/regexec.c (get_subexp): After calling get_subexp_sub
4025         reload buf and bkref_str.  Little optimization by avoiding memcmp.
4026
4027 2003-11-14  David Mosberger   <davidm@hpl.hp.com>
4028
4029         * sysdeps/unix/sysv/linux/ia64/sysdep.h
4030         (GAS_ALIGN_BREAKS_UNWIND_INFO): Define this macro to indicate
4031         that all existing GAS versions have a problem with .align inside
4032         a function.
4033         * sysdeps/ia64/memccpy.S: Work around GAS_ALIGN_BREAKS_UNWIND_INFO bug.
4034         * sysdeps/ia64/memcpy.S: Likewise.
4035         * sysdeps/ia64/memset.S: Likewise.
4036         * sysdeps/ia64/memmove.S: Likewise.  Also move the jump-table to
4037         out of .text into .rodata, where it belongs.
4038
4039         * sysdeps/unix/sysv/linux/ia64/pipe.S: There is no need to
4040         save/restore input-arguments, because they're necessarily
4041         preserved by the kernel to support syscall-restart.
4042
4043 2003-11-18  Jakub Jelinek  <jakub@redhat.com>
4044
4045         * posix/regex_internal.h (re_token_type_t): Remove unused ALT,
4046         END_OF_RE_TOKEN_T and SUBEXP.  Reorder values.  Add OP_UTF8_PERIOD
4047         and EPSILON_BIT.
4048         (IS_EPSILON_NODE): Just test if EPSILON_BIT is set.
4049         (ACCEPT_MB_NODE): Return 1 for OP_UTF8_PERIOD as well.
4050         * posix/regex_internal.c (create_ci_newstate, create_cd_newstate):
4051         Handle OP_UTF8_PERIOD.
4052         (re_string_reconstruct): Set valid_len for single byte char searching
4053         with no translation and case sensitivity.
4054         * posix/regcomp.c (re_compile_fastmap_iter, calc_first): Handle
4055         OP_UTF8_PERIOD.
4056         (re_compile_internal): Don't call optimize_utf8 if preg->translate
4057         != NULL.
4058         (optimize_utf8): Remove BACK_SLASH case.
4059         Transform OP_PERIOD into OP_UTF8_PERIOD if the searching can be
4060         optimized.
4061         (parse_bracket_exp): Don't create SIMPLE_BRACKET if it doesn't have
4062         any bits set and COMPLEX_BRACKET is used.
4063         * posix/regexec.c (transit_state_mb): Fix comment typo.
4064         (group_nodes_into_DFAstates, check_node_accept): Handle
4065         OP_UTF8_PERIOD.
4066         (check_node_accept_bytes): Likewise.  Reorder slightly so that
4067         re_string_char_size_at and re_string_elem_size_at are called
4068         only when needed.
4069         * posix/bug-regex20.c (BRE, ERE): Define.
4070         (tests): Use them to make lines shorter.  Expect . to be
4071         optimized.  Add lots of new tests.
4072         (main): Run (ATM just case sensitive) test with backwards searching
4073         as well.
4074
4075 2003-11-18  Jakub Jelinek  <jakub@redhat.com>
4076
4077         * io/bug-ftw4.c: Include string.h.
4078         * posix/fnmatch.c (mbsinit): Remove define.
4079
4080 2003-11-17  Jakub Jelinek  <jakub@redhat.com>
4081
4082         * posix/regcomp.c (optimize_utf8): Optimize multi-byte chars as
4083         well.
4084         * posix/bug-regex20.c (tests): Add new tests.  Multi-byte char
4085         followed by dup operator is expected to be optimized.
4086
4087         * posix/regexec.c (check_node_accept_bytes): Move nrules and j
4088         variables to the block where they are only used, initialize
4089         nrules only immediately before using it.
4090
4091 2003-11-15  Andreas Jaeger  <aj@suse.de>
4092
4093         * sysdeps/x86_64/fpu/s_scalbnl.S: New file.
4094         * sysdeps/x86_64/fpu/s_truncl.S: New file.
4095         * sysdeps/x86_64/fpu/s_nearbyintl.S: New file.