Update.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2002-03-26  Andreas Jaeger  <aj@suse.de>
2
3         * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Fix typo.  Reported by
4         Michal Ludvig <mludvig@suse.cz>.
5
6         * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Add 32-bit
7         compatibilty, adjust for kernel changes.
8
9         * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct
10         sigcontext): Adjust for kernel changes.
11
12 2002-03-25  Andreas Jaeger  <aj@suse.de>
13
14         * iconv/gconv_simple.c (ucs4le_internal_loop_single): Handle
15         little endian.
16         Reported by Artur Zaprzala <zybi@talex.com.pl>.
17
18 2002-03-24  Andreas Jaeger  <aj@suse.de>
19
20         * manual/memory.texi (Aligned Memory Blocks): Fix typo.
21
22         * stdio-common/tst-fdopen.c (main): Remove unused variable.
23
24         * iconv/tst-iconv3.c (main): Use correct printf strings.
25
26 2002-03-18  Roland McGrath  <roland@frob.com>
27
28         * sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsgcred): New type.
29         (CMGROUP_MAX): New macro.
30
31 2002-03-23  Roland McGrath  <roland@frob.com>
32
33         * sysdeps/posix/shm_open.c (SHMDIR): /var/run/shm -> /dev/shm
34         * sysdeps/posix/shm_unlink.c: Likewise.
35
36 2002-03-22  Roland McGrath  <roland@frob.com>
37
38         * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Make 2.2.6 default.
39         * sysdeps/mach/hurd/configure.in: Default oldest ABI is 2.2.6
40         under --enable-libio.
41         * sysdeps/mach/hurd/configure: Regenerated.
42
43 2002-03-23  Roland McGrath  <roland@frob.com>
44
45         * sysdeps/mach/hurd/i386/Makefile
46         (sysdep_routines, shared-only-routines): Don't add framestate,
47         reverting 2001-10-02 change.
48         * sysdeps/unix/sysv/linux/arm/Makefile: Likewise.
49         * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise.
50         * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
51         * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
52         * sysdeps/unix/sysv/linux/mips/Makefile: Likewise.
53         * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
54         * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
55         * sysdeps/unix/sysv/linux/sparc/Makefile: Likewise.
56         * sysdeps/generic/Makefile (sysdep_routines, shared-only-routines):
57         Do it here instead, only if [$(unwind-find-fde) = yes].
58
59 2002-03-23  Andreas Jaeger  <aj@suse.de>
60
61         * signal/signal.h: Fix typo. Patch by Steve Kemp
62         <skx@tardis.ed.ac.uk>.
63
64 2002-03-22  Andreas Jaeger  <aj@suse.de>
65
66         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add getresgid and
67         getresuid.
68
69         * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct
70         _fpstate): Rename fwd to ftw, use _fpxreg and _xmmreg.
71         * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct
72         user_fpregs_struct): Rename fwd.
73
74         * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
75         Follow sigcontext changes.
76
77 2002-03-22  Andreas Jaeger  <aj@suse.de>
78
79         * sysdeps/mips/bits/nan.h: New file.  Copy from generic one with
80         changes for NaNs on MIPS.
81         Patch by Hartvig Ekner <hartvige@mips.com>.
82
83 2002-03-21  Ulrich Drepper  <drepper@redhat.com>
84
85         * nscd/grpcache.c (addgrbyname): Improve buffer allocate with alloca.
86         Use realloc if too large.
87         (addgrbyid): Likewise.
88         * nscd/hstcache.c (addhstbyname): Likewise.
89         (addhstbyaddr): Likewise.
90         (addhstbynamev6): Likewise.
91         (addhstbyaddrv6): Likewise.
92         * nscd/pwdcache.c (addpwbyname): Likewise.
93         (addpwbyuid): Likewise.
94
95 2002-03-21  Andreas Jaeger  <aj@suse.de>
96
97         * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct
98         _fpstate): Add separate struct for x86-64.
99
100         * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct
101         user_fpregs_struct): Change member names to follow kernel.
102
103 2002-03-20  Ulrich Drepper  <drepper@redhat.com>
104
105         * nis/ypclnt.c (yp_all): Remove the hack introduced on 1998-09-29.
106         Correctly close the UDP connection right away [PR libc/3120].
107
108 2002-03-20  Andreas Jaeger  <aj@suse.de>
109
110         * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct
111         user_fpregs_struct): Fix for changed kernel struct.
112         (struct user_regs_struct): Likewise.
113         (struct user): Likewise.
114         Add 32-bit x86 compatibility.
115
116         * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add more registers.
117
118 2002-03-19  Andreas Jaeger  <aj@suse.de>
119
120         * sysdeps/unix/sysv/linux/x86_64/bits/types.h: Cleanup x86 types.
121
122 2002-03-18  Andreas Jaeger  <aj@suse.de>
123
124         * iconvdata/Makefile: Only run tests when shared libs are
125         available.
126
127 2002-03-17  Andreas Jaeger  <aj@suse.de>
128
129         * sysdeps/mips/fpu/fraiseexcpt.c (__feraiseexcept): Set cause bits.
130
131         * sysdeps/mips/fpu/fgetexcptflg.c (__fegetexceptflag): Add comment.
132
133         * sysdeps/mips/fpu/fclrexcpt.c (__feclearexcept): Clear also cause
134         bits.
135
136         * sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New.
137         (CAUSE_SHIFT): New.
138         Patch by Hartvig Ekner <hartvige@mips.com>.
139
140         * sysdeps/generic/unwind-dw2-fde-glibc.c: Add prototypes.
141         * sysdeps/generic/unwind-pe.h: Likewise.
142
143         * libio/iofdopen.c (_IO_new_fdopen): Pass parameter of correct
144         type to _IO_setb.
145
146         * libio/stdio.c (AL2): Define variant when visibility attribute is
147         not supported.
148
149         * include/libc-symbols.h (_INTVARDEF): Define variant when
150         visibility attribute is not supported.
151
152 2002-03-16  Ulrich Drepper  <drepper@redhat.com>
153
154         * po/fr.po: Update from translation team.
155
156 2002-02-25  Bruno Haible  <bruno@clisp.org>
157
158         * MakeTAGS (extract): Use --sort-by-file instead of --sort-output.
159
160 2002-03-15  Ulrich Drepper  <drepper@redhat.com>
161
162         * libio/iofdopen.c (_IO_new_fdopen): Call _IO_setb to deallocate
163         buffers if _IO_file_attach failed.
164
165         * libio/fileops.c (_IO_file_open): Close file descriptor if
166         _IO_SEEKOFF call failed.
167
168 2002-03-15  H.J. Lu  <hjl@gnu.org>
169             Ulrich Drepper  <drepper@redhat.com>
170
171         * configure.in: Check for availability of
172         init_array/fini_array/preinit_array handling in binutils.
173         * config.h.in (HAVE_INITFINI_ARRAY): New macro.
174         * config.make.in (have-initfini-array): New variable.
175
176 2002-03-15  Ulrich Drepper  <drepper@redhat.com>
177
178         * stdio-common/tst-printf.c (main): Comment out one test which
179         checked the compiler's ability to fold floating-point constants
180         but not really printf.
181         (rfg3): Make s const.
182         * stdio-common/tst-printf.sh: Adjust for removed test.
183
184         * sysdeps/i386/i386-mcount.S: Just call __mcount_internal, it is an
185         internal function.  Adjust for internal_function calling convention.
186         * sysdeps/i386/machine-gmon.h: Declare and define __mcount_internal
187         as internal_function.
188
189         * sysdeps/generic/framestate.c: Declare fallback_frame_state_for as
190         hidden.
191
192         * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add internal_function to
193         declaration and definition.
194         * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Add internal_function to
195         declaration.
196         * nss/getXXent_r.c: Likewise.
197         * nss/nsswitch.h (db_lookup_function): Add internal_function to
198         definition.
199
200         * include/time.h: Declare __localtime_r as hidden.
201
202         * include/aliases.h: Declare __getaliasent_r as hidden.
203         * include/grp.h: Declare __getgrent_r as hidden.
204         * include/netdb.h: Declare __gethostent_r, __getnetent_r,
205         __getservent_r, and __getprotoent_r as hidden.
206         * include/pwd.h: Declare __getpwent_r as hidden.
207         * include/shadow.h: Declare __getspent_r as hidden.
208         * include/rpc/netdb.h: Declare __getrpcent_r as hidden.
209
210         * iconv/gconv_int.h: Declare __gconv_read_conf, __gconv_alias_compare,
211         and __gconv_transliterate as hidden.
212         Add internal_function to __gconv_get_path declaration.
213         * iconv/gconv_conf.c: Add internal_function to __gconv_get_path
214         definition.  Add attribute_hidden to __gconv_read_conf definition.
215
216 2002-03-14  Ulrich Drepper  <drepper@redhat.com>
217
218         * elf/rtld.c: Declare _environ as hidden.
219         * sysdeps/generic/dl-environ.c: Likewise.
220         * sysdeps/generic/dl-sysdep.c: Likewise.
221
222         * sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and
223         _dl_mcount_internal as hidden.
224
225         * elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk.
226         * sysdeps/generic/dl-brk.c: New file.
227         * sysdeps/generic/dl-sbrk.c: New file.
228         * sysdeps/unix/sysv/linux/i386/dl-brk.c: New file.
229         * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file.
230
231         * elf/dl-minimal.c (malloc): Declare _end as hidden.
232         (__errno_location): New function.  Declare errno as hidden.
233         * elf/rtld.c (_dl_argc): Define as hidden.
234         (_dl_skip_args): Define as hidden.
235         (_begin, _end): Declare as hidden.
236         * sysdeps/generic/dl-sysdep.c (_end): Declare as hidden.
237         * sysdeps/generic/entry.h (_start): Declare as hidden.
238         * sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden.
239         * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare
240         _dl_runtime_resolve and _dl_runtime_profile as hidden.
241         (RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini.
242
243 2002-03-14  Roland McGrath  <roland@frob.com>
244
245         * Makerules ($(common-objpfx)Versions.v.i): Depend on abi-versions.h.
246
247         * Makeconfig (%.v.i, %.v): New implicit rules.
248         (preprocess-versions): Variable removed.
249         ($(common-objpfx)shlib-versions.v.i): New target giving just the
250         shlib-versions input files as dependencies.
251         ($(common-objpfx)soversions.i): Depend on that instead of the input
252         files.  Use it as input instead of using a pipeline.
253         (postclean-generated): Append soversions.i, shlib-versions.v, and
254         shlib-versions.v.i here.
255         * Makerules ($(common-objpfx)Versions.def.v.i): New target giving just
256         the Versions.def input files as dependencies.
257         ($(common-objpfx)Versions.v.i): Likewise for Versions files.
258         ($(common-objpfx)Versions.all): Depend on that instead of the input
259         files.  Use it as input instead of using a pipeline.
260         ($(common-objpfx)sysd-versions): Likewise with Versions.v.i.
261         (postclean-generated): Append those .v and .v.i files here.
262
263 2002-03-14  Jakub Jelinek  <jakub@redhat.com>
264
265         * locale/broken_cur_max.c (__ctype_get_mb_cur_max): Use nl_langinfo.
266         * locale/Versions (_nl_current_LC_COLLATE, _nl_current_LC_CTYPE):
267         Remove.
268
269 2002-03-14  Jakub Jelinek  <jakub@redhat.com>
270
271         * sysdeps/generic/mp_clz_tab.c: New file.
272         * sysdeps/i386/mp_clz_tab.c: New file.
273         * sysdeps/hppa/mp_clz_tab.c: New file.
274         * sysdeps/powerpc/mp_clz_tab.c: New file.
275         * stdlib/Makefile (aux): Revert last patch.
276         * math/Makefile (gmp-objs): Likewise.
277
278 2002-03-13  Paul Eggert  <eggert@twinsun.com>
279
280         * time/strftime.c: Comment fixes for references to obsolescent
281         standards, In most cases the simplest fix is to remove the
282         confusing comments.  Cross-referencing all the standards properly
283         is a bit of a pain, and it should be enough to put that info in
284         the documentation as I did in my recent time.texi patch.
285
286 2002-03-13  Paul Eggert  <eggert@twinsun.com>
287
288         * manual/time.texi (Formatting Calendar Time):
289         ISO C99 also specifies the E and O modifiers.
290         %P is a GNU extension, and is not in ISO C99.
291         Mention that %r is equivalent to %I:%M:%S %p in the POSIX locale.
292         %T is also in ISO C99.
293         The RFC 822 example is not valid in arbitrary locales.
294         Reword the POSIX.2 wording slightly, to make it a bit clearer
295         that POSIX.2 formats are also supported by later POSIX versions.
296         If a format was introduced in ISO C99 it is also required by
297         POSIX.1-2001.
298
299 2002-03-13  Ulrich Drepper  <drepper@redhat.com>
300
301         * sysdeps/gnu/errlist.awk: Define _sys_errlist_internal and
302         _sys_nerr_internal with INTVARDEF2.
303         * include/libc-symbols.h (INTVARDEF2): New macro.
304         * include/stdio.h (_sys_errlist_internal): Declare as hidden.
305         (_sys_nerr_internal): Library.
306
307         * sysdeps/posix/signal.c (_sigintr): Define as hidden.
308         * sysdeps/posix/sigintr.c (_sigintr): Declare as hidden.
309
310         * stdio-common/tst-printf.sh: Adjust for last change in tst-printf.c.
311
312 2002-03-13  Wolfram Gloger  <wg@malloc.de>
313
314         * malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed.
315
316 2002-03-02  Andreas Schwab  <schwab@suse.de>
317
318         * stdio-common/vfprintf.c (process_arg): Fix decimal format with
319         'h' flag and positional arg.
320         * stdio-common/tst-printf.c (rfg3): New function to test
321         positional arguments.
322         (main): Fix some warnings.
323
324 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
325
326         * elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED.
327         * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.
328
329 2002-03-13  Ulrich Drepper  <drepper@redhat.com>
330
331         * grp/initgroups.c (__nss_group_data): Declare as hidden.
332
333         * include/locale.h (_nl_C_locobj): Declare as hidden.
334
335         * time/asctime.c (_nl_C_LC_TIME): Declare as hidden.
336         * time/strptime.c (_nl_C_LC_TIME): Likewise.
337
338         * include/netinet/in.h (in6addr_any_internal): Mark as hidden.
339
340         * include/sys/gmon.h: Declare _gmonparam as hidden.
341
342         * locale/lc-ctype.c (__ctype32_wctype): Declare as hidden.
343         (__ctype32_wctrans): Likewise.
344         (__ctype32_width): Likewise.
345
346         * sysdeps/unix/sysv/linux/ttyname.c: Comment out definition and
347         use of __ttyname.
348
349         * posix/regcomp.c (__re_error_msgid): Renamed from re_error_msgid.
350         Define as hidden.
351         (__re_error_msgid_idx): Renamed from re_error_msgid_idx.  Define as
352         hidden.  Change all users of these variables.
353
354         * posix/regex_internal.h (__re_error_msgid): Renamed from
355         re_error_msgid.  Declare as hidden.
356         (__re_error_msgid_idx): Renamed from re_error_msgid_idx.  Declare as
357         hidden.
358
359         * stdio-common/reg-printf.c (__printf_arginfo_table): Define as hidden.
360         (__printf_function_table): Likewise.
361         * stdio-common/printf-parse.h (__printf_arginfo_table): Declare as
362         hidden.
363         (__printf_function_table): Likewise.
364
365         * nscd/nscd_proto.h: Declare __nss_not_use_nscd_passwd,
366         __nss_not_use_nscd_group, and __nss_not_use_nscd_hosts as hidden.
367
368         * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Define as hidden.
369         * nss/nsswitch.c: Declare _nss_*_database as hidden.
370
371         * stdlib/wctomb.c (__no_r_state): Declare as hidden.
372         * stdlib/mbtowc.c (__no_r_state): Define as hidden.
373
374 2002-03-12  Ulrich Drepper  <drepper@redhat.com>
375
376         * ctype/ctype-info.c: Declare _nl_C_LC_CTYPE_class,
377         _nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower,
378         _nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower,
379         _nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit,
380         _nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space,
381         _nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph,
382         _nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl,
383         _nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum,
384         _nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower, and
385         _nl_C_LC_CTYPE_width: Declare as hidden.
386         * include/locale.h: Declare _nl_locale_file_list.
387         * locale/C-address.c: Define _nl_C_LC_ADDRESS as hidden.
388         * locale/C-collate.c: Define _nl_C_LC_COLLATE as hidden.
389         * locale/C-identification.c: Define _nl_C_LC_IDENTIFICATION as hidden.
390         * locale/C-measurement.c: Define _nl_C_LC_MEASUREMENT as hidden.
391         * locale/C-messages.c: Define _nl_C_LC_MESSAGES as hidden.
392         * locale/C-monetary.c: Define _nl_C_LC_MONETARY as hidden.
393         * locale/C-name.c: Define _nl_C_LC_NAME as hidden.
394         * locale/C-numeric.c: Define _nl_C_LC_NUMERIC as hidden.
395         * locale/C-paper.c: Define _nl_C_LC_PAPER as hidden.
396         * locale/C-telephone.c: Define _nl_C_LC_TELEPHONE as hidden.
397         * locale/C-time.c: Define _nl_C_LC_TIME as hidden.
398         * locale/C-ctype.c: Define _nl_C_LC_CTYPE_class,
399         _nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower,
400         _nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower,
401         _nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit,
402         _nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space,
403         _nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph,
404         _nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl,
405         _nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum,
406         _nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower,
407         _nl_C_LC_CTYPE_width, and as hidden.
408         * locale/findlocale.c: Declare _nl_C as hidden.
409         * locale/newlocale.c: Likewise.
410         * locale/setlocale.c: Define _nl_C as hidden.  Remove declaration of
411         _nl_locale_file_list.
412         * locale/xlocale.c: Declare _nl_C_LC_CTYPE_class,
413         _nl_C_LC_CTYPE_toupper, and _nl_C_LC_CTYPE_tolower as hidden.
414         Define _nl_C_locobj as hidden.
415
416         * malloc/mtrace.c (_mtrace_file): Define as hidden.
417         (_mtrace_line): Likewise.
418
419         * include/time.h: Declare __mon_yday as hidden.
420         * time/strptime.c [_LIBC] (__mon_yday): Remove declaration.
421
422         * libio/libioP.h: Declare __libio_codecvt as hidden.
423         * libio/fileops.c: Declare __libio_translit as hidden.
424         * libio/iofwide.c: Define __libio_translit as hidden.
425
426         * login/getutent_r.c: Define __libc_utmp_lock as hidden.
427         * login/getutid_r.c: Declare __libc_utmp_lock as hidden.
428         * login/getutline_r.c: Likewise.
429         * login/utmpname.c: Likewise.
430
431         * login/utmp-private.h: Declare __libc_utmp_file_functions,
432         __libc_utmp_unknown_functions, __libc_utmp_jump_table, and
433         __libc_utmp_file_name as hidden.
434
435         * locale/setlocale.c (__libc_setlocale_lock): Define as hidden.
436         * locale/duplocale.c (__libc_setlocale_lock): Declare as hidden.
437         * locale/freelocale.c: Likewise.
438         * locale/lc-time.c: Likewise.
439
440         * sysdeps/unix/bsd/getpt.c (__libc_ptyname1): Define as hidden.
441         (__libc_ptyname2): Likewise.
442         * sysdeps/unix/sysv/linux/ptsname.c (__libc_ptyname1): Declare as
443         hidden.
444         (__libc_ptyname2): Likewise.
445
446         * sysdeps/generic/sbrk.c: Declare __libc_multiple_libcs as hidden.
447         * sysdeps/arm/init-first.c (__libc_multiple_libcs): Define as hidden.
448         * sysdeps/generic/init-first.c: Likewise.
449         * sysdeps/i386/init-first.c: Likewise.
450         * sysdeps/mach/hurd/i386/init-first.c: Likewise.
451         * sysdeps/mach/hurd/mips/init-first.c: Likewise.
452         * sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
453         * sysdeps/sh/init-first.c: Likewise.
454         * sysdeps/unix/sysv/aix/init-first.c: Likewise.
455         * sysdeps/unix/sysv/linux/init-first.c: Likewise.
456
457         * stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden.
458         (_itowa_upper_digits): Likewise.
459
460         * libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden.
461         * libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare
462         as hidden.
463
464         * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps,
465         _IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps,
466         _IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal,
467         _IO_wfile_jumps_internal, and _IO_list_all_internal as hidden.
468
469         * gmon/gmon.c (__bb_head): Define as hidden.
470         * gmon/bb_exit_func.c (__bb_head): Declare as hidden.
471
472         * argp/argp-parse.c (_argp_hang): Define as static.
473
474         * include/libc-symbols.h (_INTVARDEF): Adjust for visibility
475         handling in latest compilers.
476
477         * inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to
478         define alias.
479         * libio/fileops.c (_IO_file_jumps): Likewise.
480         * libio/stdfiles.c (_IO_list_all): Likewise.
481         * libio/wfileops.c (_IO_wfile_jumps): Likewise.
482
483         * malloc/malloc.h: Move __libc_malloc_initialized declaration to
484         include/malloc.h.
485         * include/malloc.h: Add __libc_malloc_initialized declaration
486         here.  Mark variable hidden.
487         * malloc/malloc.c: Include <malloc.h> not "malloc.h".
488
489         * elf/dl-open.c (__libc_argc): Declare as hidden.
490         (__libc_argv): Likewise.
491         * sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden.
492         (__libc_argv): Likewise.
493         * sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and
494         __libc_argv as hidden.
495         * sysdeps/mach/hurd/mips/init-first.c: Likewise.
496         * sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
497         * sysdeps/unix/sysv/aix/init-first.c: Likewise.
498         * sysdeps/unix/sysv/linux/init-first.c: Likewise.
499
500         * include/stdlib.h (__libc_drand48_data): Declare as hidden.
501         * stdlib/drand48.c: Remove declaration of __libc_drand48_data here.
502         * stdlib/erand48.c: Likewise.
503         * stdlib/jrand48.c: Likewise.
504         * stdlib/lcong48.c: Likewise.
505         * stdlib/lrand48.c: Likewise.
506         * stdlib/mrand48.c: Likewise.
507         * stdlib/nrand48.c: Likewise.
508         * stdlib/seed48.c: Likewise.
509         * stdlib/srand48.c: Likewise.
510
511         * stdio-common/_itoa.c (_itoa_base_table): Declare as hidden.
512         (_itoa_lower_digits_internal): New declaration.
513         (_itoa_upper_digits_internal): New declaration.
514         (_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits.
515         * stdio-common.h (_itoa_lower_digits_internal): New declaration.
516         (_itoa_upper_digits_internal): New declaration.
517         (_itoa_word): Use INTUSE to acces _itoa_upper_digits and
518         _itoa_lower_digits.
519         * stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits.
520         * stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits.
521
522         * elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden.
523         * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.
524
525         * stdio-common/_itowa.c (_itoa_base_table): Declare as hidden.
526         (_itowa_lower_digits): Likewise.
527         (_itowa_upper_digits): Likewise.
528         * stdio-common/_itowa.h (_itowa_lower_digits): Likewise.
529         (_itowa_upper_digits): Likewise.
530
531         * intl/plural-exp.h (attribute_hidden): Define as empty macro if
532         not already defined.
533         (GERMANIC_PLURAL): Declare as hidden.
534
535         * posix/getopt.c (__getopt_initialized): Declare as hidden.
536         (attribute_hidden): Define as empty macro if not already defined.
537
538         * iconv/gconv_int.h (__gconv_path_elem): Declare hidden.
539         (__gconv_max_path_elem_len): Likewise.
540         (__gconv_path_envvar): Likewise.
541
542         * math/Makefile (gmp-objs): Remove mp_clz_tab.
543         * stdlib/Makefile (aux): Remove mp_clz_tab.
544         * stdlib/mp_clz_tab.c: Removed.  Not needed anywhere.
545
546         * stdlib/exit.h (__exit_funcs): Declare as hidden.
547
548         * posix/bug-regex5.c (main): Use nl_langinfo instead of _NL_CURRENT.
549
550         * locale/localeinfo.h: Add attribute_hidden to _nl_current_LC_XXX,
551         _nl_category_names, _nl_category_name_sizes, _nl_current,
552         _nl_C_name, _nl_POSIX_name, _nl_C_codeset, and _nl_C_LC_XXX.
553
554         * intl/dcigettext.c (_nl_default_default_domain): Define as hidden.
555         (_nl_current_default_domain): Likewise
556         (_nl_state_lock): Likewise.
557         * intl/textdomain.c (_nl_default_default_domain): Declare as hidden.
558         (_nl_current_default_domain): Likewise
559         (_nl_state_lock): Likewise.
560         * intl/bindtextdom.c (_nl_state_lock): Likewise.
561
562         * stdlib/fpioconst.h (__tens): Add attribute_hidden.
563         (_fpioconst_pow10): Likewise.
564
565         * include/time.h (_tmbuf): Add attribute_hidden.
566
567         * time/tzset.c (tzstring_list): Define as static.
568
569         * include/time.h: Add attribute_hidden to __tzname_cur_max and
570         __use_tzfile declaration.
571
572         * wcsmbs/wcsmbsload.h: Add attribute_hidden to __wcsmbs_gconv_fcts
573         and __wcsmbs_last_locale declaration.
574
575 2002-02-25  Paul Eggert  <eggert@twinsun.com>
576
577         * timezone/Makefile (tzbases): Move systemv from here...
578         (tzlinks): to here, since the entries in systemv were all changed
579         from Zone to Link lines in tz-2001a.  Bug reported (and patch
580         tested) by Peter Breitenlohner.
581
582 2002-03-07  Jakub Jelinek  <jakub@redhat.com>
583
584         * time/tst-posixtz.c (tests): Add new tests.
585         (main): Test whether tzset() sets daylight properly.
586
587 2002-03-06  Jakub Jelinek  <jakub@redhat.com>
588
589         * time/tzset.c (tz_compute): Move __daylight, __tzname and
590         __tzname_cur_max setting...
591         (tzset_internal): ...here.
592
593 2002-03-06  Jakub Jelinek  <jakub@redhat.com>
594
595         * time/tzset.c (compute_change): Don't return any value.
596         (tz_compute): Likewise.  Don't handle southern hemisphere here.
597         (__tz_convert): But here.
598
599 2002-03-11  Ulrich Drepper  <drepper@redhat.com>
600
601         * manual/examples/mkfsock.c: Include <string.h> as well.
602         Patch by Alain De Carolis <alaind@wseurope.com>.
603
604 2002-03-06  Isamu Hasegawa  <isamu@yamato.ibm.com>
605
606         * posix/regexec.c (re_match): Fix incorrect register sizes.
607         (re_search): Likewise.
608
609 2002-03-05  Isamu Hasegawa  <isamu@yamato.ibm.com>
610
611         * posix/regcomp.c (regfree): Remove a disused condition.
612         * posix/regex_internal.c (re_acquire_state): Likewise.
613         (re_acquire_state_context): Likewise.
614         (register_state): Remove a redundant malloc invocation.
615         * posix/regex_internal.h: (re_state_table_entry): Simplify
616         the structure.
617
618 2002-03-05  Isamu Hasegawa  <isamu@yamato.ibm.com>
619
620         * posix/regcomp.c (regcomp): Add __builtin_expect to error
621         handling conditions.
622         (regerror): Likewise.
623         (regfree): Likewise.
624         (re_compile_internal): Likewise.
625         (init_dfa): Likewise.
626         (init_word_char): Likewise.
627         (create_initial_state): Likewise.
628         (analyze): Likewise.
629         (analyze_tree): Likewise.
630         (duplicate_node): Likewise.
631         (calc_eclosure): Likewise.
632         (calc_eclosure_iter): Likewise.
633         (parse): Likewise.
634         (parse_reg_exp): Likewise.
635         (parse_branch): Likewise.
636         (parse_expression): Likewise.
637         (parse_subexp): Likewise.
638         (parse_dup_op): Likewise.
639         (parse_bracket_exp): Likewise.
640         (build_equiv_class): Likewise.
641         (build_charclass): Likewise.
642         (build_word_op): Likewise.
643         (fetch_number): Likewise.
644         (create_tree): Likewise.
645         (duplicate_tree): Likewise.
646         * posix/regex.c (BE): New macro.
647         * posix/regexec.c (re_match): Add __builtin_expect to error
648         handling conditions.
649         (re_match_2): Likewise.
650         (re_search): Likewise.
651         (re_search_internal): Likewise.
652         (check_matching): Likewise.
653         (proceed_next_node): Likewise.
654         (set_regs): Likewise.
655         (sift_states_backward): Likewise.
656         (add_epsilon_backreference): Likewise.
657         (transit_state): Likewise.
658         (transit_state_sb): Likewise.
659         (transit_state_mb): Likewise.
660         (transit_state_bkref): Likewise.
661         (transit_state_bkref_loop): Likewise.
662         (build_trtable): Likewise.
663         (group_nodes_into_DFAstates): Likewise.
664         (match_ctx_init): Likewise.
665         (match_ctx_add_entry): Likewise.
666         * posix/regex_internal.c (re_string_construct): Add __builtin_expect
667         to error handling conditions.
668         (re_string_construct_toupper): Likewise.
669         (build_wcs_buffer): Likewise.
670         (build_wcs_upper_buffer): Likewise.
671         (build_upper_buffer): Likewise.
672         (re_string_translate_buffer): Likewise.
673         (re_node_set_alloc): Likewise.
674         (re_node_set_init_1): Likewise.
675         (re_node_set_init_2): Likewise.
676         (re_node_set_init_copy): Likewise.
677         (re_node_set_intersect): Likewise.
678         (re_node_set_init_union): Likewise.
679         (re_node_set_merge): Likewise.
680         (re_node_set_insert): Likewise.
681         (re_dfa_add_node): Likewise.
682         (re_acquire_state): Likewise.
683         (re_acquire_state_context): Likewise.
684         (create_new_state_common): Likewise.
685         (register_state): Likewise.
686         (create_ci_new_state): Likewise.
687         (create_cd_new_state): Likewise.
688         (re_string_context_at): Remove redundant condition.
689
690 2002-01-16  Roger Sayle  <roger@eyesopen.com>
691
692         * sysdeps/i386/i686/strcmp.S: Avoid unconditional jump to a ret.
693
694         * sysdeps/i386/i586/strlen.S: Fix typo in comment.
695
696 2002-03-11  Jakub Jelinek  <jakub@redhat.com>
697
698         * sysdeps/i386/elf/configure.in: Fix comment.
699
700         * sysdeps/sparc/sparc64/configure.in: New.
701         * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Fix
702         if .dynamic comes before .got.
703         * config.h.in (SPARC64_DYNAMIC_BEFORE_GOT): Add.
704
705         * sysdeps/sparc/sparc64/hp-timing.h (HP_TIMING_DIFF,
706         HP_TIMING_ACCUM): Fix typos.
707
708 2002-03-11  Ulrich Drepper  <drepper@redhat.com>
709
710         * string/strfry.c: Add some more randomness to the seed.
711         Patch by James A Morrison <ja2morri@student.math.uwaterloo.ca>.
712
713         * po/es.po: Update from translation team.
714         * po/fr.po: Likewise.
715
716         * stdio-common/tfformat.c (sprint_doubles): A test for %F format.
717
718         * stdio-common/printf_fp.c (__printf_fp): Correct check for %F format
719         when determining type of format.
720         Patch by James Antill <james@anqd.org> [PR libc/2787].
721
722 2002-03-04  Jakub Jelinek  <jakub@redhat.com>
723
724         * sysdeps/unix/bsd/ftime.c (ftime): Don't return 1000 in millitm.
725
726 2002-03-11  Roland McGrath  <roland@frob.com>
727
728         * hurd/hurd/threadvar.h: Include <features.h> for __THROW macro.
729
730         * Versions.def (libc): Add GLIBC_2.2.6.
731         * hurd/Versions (libc: GLIBC_2.2.6): Add __errno_location.
732         * sysdeps/mach/hurd/errnos.awk: In generated macro, use
733         __errno_location instead of __hurd_errno_location, and don't inline it.
734         * sysdeps/mach/hurd/bits/errno.h: Regenerated.
735         * hurd/errno.c: New file.
736         * hurd/Makefile (routines): Add errno.
737
738 2002-03-11  Ulrich Drepper  <drepper@redhat.com>
739
740         * stdio-common/vfprintf.c (vfprintf): Avoid crashing for
741         ridiculously large widths and precisions [PR libc/3026].
742
743 2002-03-11  Andreas Jaeger  <aj@suse.de>
744
745         * sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: Fix for bi-arch
746         support.
747         Patch by Susanne Oberhauser <froh@SuSE.de>.
748
749 2002-03-11  Ulrich Drepper  <drepper@redhat.com>
750
751         * inet/rexec.c (ahostbuf): Define as static.
752
753         * wctype/wcfuncs.c (__ctype32_wctype): Declare as hidden.
754         (__ctype32_wctrans): Likewise.
755         * wcsmbs/wcwidth.h (__ctype32_width): Declare as hidden.
756         * ctype/ctype-info.c (__ctype32_wctype): Add attribute_hidden.
757         (__ctype32_wctrans): Likewise.
758         (__ctype32_width): Likewise.
759
760         * gmon/Makefile (elide-routines.os): Add bb_init_func and bb_exit_func.
761         They were never exported anyway.
762
763         * gmon/gmon.c (_gmonparam): Add attribute_hidden.
764         * gmon/sys/gmon.h: Remove declaration of _gmonparam.  It wasn't
765         exported.
766         * include/sys/gmon.h: Declare _gmonparam.
767
768         * sysdeps/unix/sysv/linux/i386/getdents64.c: Don't define compatibility
769         symbols for getdents64.  They were never exported.
770
771 2002-03-09  Roland McGrath  <roland@frob.com>
772
773         * hurd/hurdsig.c (write_corefile): Fix swapped arguments to __dir_link.
774         Reported by Jon Arney <jarney1@cox.net>.
775
776 2002-02-23  Roland McGrath  <roland@frob.com>
777
778         * hurd/hurd/threadvar.h (__hurd_threadvar_location): Add __THROW to
779         declaration.
780         (__hurd_errno_location): Function removed.
781
782 2002-03-06  Andreas Jaeger  <aj@suse.de>
783
784         * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add compatibility for
785         32-bit.
786
787 2002-03-04  Andreas Jaeger  <aj@suse.de>
788
789         * sysdeps/unix/sysv/linux/x86_64/readelflib.c: New.
790
791         * sysdeps/unix/sysv/linux/kernel-features.h: Add defines for
792         x86-64.
793
794         * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: New.
795
796         * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: New.
797
798         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: New.
799
800         * sysdeps/x86_64/bits/setjmp.h: New.
801
802         * sysdeps/unix/sysv/linux/x86_64/bits/sem.h: New.
803
804         * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: New.
805
806         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Add compatibilty
807         for x86.
808         * sysdeps/unix/sysv/linux/x86_64/bits/msq.h: Likewise.
809         * sysdeps/unix/sysv/linux/x86_64/bits/types.h: Likewise.
810
811 2002-02-28  Bo Thorsen  <bo@suse.de>
812
813         * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Merge with i386
814         version.
815
816 2002-03-03  Andreas Jaeger  <aj@suse.de>
817
818         * sysdeps/x86_64/bits/wordsize.h: New file.
819
820         * elf/nodlopenmod2.c: Provide prototype to avoid warning.
821         * elf/tst-tlsmod1.c: Likewise.
822
823         * posix/regcomp.c: Get regex.h from include dir for internal
824         prototypes.
825
826         * sysdeps/unix/sysv/linux/init-first.c: Move __init_misc prototype
827         to libc-internal.h and include it.
828         * include/libc-internal.h: Add __init_misc.
829
830         * misc/init-misc.c: Include libc-internal.h for prototypes.
831
832         * sysdeps/wordsize-32/divdi3.c: Add prototypes to avoid warnings.
833
834         * misc/error.c [_LIBC]: Include libioP.h for prototype of
835         _IO_putc_internal.
836
837 2002-03-03  Ulrich Drepper  <drepper@redhat.com>
838
839         * posix/regcomp.c: Compatibility changes to allow using the code
840         outside glibc.
841
842 2002-02-28  Hartvig Ekner <hartvige@mips.com>
843
844         * sysdeps/mips/elf/start.S: Added initialization of GP (to _gp) if
845         compiled non-PIC.
846
847 2002-03-02  Ulrich Drepper  <drepper@redhat.com>
848
849         * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Fix creation
850         of .str elements in the returned data structure.
851
852         * elf/elf.h: Add Alpha TLS bits.
853
854 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
855
856         * sysdeps/unix/sysv/linux/nice.c: New file.
857
858 2002-03-01  Ulrich Drepper  <drepper@redhat.com>
859
860         * elf/Makefile (dl-routines): Add dl-origin.
861         (elide-routines.os): Add dl-origin.
862         * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin.
863         * elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around
864         _dl_debug_state.
865         * include/libc-symbols.c: Define attribute_hidden depending on
866         HAVE_VISIBILITY_ATTRIBUTE.  Add definition of INTVARDEF.
867
868         * elf/dl-deps.c: Use INTUSE with __libc_enable_secure.
869         * elf/dl-load.c: Likewise.
870         * elf/rtld.c: Likewise.
871         * include/unistd.h: Declare __libc_enable_secure_internal.
872         * sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure.
873         Use INTUSE with __libc_enable_secure.
874         * sysdeps/mach/hurd/dl-sysdep.c: Likewise.
875
876         * elf/dl-deps.c: Use INTUSE with _dl_out_of_memory.
877         * elf/dl-error.c: Likewise,
878         * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal.
879
880         * elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE.
881         * sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before
882         function definition.  Use INTDEF with _dl_get_origin.
883         * sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
884
885         * elf/dl-init.c: Use INTUSE with _dl_starting_up.
886         * elf/rtld.c: Likewise.  Use INTVARDEF for _dl_starting_up.
887
888         * elf/dl-profile.c: Use INTDEF for _dl_mcount.
889         * elf/dl-runtime.c: Use INTUSE with _dl_mcount.
890         * sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal.
891
892         * elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0].
893         * elf/dl-deps.c: Likewise.
894         * elf/dl-error.c: Likewise.
895         * elf/dl-fini.c: Likewise.
896         * elf/dl-init.c: Likewise.
897         * elf/dl-load.c: Likewise.
898         * elf/dl-lookup.c: Likewise.
899         * elf/dl-reloc.c: Likewise.
900         * elf/dl-version.c: Likewise.
901         * elf/do-lookup.h: Likewise.
902         * sysdeps/arm/dl-machine.h: Likewise.
903         * sysdeps/cris/dl-machine.h: Likewise.
904         * sysdeps/hppa/dl-machine.h: Likewise.
905         * sysdeps/i386/dl-machine.h: Likewise.
906         * sysdeps/m68k/dl-machine.h: Likewise.
907         * sysdeps/powerpc/dl-machine.h: Likewise.
908         * sysdeps/s390/s390-32/dl-machine.h: Likewise.
909         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
910         * sysdeps/sh/dl-machine.h: Likewise.
911         * sysdeps/sparc/sparc-32/dl-machine.h: Likewise.
912         * sysdeps/sparc/sparc-64/dl-machine.h: Likewise.
913         * sysdeps/x86_64/dl-machine.h: Likewise.
914         * elf/rtld.c: Use INTDEF for _dl_argv.  Use rtld_progrname instead of
915         _dl_argv[0].  Use INTUSE with _dl_argv.
916         * sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv.
917         * sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
918
919 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
920
921         * elf/rtld.c (_rtld_global): Remove .protected.
922         (_rtld_local): Strong alias to _rtld_global.
923         * elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld
924         only .os object.
925         * sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use
926         _rtld_local instead of _rtld_global.
927         (_rtld_local): Add hidden extern, possibly in .sdata section.
928         * configure.in: Add tests for visibility attribute and .sdata.
929         * config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION.
930         * sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global.
931         * sysdeps/arm/dl-machine.h: Likewise.
932         * sysdeps/generic/ldsodefs.h: Likewise.
933         * sysdeps/hppa/dl-machine.h: Likewise.
934         * sysdeps/cris/dl-machine.h: Likewise.
935         * sysdeps/i386/dl-machine.h: Likewise.
936         * sysdeps/ia64/dl-machine.h: Likewise.
937         * sysdeps/m68k/dl-machine.h: Likewise.
938         * sysdeps/mips/mips64/dl-machine.h: Likewise.
939         * sysdeps/mips/dl-machine.h: Likewise.
940         * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
941         * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
942         * sysdeps/sh/dl-machine.h: Likewise.
943         * sysdeps/s390/s390-32/dl-machine.h: Likewise.
944         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
945         * sysdeps/x86_64/dl-machine.h: Likewise.
946
947 2002-02-28  Ulrich Drepper  <drepper@redhat.com>
948
949         * login/login.c (login): Always initialize ut_line field
950         [PR libc/2991].
951
952 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
953
954         * sysdeps/i386/Makefile (sysdep_routines): Add
955         divdi3 in csu dir.
956         (shared-only-routines): Likewise.
957         * sysdeps/m68k/Makefile (sysdep_routines): Likewise.
958         (shared-only-routines): Likewise.
959         * sysdeps/s390/s390-32/Makefile (sysdep_routines): Likewise.
960         (shared-only-routines): Likewise.
961         * sysdeps/wordsize-32/divdi3.c: New file.
962
963 2002-02-28  Ulrich Drepper  <drepper@redhat.com>
964
965         * locale/iso-4217.def: Remove obsolete currencies for countries
966         with Euro.
967
968 2002-02-28  Isamu Hasegawa  <isamu@yamato.ibm.com>
969
970         * posix/regcomp.c (regcomp): Remove a redundant condition.
971         (init_word_char): Add a check on malloc failure.
972         (create_initial_state): Likewise.
973         (duplicate_node): Likewise.
974         (calc_eclosure): Likewise.
975         (calc_eclosure_iter): Likewise.
976         (parse_expression): Likewise.
977         (parse_bracket_exp): Remove unnecessary malloc invocations.
978         (build_equiv_class): Likewise.
979         (build_charclass): Likewise.
980         * posix/regex_internal.c (re_node_set_intersect): Add a check
981         on malloc failure.
982         (re_node_set_add_intersect): Likewise.
983         (re_node_set_merge): Likewise.
984         (re_acquire_state): Likewise.
985         (re_acquire_state_context): Likewise.
986         (create_newstate_common): Likewise.
987         (register_state): Likewise.
988         (create_ci_newstate): Likewise.
989         (create_cd_newstate): Likewise.
990         * posix/regex_internal.h: Fix prototypes of re_acquire_state
991         and re_acquire_state_context.
992         * posix/regexec.c (regexec): Suit it to the error handling of
993         re_search_internal.
994         (re_match): Likewise.
995         (re_search): Likewise.
996         (re_search_internal): Add a check on malloc failure.
997         (acquire_init_state_context): Likewise.
998         (check_matching): Likewise.
999         (proceed_next_node): Likewise.
1000         (set_regs): Likewise.
1001         (sift_states_backward): Likewise.
1002         (sift_states_iter_bkref): Likewise.
1003         (add_epsilon_backreference): Likewise.
1004         (transit_state): Likewise.
1005         (transit_state_sb): Likewise.
1006         (transit_state_mb): Likewise.
1007         (transit_state_bkref_loop): Likewise.
1008         (build_trtable): Likewise.
1009         (group_nodes_into_DFAstates): Likewise.
1010         (match_ctx_init): Likewise.
1011         (match_ctx_add_entry): Likewise.
1012
1013 2002-02-27  Ulrich Drepper  <drepper@redhat.com>
1014
1015         * elf/dl-load.c (_dl_map_object_from_fd): Always add SONAME to
1016         l_libname if profiling is enabled [PR libc/2916].
1017
1018         * sysdeps/ia64/dl-tls.h: New file.
1019
1020 2002-02-27  Jakub Jelinek  <jakub@redhat.com>
1021
1022         * sysdeps/alpha/dl-machine.h (elf_machine_load_address, RTLD_START):
1023         Work around an Alpha gas bug.
1024
1025 2002-02-27  Ulrich Drepper  <drepper@redhat.com>
1026
1027         * catgets/open_catalog.c (__open_catalog): Fix typo in code which
1028         uses read to load the catalog.
1029         Patch by Andy Isaacson <adi@unlimitedscale.com> [PR libc/3011].
1030
1031 2002-02-26  Ulrich Drepper  <drepper@redhat.com>
1032
1033         * posix/Makefile (distribute): Add regcomp.c, regexec.c,
1034         regex_internal.c, and regex_internal.h.
1035         (CFLAGS-regex.c): Replace -DMBS_SUPPORT with -DRE_ENABLE_I18N.
1036         * posix/regex.c: Complete rewrite.
1037         * posix/regexec.c: New file.
1038         * posix/regcomp.c: New file.
1039         * posix/regex_internal.c: New file.
1040         * posix/regex_internal.h: New file.
1041         * posix/regex.h (RE_ICASE): New macro.
1042         Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
1043
1044         * stdio-common/vfscanf.c (_IO_vfwscanf): Always use ungetc, never
1045         ungetwc.  It's a macro.
1046         * libio/tst-swscanf.c (do_test): Adjust for now fixed wscanf
1047         implementation.
1048         Reported by Jason Merrill <jason@redhat.com>.
1049
1050 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
1051
1052         * libio/iofopen.c (__fopen_maybe_mmap): Set the initial
1053         position to fp->_offset if it is set.
1054         * stdio-common/Makefile (tests): Add tst-fdopen.
1055         * stdio-common/tst-fdopen.c: New test.
1056
1057 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
1058
1059         * libio/fileops.c (_IO_file_xsgetn_mmap): Handle reading from backup.
1060         * stdio-common/tst-ungetc.c (main): Add another test.
1061
1062 2002-02-25  Ulrich Drepper  <drepper@redhat.com>
1063
1064         * assert/assert-perr.c: Use INTUSE to reference functions and variables
1065         inside libc itself.  Use INTDEF and INTDEF2 to define appropriate
1066         aliases.  Add prototypes for the new aliases.
1067         * assert/assert.c: Likewise.
1068         * include/libc-symbols.h: Likewise.
1069         * include/stdio.h: Likewise.
1070         * include/netinet/in.h: Likewise.
1071         * include/rpc/auth.h: Likewise.
1072         * include/rpc/auth_unix.h: Likewise.
1073         * include/rpc/key_prot.h: Likewise.
1074         * include/rpc/pmap_prot.h: Likewise.
1075         * include/rpc/pmap_rmt.h: Likewise.
1076         * include/rpc/rpc_msg.h: Likewise.
1077         * include/rpc/xdr.h: Likewise.
1078         * inet/gethstbyad_r.c: Likewise.
1079         * inet/gethstbynm2_r.c: Likewise.
1080         * inet/gethstbynm_r.c: Likewise.
1081         * inet/gethstent_r.c: Likewise.
1082         * inet/in6_addr.c: Likewise.
1083         * libio/__fpurge.c: Likewise.
1084         * libio/filedoalloc.c: Likewise.
1085         * libio/fileops.c: Likewise.
1086         * libio/ftello.c: Likewise.
1087         * libio/ftello64.c: Likewise.
1088         * libio/genops.c: Likewise.
1089         * libio/iofclose.c: Likewise.
1090         * libio/iofdopen.c: Likewise.
1091         * libio/iofflush.c: Likewise.
1092         * libio/iofflush_u.c: Likewise.
1093         * libio/iofgetpos.c: Likewise.
1094         * libio/iofgetpos64.c: Likewise.
1095         * libio/iofgets.c: Likewise.
1096         * libio/iofgets_u.c: Likewise.
1097         * libio/iofopen.c: Likewise.
1098         * libio/iofopncook.c: Likewise.
1099         * libio/iofputs.c: Likewise.
1100         * libio/iofread.c: Likewise.
1101         * libio/iofread_u.c: Likewise.
1102         * libio/iofsetpos.c: Likewise.
1103         * libio/iofsetpos64.c: Likewise.
1104         * libio/ioftell.c: Likewise.
1105         * libio/iofwrite.c: Likewise.
1106         * libio/iogetline.c: Likewise.
1107         * libio/iogets.c: Likewise.
1108         * libio/iogetwline.c: Likewise.
1109         * libio/iolibio.h: Likewise.
1110         * libio/iopadn.c: Likewise.
1111         * libio/iopopen.c: Likewise.
1112         * libio/ioseekoff.c: Likewise.
1113         * libio/ioseekpos.c: Likewise.
1114         * libio/iosetbuffer.c: Likewise.
1115         * libio/iosetvbuf.c: Likewise.
1116         * libio/ioungetc.c: Likewise.
1117         * libio/ioungetwc.c: Likewise.
1118         * libio/iovdprintf.c: Likewise.
1119         * libio/iovsprintf.c: Likewise.
1120         * libio/iovsscanf.c: Likewise.
1121         * libio/libioP.h: Likewise.
1122         * libio/memstream.c: Likewise.
1123         * libio/obprintf.c: Likewise.
1124         * libio/oldfileops.c: Likewise.
1125         * libio/oldiofclose.c: Likewise.
1126         * libio/oldiofdopen.c: Likewise.
1127         * libio/oldiofgetpos.c: Likewise.
1128         * libio/oldiofgetpos64.c: Likewise.
1129         * libio/oldiofopen.c: Likewise.
1130         * libio/oldiofsetpos.c: Likewise.
1131         * libio/oldiofsetpos64.c: Likewise.
1132         * libio/oldiopopen.c: Likewise.
1133         * libio/oldstdfiles.c: Likewise.
1134         * libio/putc.c: Likewise.
1135         * libio/setbuf.c: Likewise.
1136         * libio/setlinebuf.c: Likewise.
1137         * libio/stdfiles.c: Likewise.
1138         * libio/stdio.c: Likewise.
1139         * libio/strops.c: Likewise.
1140         * libio/vasprintf.c: Likewise.
1141         * libio/vscanf.c: Likewise.
1142         * libio/vsnprintf.c: Likewise.
1143         * libio/vswprintf.c: Likewise.
1144         * libio/wfiledoalloc.c: Likewise.
1145         * libio/wfileops.c: Likewise.
1146         * libio/wgenops.c: Likewise.
1147         * libio/wstrops.c: Likewise.
1148         * malloc/mtrace.c: Likewise.
1149         * misc/error.c: Likewise.
1150         * misc/syslog.c: Likewise.
1151         * nss/getXXbyYY_r.c: Likewise.
1152         * nss/getXXent_r.c: Likewise.
1153         * nss/hosts-lookup.c: Likewise.
1154         * stdio-common/getw.c
1155         * stdio-common/printf-prs.c: Likewise.
1156         * stdio-common/printf_fp.c: Likewise.
1157         * stdio-common/printf_size.c: Likewise.
1158         * stdio-common/putw.c: Likewise.
1159         * stdio-common/scanf.c: Likewise.
1160         * stdio-common/sprintf.c: Likewise.
1161         * stdio-common/tmpfile64.c: Likewise.
1162         * stdio-common/vfprintf.c: Likewise.
1163         * stdio-common/vfscanf.c: Likewise.
1164         * stdlib/strfmon.c: Likewise.
1165         * sunrpc/auth_des.c: Likewise.
1166         * sunrpc/auth_none.c: Likewise.
1167         * sunrpc/auth_unix.c: Likewise.
1168         * sunrpc/authdes_prot.c: Likewise.
1169         * sunrpc/authuxprot.c: Likewise.
1170         * sunrpc/clnt_perr.c: Likewise.
1171         * sunrpc/clnt_raw.c: Likewise.
1172         * sunrpc/clnt_tcp.c: Likewise.
1173         * sunrpc/clnt_udp.c: Likewise.
1174         * sunrpc/clnt_unix.c: Likewise.
1175         * sunrpc/key_call.c: Likewise.
1176         * sunrpc/key_prot.c: Likewise.
1177         * sunrpc/openchild.c: Likewise.
1178         * sunrpc/pm_getmaps.c: Likewise.
1179         * sunrpc/pm_getport.c: Likewise.
1180         * sunrpc/pmap_clnt.c: Likewise.
1181         * sunrpc/pmap_prot.c: Likewise.
1182         * sunrpc/pmap_prot2.c: Likewise.
1183         * sunrpc/pmap_rmt.c: Likewise.
1184         * sunrpc/rpc_cmsg.c: Likewise.
1185         * sunrpc/rpc_prot.c: Likewise.
1186         * sunrpc/svc_authux.c: Likewise.
1187         * sunrpc/svc_raw.c: Likewise.
1188         * sunrpc/svc_simple.c: Likewise.
1189         * sunrpc/svc_tcp.c: Likewise.
1190         * sunrpc/svc_udp.c: Likewise.
1191         * sunrpc/svc_unix.c: Likewise.
1192         * sunrpc/xdr.c: Likewise.
1193         * sunrpc/xdr_array.c: Likewise.
1194         * sunrpc/xdr_mem.c: Likewise.
1195         * sunrpc/xdr_rec.c: Likewise.
1196         * sunrpc/xdr_ref.c: Likewise.
1197         * sunrpc/xdr_stdio.c: Likewise.
1198         * sysdeps/generic/_strerror.c: Likewise.
1199         * sysdeps/generic/printf_fphex.c: Likewise.
1200         * sysdeps/generic/tmpfile.c: Likewise.
1201         * sysdeps/gnu/errlist.awk: Likewise.
1202         * sysdeps/gnu/errlist.c: Likewise.
1203
1204         * libio/Makefile (routines): Remove iosprint.
1205         * libio/iosprintf.c: Removed
1206
1207
1208 2002-02-24  Ulrich Drepper  <drepper@redhat.com>
1209
1210         * elf/dl-support.c (_dl_non_dynamic_init): Renamed from
1211         non_dynamic_init and exported now.
1212         * sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init.
1213         * sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for
1214         !SHARED.
1215         * sysdeps/mach/hurd/i386/init-first.c: Likewise.
1216         * sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
1217         * sysdeps/mach/hurd/mips/init-first.c: Likewise.
1218
1219 2002-02-23  Ulrich Drepper  <drepper@redhat.com>
1220
1221         * elf/dl-close.c (free_slotinfo): Check for end of list and return
1222         true in this case.
1223
1224         * locale/iso-639.def: Add language codes for Walloon.
1225
1226         * elf/dl-fini.c (_dl_fini): Print some final statistics on the
1227         total number of relocations performed.
1228
1229         * elf/sprof.c (load_profdata): If do_test provide information as
1230         to why loading failed.
1231         * elf/dl-profile.c (_dl_start_profile): Initialize all of
1232         hist_hdr.dimen.
1233
1234         * csu/set-init.c: Moved to...
1235         * sysdeps/mach/hurd/set-init.c: ...here.  New file.
1236         * csu/Makefile: Don't compile set-init.
1237         * sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu.
1238         * sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition
1239         to __libc_init.
1240         * sysdeps/mach/hurd/mips/init-first.c: Likewise.
1241         * sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
1242         * sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of
1243         __libc_init.
1244         * misc/init-misc.c: Always export __init_misc.  Don't define hooks for
1245         __libc_subinit.
1246
1247 2002-02-22  Ulrich Drepper  <drepper@redhat.com>
1248
1249         * elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls.
1250         * elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE.
1251         * sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls.
1252         (_dl_deallocate_tls): New function.
1253         * sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and
1254         _dl_deallocate_tls.
1255
1256 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
1257
1258         * libio/fileops.c (_IO_file_seekoff_mmap): Fix fseek SEEK_END.
1259         * stdio-common/tst-fseek.c (main): Add test for this.
1260
1261 2002-02-19  Ulrich Drepper  <drepper@redhat.com.>
1262
1263         * stdlib/Versions: Move __on_exit to GLIBC_PRIVATE.
1264
1265 2002-02-19  Jakub Jelinek  <jakub@redhat.com>
1266
1267         * libio/fileops.c (_IO_file_underflow_mmap): Cast to unsigned char
1268         pointer before dereferencing.
1269
1270 2002-02-18  Roland McGrath  <roland@frob.com>
1271
1272         * sysdeps/mach/hurd/times.c: Fix typo in last change.
1273
1274         * sysdeps/mach/hurd/setpriority.c [POLICY_TIMESHARE_BASE_COUNT]:
1275         Use task_policy in place of task_priority.
1276
1277         * sysdeps/generic/bits/mman.h
1278         (MS_ASYNC, MS_SYNC, MS_INVALIDATE): New macros.
1279         * sysdeps/mach/msync.c: New file.
1280
1281         * sysdeps/mach/powerpc/syscall.S: New file.
1282
1283         * mach/msg.c [MACH_MSG_OVERWRITE]
1284         (__mach_msg_trap, __mach_msg_overwrite): New functions.
1285         * mach/Versions (libc: GLIBC_2.0): Add mach_msg_overwrite and __ name.
1286
1287         * sysdeps/mach/configure.in: Check for clock.defs to put into
1288         mach_interface_list.
1289         * sysdeps/mach/configure: Regenerated.
1290
1291         * mach/Makefile (mach-machine): New variable, set from $(base-machine).
1292         ($(objpfx)mach-syscalls.mk): Use it in place of $(base-machine).
1293         ($(mach-syscalls:%=$(objpfx)%.S) static pattern rule):
1294         Use <mach/machine/syscall_sw.h> instead of <sysdep.h>.
1295         (mach-shortcuts): Add device_read_overwrite_request,
1296         device_read_overwrite, vm_read_overwrite, thread_switch.
1297
1298         * configure.in (base_machine): Set to $machine by default.
1299         * configure: Regenerated.
1300
1301         * sysdeps/mach/configure.in: Check for <mach/machine/ndr_def.h>
1302         or <machine/ndr_def.h> and add -DNDR_DEF_HEADER=... to DEFINES.
1303         * sysdeps/mach/configure: Regenerated.
1304         * mach/mach_init.c [NDR_DEF_HEADER]: #include it.
1305
1306         * hurd/hurdfault.c (_hurdsig_fault_init): Add a cast.
1307
1308         * hurd/hurd/signal.h: Include <setjmp.h> for `jmp_buf' decl.
1309
1310         * mach/msgserver.c (__mach_msg_server_timeout) [! MACH_RCV_LARGE]:
1311         Double MAX_SIZE and don't retry on MACH_RCV_TOO_LARGE.
1312
1313 2002-02-17  Roland McGrath  <roland@frob.com>
1314
1315         * sysdeps/mach/hurd/times.c
1316         [NO_CREATION_TIME] (startup_time): New static variable.
1317         [NO_CREATION_TIME] (times_init): New static function in __libc_subinit.
1318         (__times) [NO_CREATION_TIME]: Use startup_time in lieu of task
1319         creation_time from task_basic_info.
1320         (__times): Use __gettimeofday instead of __host_get_time.
1321
1322         * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg) [! MACH_MSG_TYPE_BIT]:
1323         Use untyped Mach IPC message format.
1324
1325         * hurd/catch-exc.c: Include <assert.h>, missing from last change.
1326
1327         * hurd/Versions (libc: GLIBC_2.0): Add _S_catch_exception_raise_state,
1328         _S_catch_exception_raise_state_identity,
1329         _hurdsig_fault_catch_exception_raise_state,
1330         _hurdsig_fault_catch_exception_raise_state_identity.
1331
1332         * mach/shortcut.awk: Don't apply the /^}$/ rule when $proto == "".
1333
1334         * sysdeps/mach/getsysstats.c (__get_avphys_pages) [HOST_VM_INFO]: Use
1335         __host_info with HOST_VM_INFO flavor instead of __vm_statistics.
1336
1337         * sysdeps/mach/hurd/getpriority.c [TASK_SCHED_TIMESHARE_INFO]: Find
1338         `base_priority' in PIP->timeshare_base_info instead of PIP->taskinfo.
1339
1340         * sysdeps/mach/hurd/dl-sysdep.c [FMH]: Define for i386 only.
1341         (fmh, unfmh): Define these functions only #if FMH.  Otherwise define
1342         them as no-op macros.
1343         [FMH] (ELF_MACHINE_USER_ADDRESS_MASK): Redefine it to zero.
1344         (__mmap): Uncomment uses of ELF_MACHINE_USER_ADDRESS_MASK.
1345
1346         * sysdeps/powerpc/dl-machine.h
1347         (ELF_MACHINE_USER_ADDRESS_MASK): New macro.
1348
1349         * hurd/hurdselect.c (_hurd_select) [MACH_MSG_TRAILER_MINIMUM_SIZE]:
1350         Use untyped Mach IPC message format.
1351
1352         * sysdeps/mach/hurd/ioctl.c (__ioctl) [! MACH_MSG_TYPE_BIT]:
1353         Handle untyped Mach IPC message formats.
1354
1355         * hurd/catch-exc.c (_S_catch_exception_raise) [EXC_MASK_ALL]:
1356         Expect different argument conventions when this is defined.
1357         [EXC_MASK_ALL] (_S_catch_exception_raise_state): New stub function.
1358         [EXC_MASK_ALL] (_S_catch_exception_raise_state_identity): Likewise.
1359         * hurd/hurdfault.c: Likewise for _hurdsig_fault_catch_exception_*.
1360         [NDR_CHAR_ASCII] (mig_reply_header_t): #define as mig_reply_error_t
1361         for OSF Mach variant.
1362         (faulted): Use mig_reply_error_t for REPLY.
1363         (_hurdsig_fault_init) [EXC_MASK_ALL]: Use EXCEPTION_STATE_IDENTITY
1364         in __thread_set_exception_ports call.
1365         (_hurdsig_fault_init) [MACH_PORT_RECEIVE_STATUS]: Use
1366         __mach_port_set_attributes in place of __mach_port_set_qlimit.
1367
1368         * sysdeps/mach/powerpc/sysdep.h (_MACH_MACHINE_ASM_H): Define this
1369         before include <sysdeps/mach/sysdep.h>, to inhibit <mach/machine/asm.h>
1370         on Darwin, which includes bogons.
1371
1372         * sysdeps/powerpc/dl-machine.h (elf_machine_rela): Move local
1373         variable LOADBASE so it's not declared when it's not used.
1374
1375 2002-02-16  Roland McGrath  <roland@frob.com>
1376
1377         * sysdeps/mach/hurd/times.c (__times) [NO_CREATION_TIME]: Don't try
1378         to use BI.creation_time.
1379
1380         * mach/Machrules (MIG): Add -x c to CPP value passed down.
1381
1382         * config.h.in: Add #undef HAVE_HOST_PAGE_SIZE.
1383         * sysdeps/mach/configure.in: Check for host_page_size RPC to define it.
1384         * mach/mach_init.c (__mach_init) [HAVE_HOST_PAGE_SIZE]: Use
1385         host_page_size instead of vm_statistics.
1386
1387         * sysdeps/mach/Makefile (mach-before-compile): Don't include
1388         mach_interface.h here, since not all variants use that name.
1389
1390         * sysdeps/mach/configure.in: Add some checks for Mach headers
1391         to ensure a sane installation.
1392         (mach_interface_list): Define this variable by checking for .defs
1393         files found in various variants.
1394         * configure.in (mach_interface_list): AC_SUBST this.
1395         * config.make.in (mach-interface-list): New substituted variable.
1396         * mach/Makefile (user-interfaces): Define this using the value
1397         of $(mach-interface-list) instead of mach, mach4.
1398         Updated other references to mach_interface to use it as well.
1399
1400         * sysdeps/mach/powerpc/machine-lock.h: Avoid multi-line strings.
1401
1402         * mach/msgserver.c [NDR_CHAR_ASCII] (mig_reply_header_t): #define as
1403         mig_reply_error_t for OSF Mach variant.
1404
1405         * mach/Makefile (routines): Remove bootprivport.
1406         * mach/bootprivport.c: File removed.  It has never been used.
1407
1408         * mach/msg-destroy.c (__mach_msg_destroy) [MACH_MSG_PORT_DESCRIPTOR]:
1409         Grok the OSF flavor of message format.
1410         (mach_msg_destroy_port): For MAKE_SEND and
1411         MAKE_SEND_ONCE rights, create an destroy a right to ensure proper
1412         no-senders notification.
1413
1414 2002-02-06  Roland McGrath  <roland@frob.com>
1415
1416         * hurd/Versions (libc: GLIBC_2.0): Move cthread_fork, cthread_detach
1417         to here if 2.0 compatibility enabled ...
1418         (libc: GLIBC_2.1.3): ... from here.
1419
1420 2002-02-15  Ulrich Drepper  <drepper@redhat.com>
1421
1422         * elf/dl-open.c (dl_open_worker): Catch wrap-around of TLS
1423         generation counter.
1424         * elf/dl-close.c (_dl_close): Likewise.
1425
1426 2002-02-14  Ulrich Drepper  <drepper@redhat.com>
1427
1428         * elf/Makefile: Add rules to build and run tst-tls8.
1429         * elf/tst-tls8.c: New file.
1430         * elf/tst-tlsmod4.c: New file.
1431
1432         * stdlib/test-a64l.c (tests): Add more test cases.
1433
1434         * sunrpc/rtime.c (rtime): Change type of thetime to uint32_t.
1435         Reported by Walter Harms <WHarms@bfs.de>.
1436
1437 2002-02-11  Jes Sorensen  <jes@trained-monkey.org>
1438
1439         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Add sc_flag bit
1440         definitions for struct sigcontext.
1441         Suggested by David Mosberger-Tang.
1442
1443 2002-02-13  Ulrich Drepper  <drepper@redhat.com>
1444
1445         * elf/dl-close.c (remove_slotinfo): New function.  Handles everything
1446         for removing reference of module in slotinfo list.
1447         (_dl_close): Use remove_slotinfo.
1448         * sysdeps/generic/dl-tls.c: General pretty printing.
1449         (oom): Define only if SHARED.
1450         (_dl_next_tls_modid): Correct starting point for the case we assume
1451         there is a gap.  Add missing instruction grouping (doh!).  Correct
1452         tests for reaching maximum index.
1453         * elf/Makefile: Add rules to build and run tst-tls7.
1454         * elf/tst-tls7.c: New file.
1455         * elf/tst-tlsmod3.c: New file.
1456
1457         * elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef
1458         USE_TLS.
1459         * elf/tst-tlsmod2.c: Likewise.
1460
1461         * elf/dl-close.c (_dl_close): When closing an object using TLS
1462         either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to
1463         true.  Increment dl_tls_generation only if we closed any TLS-using
1464         object.
1465         * elf/tst-tls6.c: New file.
1466         * elf/Makefile: Add rules to build and run tst-tls6.
1467
1468         * po/da.po: Update from translation team.
1469
1470         * locale/categories.def: Fix typo [PR libc/2948].
1471         * po/Makefile (BROKEN_LINGUAS): Works with current gettext
1472         [PR libc/2949].
1473         * locale/iso-4217.def: Update from official version [PR libc/2950].
1474         * glibcbug.in: Honor TMPDIR [PR libc/2951].
1475         * locale/programs/ld-collate.c (collate_finish): Bail out with a
1476         message if input is too confusion instead of using assert.
1477         (collate_read): Don't crash on unknown symbol [PR libc/2952].
1478         Patches by Alastair McKinstry <alastair@pdd.3com.com>.
1479
1480         * elf/tst-tls1.c: Move #include "tls-macros.h" instead #ifdef USE_TLS.
1481         * elf/tst-tls2.c: Likewise.
1482         * elf/tst-tls3.c: Likewise.
1483
1484 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
1485
1486         * elf/dl-close.c (free_slotinfo): Only define if TLS supported.
1487
1488 2002-02-13  Ulrich Drepper  <drepper@redhat.com>
1489
1490         * elf/dl-open.c (dl_open_worker): Only bump the generation counter
1491         if this is really necessary.
1492
1493         * elf/dl-close.c (_dl_close): Implement freeing entries in the
1494         slotinfo array.
1495         (free_mem): Free memory for the slotinfo array if possible.
1496
1497 2002-02-12  Andreas Schwab  <schwab@suse.de>
1498
1499         * csu/gmon-start.c (__gmon_start__): Remove '&' from ENTRY_POINT.
1500
1501 2002-02-12  Ulrich Drepper  <drepper@redhat.com>
1502
1503         * sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from
1504         TLS_DTV_UNALLOCATE.
1505         (oom): New function.
1506         (_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list.
1507         (_dl_determine_tlsoffset): Likewise.
1508         (_dl_allocate_tls): Likewise.
1509         (__TLS_GET_ADDR): Define if not already defined.
1510         (_dl_tls_symaddr): New function.
1511         (allocate_and_init): New function.
1512         (__tls_get_addr): Actually implement handling of generation counter
1513         and deferred allocation.
1514         * sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list,
1515         add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
1516         _dl_tls_generation.
1517         Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS.
1518         Declare _dl_tls_symaddr.
1519         * sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless
1520         SHARED.
1521         * include/link.h (struct link_map):  Remove l_tls_nextimage and
1522         l_tls_previmage.
1523         * elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr
1524         instead of DL_SYMBOL_ADDRESS for STT_TLS symbols.
1525         (_dl_vsym): Likewise.
1526         * elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new
1527         layout.
1528         (dl_main): Allow PT_TLS be present for empty segment.  Remove
1529         nextimage list handling.  Instead add all modules using TLS to
1530         dl_tls_dtv_slotinfo_list.
1531         * elf/dl-open.c (dl_open_worker): After successfully loading all
1532         objects add those with TLS to the dl_tls_dtv_slotinfo_list list.
1533         * elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an
1534         empty segment don't do anything.  Remove handling of initimage list.
1535         * elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign.
1536         (GLIBC_PRIVATE): Add _dl_tls_symaddr.
1537         * elf/dl-minimal.c: Define __libc_memalign.
1538         * elf/dl-support.c: Remove _dl_initimage_list.  Add
1539         _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
1540         _dl_tls_generation.
1541         * include/stdlib.h: Declare __libc_memalign.
1542
1543         * elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5.
1544         * elf/tst-tls4.c: New file.
1545         * elf/tst-tls5.c: New file.
1546         * elf/tst-tlsmod2.c: New file.
1547
1548         * elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx.
1549
1550         * elf/tst-tlsmod1.c: Don't define variables unles USE_TLS.
1551
1552         * elf/tst-tls1.c: Use test-skeleton.c.
1553         * elf/tst-tls2.c: Likewise.
1554         * elf/tst-tls3.c: Likewise.
1555
1556         * elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0.
1557
1558 2002-02-08  Daniel Jacobowitz  <drow@mvista.com>
1559
1560         * sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.
1561
1562 2002-02-10  Ulrich Drepper  <drepper@redhat.com>
1563
1564         * elf/elf.h: Define R_386_TLS_GD and R_386_TLS_LDM.
1565
1566         * elf/tst-tls3.c: New file.
1567         * elf/tst-tlsmod1.c: New file.
1568         * elf/Makefile: Add rules to build and run tst-tls3.
1569
1570         * sysdeps/i386/dl-machine.h: Include <tls.h>.
1571         (elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three
1572         TLS relocations.
1573
1574         * elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.
1575
1576         * po/fr.po: Update from translation team.
1577
1578         * elf/tls-macros.h: Add alternative macros for use in PIC.
1579
1580         * elf/dl-lookup.c: Include <tls.h>.
1581         * elf/do-lookup.h (FCT): Don't discard STT_TLS symbols.
1582
1583         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes
1584         required by passing pointer to last element of the list.
1585
1586         * elf/dl-load.c (_dl_map_object_from_fd): Move adjustment of
1587         l_tls_initimage to a place where it actually is performed.
1588
1589         * sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero
1590         after globfree() calls.
1591
1592         * elf/dl-deps.c (struct openaux_args): Add open_mode element.
1593         (openaux): Pass open_mode as new last argument to _dl_map_object.
1594         (_dl_map_object_deps): Add new argument open_mode.  Initialize
1595         open_mode element of args variable with it.
1596         * elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to
1597         _dl_map_object_deps.
1598         * elf/rtld.c (dl_main): Add zero as last parameter to
1599         _dl_map_object_deps call.
1600         * sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps.
1601         * elf/nodlopen2.c: New file.
1602         * elf/nodlopenmod2.c: New file.
1603         * elf/Makefile: Add rules to build and run nodlopen2.
1604
1605         * elf/tst-tls1.c: Move TLS helper macros to...
1606         * elf/tls-macros.h: ...here.  New file.
1607         * elf/tst-tls2.c: New file.
1608         * elf/Makefile (tests): Add tst-tls2.
1609         (distribute): Add tls-macros.h.
1610
1611         * po/sv.po: Update from translation team.
1612
1613         * elf/tst-tls1.c (main): Add complete set of tests.  Split
1614         architecture specific definitions from the actual test code.
1615
1616         * po/tr.po: Update from translation team.
1617
1618 2002-02-09  Ulrich Drepper  <drepper@redhat.com>
1619
1620         * elf/Makefile (tests): Add tst-tls1.
1621         * elf/tst-tls1.c: New file.
1622
1623         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle
1624         alignment of TCB for now.
1625
1626         * elf/rtld.c (dl_main): Use p_vaddr as address of TLS
1627         initialization image for the application itself.
1628
1629         * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Correctly terminate
1630         loop to initialize TLS block.
1631
1632 2002-02-08  Richard Henderson  <rth@redhat.com>
1633
1634         * sysdeps/generic/ldsodefs.h (struct rtld_global): Also include
1635         _dl_cpuclock_offset if HP_SMALL_TIMING_AVAIL.
1636
1637         * sysdeps/alpha/elf/initfini.c: Use \n\ for multiline string.
1638
1639 2002-02-09  Jakub Jelinek  <jakub@redhat.com>
1640
1641         * sysdeps/generic/dl-environ.c (unsetenv): Clear cnt before use.
1642
1643 2002-02-08  Ulrich Drepper  <drepper@redhat.com>
1644
1645         * po/ca.po: Update from translation team.
1646         * po/sk.po: Likewise.
1647
1648         * elf/rtld.c (_dl_start_final): Install DTV explicitly.
1649         (dl_main): Move dtv/static TLS handling before relocation.
1650         Unconditionally call _dl_tlsoffset.  Call _dl_allocate_tls and
1651         TLS_INIT_TP to allocate and install the dtv/static TLS block.
1652         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): If no object
1653         so far uses TLS initialize GL(dl_tls_static_size) and
1654         GL(dl_tls_static_align) to account for the TCB.
1655         (_dl_allocate_tls): New function.
1656         * sysdeps/generic/ldsodefs.h (rtld_global): Add
1657         _dl_initial_dtv_malloced.
1658
1659         * configure.in: Test for __builtin_memset more realistically.
1660
1661         * csu/version.c (banner): If TLS support is available say so.
1662
1663 2002-02-04  H.J. Lu  <hjl@gnu.org>
1664
1665         * sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use
1666         __attribute_used__.
1667         (__dl_runtime_resolve): Likewise.
1668
1669         * sysdeps/mips/machine-gmon.h (_MCOUNT_DECL): Make it a real
1670         declaration.
1671
1672 2001-11-15  H.J. Lu  <hjl@gnu.org>
1673
1674         * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Don't include
1675         <signal.h>, <sys/ucontext.h> nor <asm/elf.h>. Updated for gdb.
1676
1677         * sysdeps/unix/sysv/linux/mips/sys/user.h: New.
1678
1679 2002-02-07  H.J. Lu  <hjl@gnu.org>
1680
1681         * sysdeps/mips/atomicity.h (compare_and_swap): Remove
1682         ".set noreorder".
1683         * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set):
1684         Likewise.
1685
1686 2002-02-07  Ulrich Drepper  <drepper@redhat.com>
1687
1688         * sysdeps/unix/sysv/linux/bits/stat.h: Undo last patch.
1689
1690         * sysdeps/i386/dl-tls.h (__tls_get_addr): Call
1691         ___tls_get_addr_internal.
1692         (___tls_get_addr_internal): Define as alias for ___tls_get_addr.
1693
1694         * po/ko.po: Update from translation team.
1695
1696 2002-02-07  Jakub Jelinek  <jakub@redhat.com>
1697
1698         * sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Remove packed
1699         attribute, change __pad{1,2} type to unsigned int.
1700         (struct stat64): Remove packed attribute.
1701
1702 2002-02-07  Ulrich Drepper  <drepper@redhat.com>
1703
1704         * sysdeps/i386/dl-tls.h: No need for #ifdef USE_TLS.
1705
1706 2002-02-07  Andreas Schwab  <schwab@suse.de>
1707
1708         * configure.in: Fix check for -zcombreloc.
1709
1710 2002-02-06  H.J. Lu  <hjl@gnu.org>
1711
1712         * config.h.in (HAVE_BUILTIN_MEMSET): New.
1713         * configure.in: Check if __builtin_memset really works.
1714         * elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of
1715         __GNUC_PREREQ (2, 96) before using __builtin_memset.
1716
1717 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
1718
1719         * io/bug-ftw3.c (main): Don't try the test if root.
1720
1721 2002-02-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1722
1723         * sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly
1724         constraints.
1725         * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS):
1726         Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS.
1727         * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS):
1728         Likewise.
1729         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone
1730         a weak alias for __clone.
1731         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise.
1732         * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo.
1733         * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate.
1734         * sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file.
1735         * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap
1736         a weak alias for __mmap64.
1737
1738 2002-02-05  H.J. Lu  <hjl@gnu.org>
1739
1740         * sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely.
1741         (atomic_add): Likewise.
1742         (compare_and_swap): Likewise.
1743         * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise.
1744
1745 2002-02-07  Ulrich Drepper  <drepper@redhat.com>
1746
1747         * sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed.
1748
1749         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for
1750         alignment of the TCB and store total size and alignment of static
1751         TLS block in _dl_tls_static_size and _dl_tls_static_align.
1752         tls_index is a typedef.
1753         * sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and
1754         _dl_tls_static_align.
1755         * sysdeps/i386/dl-tls.h: tls_index is a typedef.
1756         * elf/dl-support.c: Define _dl_tls_static_size and
1757         _dl_tls_static_align.
1758
1759 2002-02-06  Ulrich Drepper  <drepper@redhat.com>
1760
1761         * configure.in: Add --without-tls option.
1762         * sysdeps/i386/elf/configure.in: Don't check for TLS support if
1763         --without-tls is given.
1764
1765         * sysdeps/generic/dl-tls.c: Include <tls.h>.
1766
1767         * sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS.
1768
1769 2002-02-06  Roland McGrath  <roland@frob.com>
1770
1771         * malloc/hooks.c [! HAVE_MREMAP]: Conditionalize unused decls.
1772         * malloc/malloc.c [! HAVE_MREMAP]: Likewise.
1773
1774         * scripts/versions.awk: Improve error message for missing version.
1775         Each version inherits from the last one only if they have the same
1776         nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z or FOO_x and FOO_y
1777         but not GLIBC_x and FOO_y.
1778
1779         * scripts/firstversions.awk: Handle libraries that don't have each
1780         particular version named in the third column of shlib-versions.
1781
1782         * scripts/firstversions.awk: Don't mess with GLIBC_PRIVATE.
1783
1784 2002-02-06  Ulrich Drepper  <drepper@redhat.com>
1785
1786         * Versions.def [ld]: Add GLIBC_2.3.
1787         * elf/Versions [ld]: Add __tls_get_addr to GLIBC_2.3.
1788         * elf/Makefile (dl-routines): Add dl-tls.
1789         (distribute): Add dl-tls.h.
1790         * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
1791         _dl_tls_module_cnt, add _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
1792         Add prototypes for _dl_next_tls_modid and _dl_determine_tlsoffset.
1793         * elf/dl-load.c (_dl_map_object_from_fd): Store alignment requirement
1794         along with the other info in the link map.  Change queueing of init
1795         images for double linked list.  Use _dl_next_tls_modid to compute
1796         l_tls_modid.
1797         * elf/rtld.c (_dl_start_final): Store alignment requirement
1798         along with the other info in rtld map and executable map.
1799         (dl_main): Add ld.so to the init image list if necessary.  Compute
1800         final module ID with _dl_next_tls_modid.
1801         * include/link.h (struct link_map): Add l_tls_previmage and
1802         l_tls_align.
1803         * eld/dl-support.c: Define _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
1804         * sysdeps/i386/elf/Versions: New file.
1805         * sysdeps/generic/dl-tls.c: New file.
1806         * sysdeps/generic/dl-tls.h: New file.
1807         * sysdeps/i386/dl-tls.h: New file.
1808
1809 2002-02-06  Roland McGrath  <roland@frob.com>
1810
1811         * sysdeps/unix/sysv/linux/netinet/ip.h: Moved to ...
1812         * sysdeps/generic/netinet/ip.h: ... here, replacing old file.
1813
1814 2002-01-05  Roland McGrath  <roland@frob.com>
1815
1816         * sysdeps/mach/configure.in: New file.
1817         * sysdeps/mach/configure: New generated file.
1818
1819         * mach/Makefile (user-interfaces): Remove default_pager_helper.
1820         It has never been used by anything.
1821
1822 2002-02-06  H.J. Lu  <hjl@gnu.org>
1823
1824         * sysdeps/mips/elf/ldsodefs.h: Make sure the right <ldsodefs.h>
1825         is included.
1826
1827 2002-02-06  Ulrich Drepper  <drepper@redhat.com>
1828
1829         * sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Add
1830         attribute((packed)) to counter stupid people misusing gcc options.
1831         (struct stat64): Likewise.
1832
1833 2002-02-05  Ulrich Drepper  <drepper@redhat.com>
1834
1835         * elf/rtld.c (dl_main): Correct indentation.  Use bool as type for
1836         the variables which are used as booleans.
1837
1838 2002-02-06  Andreas Jaeger  <aj@suse.de>
1839
1840         * include/libc-symbols.h (INTUSE): Renamed from INT.
1841         * elf/dl-deps.c: Change users.
1842         * sysdeps/generic/dl-sysdep.c: Likewise.
1843         * sysdeps/generic/dl-cache.c: Likewise.
1844         * elf/dl-reloc.c: Likewise.
1845         * elf/rtld.c: Likewise.
1846         * elf/dl-version.c: Likewise.
1847         * elf/dl-load.c: Likewise.
1848         * elf/dl-dst.h: Likewise.
1849         * elf/dl-init.c: Likewise.
1850         * elf/dl-error.c: Likewise.
1851         * elf/dl-fini.c: Likewise.
1852         * elf/dl-runtime.c: Likewise.
1853         * elf/do-lookup.h: Likewise.
1854
1855         * stdio-common/_itoa.h: Undefine SPECIAL to avoid duplicate
1856         definition.
1857         * stdio-common/_itowa.h: Likewise.
1858
1859 2002-02-05  Ulrich Drepper  <drepper@redhat.com>
1860
1861         * elf/dl-minimal.c: Define _itoa_lower_digits.
1862
1863         * elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have
1864         DT_FLAGS set.
1865
1866         * elf/dl-load.c (_dl_map_object_from_fd): Prevent dynamically
1867         loading modules with the DF_STATIC_TLS flag set.
1868         * elf/dynamic-link.h (elf_get_dynamic_info): Initialize l_flags
1869         element.
1870         * include/link.h (struct link_map): Add l_flags field.
1871         * elf/elf.h (DF_STATIC_TLS): New definition.
1872
1873         * dlfcn/Makefile: Add rules to build and run bug-dlopen1.
1874         * dlfcn/bug-dlopen1.c: New file.  By Bruno Haible.
1875
1876         * elf/rtld.c (process_dl_debug): Correct printing help message.
1877         * elf/dl-misc.c (_dl_debug_vdprintf): Implement precision handling
1878         for %s.
1879
1880         * inet/getnetgrent_r.c (innetgr): Add int* parameter to getfct
1881         definition and pass &errno in use of this variable.
1882         Reported by Simon Wilkinson <simon@sxw.org.uk> [PR libc/2911].
1883
1884 2002-02-04  Andreas Schwab  <schwab@suse.de>
1885
1886         * locale/programs/localedef.h (WITH_CUR_LOCALE): Define.
1887         * locale/programs/charmap-dir.c: Wrap calls that output messages
1888         with WITH_CUR_LOCALE.  Include "localedef.h" first.
1889         * locale/programs/charmap.c: Likewise.
1890         * locale/programs/ld-address.c: Likewise.
1891         * locale/programs/ld-collate.c: Likewise.
1892         * locale/programs/ld-ctype.c: Likewise.
1893         * locale/programs/ld-identification.c: Likewise.
1894         * locale/programs/ld-measurement.c: Likewise.
1895         * locale/programs/ld-messages.c: Likewise.
1896         * locale/programs/ld-monetary.c: Likewise.
1897         * locale/programs/ld-name.c: Likewise.
1898         * locale/programs/ld-numeric.c: Likewise.
1899         * locale/programs/ld-paper.c: Likewise.
1900         * locale/programs/ld-telephone.c: Likewise.
1901         * locale/programs/ld-time.c: Likewise.
1902         * locale/programs/linereader.c: Likewise.
1903         * locale/programs/linereader.h: Likewise.
1904         * locale/programs/localedef.c: Likewise.
1905         * locale/programs/locfile.c: Likewise.
1906         * locale/programs/repertoire.c: Likewise.
1907
1908 2002-02-05  Ulrich Drepper  <drepper@redhat.com>
1909
1910         * elf/rtld.c (_dl_start_final): Determine load address to locate
1911         ehdr with GL(dl_rtld_map).l_map_start.
1912
1913         * po/ca.po: Update from translation team.
1914
1915         * elf/rtld.c (dl_main): Read PT_TLS entry of the executable.
1916         * elf/dl-load.c (_dl_map_object_from_fd): Handle PT_TLS program
1917         header entry.
1918         * sysdeps/generic/ldsodefs.h (struct rtld_global): Add
1919         _dl_tls_module_cnt.
1920         * elf/dl-support.c: Define _dl_initimage_list and _dl_tls_module_cnt.
1921
1922 2002-02-04  Ulrich Drepper  <drepper@redhat.com>
1923
1924         * elf/rtld.c (_dl_start): Fill TLS values in link map for rtld.
1925         * include/link.h (struct link_map): Add various members for TLS
1926         information.
1927         * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
1928         _rtld_tlsoffset, add _dl_initimage_list.
1929         * sysdeps/i386/dl-lookupcfg.h: New file.
1930         * sysdeps/i386/dl-machine.h (elf_machine_rel): Implement missing
1931         TLS relocation.  When using TLS we now use RESOLVE_MAP.
1932         (elf_machine_rela): Use RESOLVE_MAP instead of RESOLVE_MAP if TLS
1933         is used.
1934
1935         * sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Mark as possibly
1936         unused.
1937
1938         * elf/rtld.c (_dl_start_final): Allocate TLS and initialize
1939         thread-pointer as soon as possible.
1940         * sysdeps/generic/ldsodefs.h: Include <tls.h>.  Define first TLS
1941         elements in rtld_global.
1942         * sysdeps/generic/tls.h: New file.
1943         * elf/Makefile (distribute): Add tls.h.
1944         * sysdeps/i386/dl-machine.h (elf_machine_rel): Add support for TLS
1945         relocations.  Not complete yet.
1946
1947         * resolv/resolv.h: Allow user to define __need_res_state and only
1948         define __res_start structure then.
1949         * include/resolv.h: Only declare functions if _RESOLV_H_ is defined.
1950
1951         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Move
1952         dl_cpuclock_offset initialization to _dl_start_final.
1953         (_dl_show_auxv): Avoid unnecessary sign extension.
1954         * elf/rtld.c (_dl_start_final): Initialize dl_cpuclock_offset.
1955
1956 2002-02-03  Ulrich Drepper  <drepper@redhat.com>
1957
1958         * config.h.in: Add HAVE_TLS_SUPPORT.
1959         * sysdeps/i386/elf/configure.in: New file.
1960
1961 2002-02-03  Andreas Schwab  <schwab@suse.de>
1962
1963         * sysdeps/posix/readv.c: Use ssize_t for bytes_read.
1964         * sysdeps/posix/writev.c: Use ssize_t for bytes_written.  Fix comment.
1965
1966 2002-02-03  Thorsten Kukuk  <kukuk@suse.de>
1967
1968         * sysdeps/posix/writev.c: Check for ssize_t overflow, don't use
1969         alloca if the memory reqirements are too high.
1970
1971 2002-02-03  Ulrich Drepper  <drepper@redhat.com>
1972
1973         * elf/dl-load.c (decompose_rpath): Avoid using strstr.
1974         * elf/dl-minimal.c (_strerror_r): Use _itoa instead of _itoa_word since
1975         the former is available anyway and speed isn't important here.
1976         * elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
1977         * elf/dl-version.c (match_symbol): Likewise.
1978         (_dl_check_map_versions): Likewise.
1979         * elf/rtld.c (process_envvars): Likewise.
1980         (print_statistics): Likewise.
1981         * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Likewise.
1982         * elf/dl-minimal.c (_itoa): Always define it.  Make it work for all
1983         bases.  Add assert to catch uses of unimplemented features.
1984         (__strsep): Add assert to catch uses of unimplemented features.
1985         * elf/dl-object.c (_dl_new_object): Don't use rawmemchr.  Use strchr
1986         and avoid inline optimization.
1987         * elf/rtld.c (process_envvars): Likewise.
1988         * elf/dl-open.c: Don't include <stdio-common/_itoa.h>.
1989         * elf/dl-profile.c (_dl_start_profile): Help compiler to avoid ffs.
1990         * elf/rtld.c (dl_main): Avoid strsep inline optimization.
1991
1992 2002-02-02  Ulrich Drepper  <drepper@redhat.com>
1993
1994         * stdio-common/_itoa.h: Minor simplifications of the code.
1995         * stdio-common/_itoa.c: Likewise.
1996
1997         * elf/dl-reloc.c (_dl_relocate_object): Use _dl_debug_printf
1998         instead of _dl_printf for debugging info output.
1999
2000         * manual/examples/mkfsock.c (make_named_socket): Make sure name is
2001         always NUL-terminated.  Patch by Chris D. Sloan <cds@cs.hmc.edu>.
2002
2003 2002-02-01  H.J. Lu  <hjl@gnu.org>
2004
2005         * sysdeps/mips/atomicity.h (exchange_and_add): Use branch likely.
2006         (atomic_add): Likewise.
2007         (compare_and_swap): Return 0 only when failed to compare. Use
2008         branch likely.
2009
2010         * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Use
2011         branch likely.
2012
2013 2002-02-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2014
2015         * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix a typo.
2016
2017 2002-02-02  Ulrich Drepper  <drepper@redhat.com>
2018
2019         * elf/dl-minimal.c (__strsep): New minimal implementation.
2020
2021 2002-02-02  Paul Eggert  <eggert@twinsun.com>
2022
2023         * src/mktime.c [defined DEBUG && STDC_HEADERS]: Include <string.h>.
2024         (__mktime_internal): If no tm_isdst is requested, prefer solutions
2025         with tm_isdst > 0 when the requested time falls within a
2026         spring-forward gap [PR libc/2894].
2027
2028 2002-02-03  Andreas Schwab  <schwab@suse.de>
2029
2030         * stdio-common/tst-rndseek.c: Increase timeout.
2031
2032 2002-02-02  Ulrich Drepper  <drepper@redhat.com>
2033
2034         Change ld.so to not use functions which are exported.  One cannot
2035         interpose them anyway.  Use INT() to mark uses, INTDEF() to mark
2036         definitions.
2037         * include/libc-symbols.h: Define INT and INTDEF.
2038         * sysdeps/generic/ldsodefs.h: Declare _dl_debug_printf_internal,
2039         _dl_signal_error_internal, _dl_map_object_internal,
2040         _dl_map_object_deps_internal, _dl_lookup_symbol_internal,
2041         _dl_lookup_versioned_symbol_internal,
2042         _dl_relocate_object_internal, _dl_debug_state_internal,
2043         _dl_start_profile_internal, and _dl_unload_cache_internal.
2044         * include/dlfcn.h: Declare _dl_catch_error_internal.
2045         * elf/rtld.c: Use INT for calls to any of the *_internal functions
2046         above.  Add INTDEF to function definitions.
2047         * elf/dl-debug.c: Likewise.
2048         * elf/dl-deps.c: Likewise.
2049         * elf/dl-dst.h: Likewise.
2050         * elf/dl-error.c: Likewise.
2051         * elf/dl-fini.c: Likewise.
2052         * elf/dl-init.c: Likewise.
2053         * elf/dl-load.c: Likewise.
2054         * elf/dl-lookup.c: Likewise.
2055         * elf/dl-misc.c: Likewise.
2056         * elf/dl-open.c: Likewise.
2057         * elf/dl-profile.c: Likewise.
2058         * elf/dl-reloc.c: Likewise.
2059         * elf/dl-runtime.c: Likewise.
2060         * elf/dl-version.c: Likewise.
2061         * elf/do-lookup.h: Likewise.
2062         * sysdeps/generic/dl-cache.c: Likewise.
2063         * sysdeps/generic/dl-sysdep.c: Likewise.
2064         * sysdeps/alpha/dl-machine.h (RTLD_START): Call _dl_init_internal
2065         instead of _dl_init.
2066         * sysdeps/arm/dl-machine.h: Likewise.
2067         * sysdeps/cris/dl-machine.h: Likewise.
2068         * sysdeps/hppa/dl-machine.h: Likewise.
2069         * sysdeps/i386/dl-machine.h: Likewise.
2070         * sysdeps/ia64/dl-machine.h: Likewise.
2071         * sysdeps/m68k/dl-machine.h: Likewise.
2072         * sysdeps/mips/dl-machine.h: Likewise.
2073         * sysdeps/mips/mips64/dl-machine.h: Likewise.
2074         * sysdeps/s390/s390-32/dl-machine.h: Likewise.
2075         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
2076         * sysdeps/sh/dl-machine.h: Likewise.
2077         * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
2078         * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
2079         * sysdeps/x86_64/dl-machine.h: Likewise.
2080         * sysdeps/powerpc/dl-start.S (_dl_start_user): Likewise.
2081
2082         * elf/Versions: Don't export _dl_check_all_versions, _dl_sysdep_start,
2083         and _dl_debug_initialize.
2084
2085         * elf/dl-object.c (_dl_new_object): Avoid using strrchr.  We have
2086         more information.
2087         * elf/rtld.c (dl_main): Avoid strrchr.
2088         * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use the
2089         result of readlink.  Search from the back for '/'.
2090
2091         * elf/dl-profile.c (_dl_start_profile): Help the compiler to avoid
2092         strncpy if possible.
2093
2094         * sysdeps/generic/dl-environ.c (unsetenv): Optimize.  Don't use
2095         strncmp.
2096         * elf/dl-load.c (is_dst): Optimize.  Don't call strncmp twice.
2097         * elf/rtld.c (process_dl_debug): Optimize. Avoid calls to strncmp,
2098         strspn, and strcspn.
2099         (process_envvars): Don't use strcspn.
2100
2101         * elf/dl-load.c (_dl_dst_count): Fix possible endless loop.
2102         (_dl_dst_substitute): Likewise.
2103
2104 2002-02-01  Ulrich Drepper  <drepper@redhat.com>
2105
2106         * elf/do-rel.h (elf_dynamic_do_rel): Help the compiler recognize
2107         code which is never used when relocating ld.so itself.
2108
2109         * elf/dynamic-link.h (elf_get_dynamic_info): Optimize a bit for
2110         starting ld.so itself.  Move l_addr variable initialization closer
2111         to use.
2112         (_ELF_DYNAMIC_DO_RELOC): Help the compiler optimize a bit.
2113
2114 2002-02-01  Jakub Jelinek  <jakub@redhat.com>
2115
2116         * Versions.def (libc): Add GLIBC_PRIVATE.
2117         (libdb, libnss_db, libdb1): Remove.
2118         (libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis,
2119         libnss_nisplus): Move all symbols to GLIBC_PRIVATE.
2120         (libpthread): Add GLIBC_PRIVATE.
2121         (libresolv): Likewise, remove GLIBC_2.1.
2122         (ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1,
2123         GLIBC_2.2.3, GLIBC_2.3.
2124         * catgets/Versions (__open_catalog): Move to GLIBC_PRIVATE.
2125         * elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first,
2126         _dl_sym, _dl_vsym): Likewise.
2127         (__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error,
2128         _dl_check_all_versions, _dl_check_map_versions, _dl_debug_initialize,
2129         _dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute,
2130         _dl_init, _dl_lookup_symbol, _dl_lookup_symbol_skip,
2131         _dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip,
2132         _dl_map_object, _dl_map_object_deps, _dl_out_of_memory,
2133         _dl_relocate_object, _dl_signal_error, _dl_start_profile,
2134         _dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global):
2135         Likewise.
2136         (_dl_object_relocation_scope): Remove.
2137         * hesiod/Versions: Move all symbols to GLIBC_PRIVATE.
2138         * iconv/Versions (__gconv_alias_db, __gconv_modules_db,
2139         __gconv_cache): Move to GLIBC_PRIVATE.
2140         * inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r,
2141         __internal_setnetgrent): Likewise.
2142         * io/Versions (__libc_open, __libc_close, __libc_read, __libc_write,
2143         __libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise.
2144         * locale/Versions (__collate_element_hash, __collate_element_strings,
2145         __collate_symbol_classes, __collate_symbol_hash,
2146         __collate_symbol_strings, _nl_current_LC_COLLATE,
2147         _nl_current_LC_CTYPE): Likewise.
2148         * misc/Versions (__libc_fsync, __libc_msync): Likewise.
2149         * nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE.
2150         (libnss_nis, libnss_nisplus): Likewise.
2151         * nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent,
2152         _nss_files_parse_spent): Move to GLIBC_PRIVATE.
2153         (libnss_files): Move all symbols to GLIBC_PRIVATE.
2154         * posix/Versions (__libc_wait, __libc_waitpid, __libc_pause,
2155         __libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64,
2156         __libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE.
2157         * resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop,
2158         __ns_get16, __ns_samename): Likewise.
2159         (libnss_dns): Move all symbols to GLIBC_PRIVATE.
2160         * setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to
2161         GLIBC_PRIVATE.
2162         * socket/Versions (__libc_accept, __libc_send, __libc_recvfrom,
2163         __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto,
2164         __libc_connect): Likewise.
2165         * stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits):
2166         Likewise.
2167         * stdlib/Versions (__libc_system): Likewise.
2168         * sunrpc/Versions (__rpc_thread_destroy): Likewise.
2169         * sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE.
2170         * sysdeps/ia64/fpu/Versions: Likewise.
2171         * sysdeps/ia64/Versions: Likewise.
2172         * sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
2173         * sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move
2174         to GLIBC_PRIVATE.
2175         * sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise.
2176         * sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo,
2177         __libc_sigaction): Likewise.
2178         * termios/Versions (__libc_tcdrain): Likewise.
2179
2180         * misc/sys/cdefs (__attribute_noinline__): Define.
2181         * elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add
2182         __attribute_noinline__.
2183
2184         * elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64.
2185         * elf/dl-xstat64.c: New file.
2186         * elf/dl-fxstat64.c: New file.
2187         * sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined,
2188         don't export __fxstat64 at multiple versions.
2189         * sysdeps/unix/sysv/linux/lxstat64.c: Similarly.
2190         * sysdeps/unix/sysv/linux/xstat64.c: Similarly.
2191
2192 2002-01-18  Isamu Hasegawa  <isamu@yamato.ibm.com>
2193
2194         * locale/program/ld-collate.c (collate_finish): Assign a wide
2195         char collation sequence value to multi character collating
2196         elements, and avoid over writing by non-character elements.
2197
2198 2002-02-01  Ulrich Drepper  <drepper@redhat.com>
2199
2200         * elf/Makefile (distribute): Add dl-procinfo.c.
2201         * sysdeps/unix/sysv/linux/i386/Dist: Remove dl-procinfo.c.
2202         * sysdeps/unix/sysv/linux/arm/Dist: Likewise.
2203
2204 2002-02-01  Jakub Jelinek  <jakub@redhat.com>
2205
2206         * sysdeps/generic/ldsodefs.h (_dl_load_lock): Remove duplicate
2207         definition.
2208         * sysdeps/ia64/hp-timing.h: Move _dl_hp_timing_overhead in
2209         _rtld_global struct.
2210         * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
2211         * sysdeps/sparc/sparc64/hp-timing.c: Likewise.
2212         * sysdeps/sparc/sparc64/hp-timing.h: Likewise.
2213         * sysdeps/sparc/sparc64/Makefile: Make hp-timing static only.
2214         * sysdeps/unix/sysv/aix/init-first.c (_dl_fpu_control,
2215         _dl_fpu_control_set): Remove unused externs.
2216         * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: New file.
2217         * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: New file.
2218         * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Move procinfo
2219         related variables in _rtld_global struct.
2220         * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
2221         * sysdeps/unix/sysv/linux/init-first.c (_dl_fpu_control_set): Remove
2222         unused extern.
2223
2224 2002-02-01  Ulrich Drepper  <drepper@redhat.com>
2225
2226         * sysdeps/generic/dl-procinfo.c: New file.
2227
2228 2002-02-01  Andreas Schwab  <schwab@suse.de>
2229
2230         * sysdeps/m68k/dl-machine.h: Don't use multi-line string literals.
2231
2232 2002-02-01  Ulrich Drepper  <drepper@redhat.com>
2233
2234         * elf/rtld.c (_dl_start): Mark as internal_function.
2235         * sysdeps/i386/dl-machine.h (RTLD_START): Pass parameter for _dl_start
2236         in register.
2237         (elf_machine_rel): Cleanup and minor optimization for RTLD_BOOTSTRAP.
2238         General pretty printing.
2239
2240 2002-01-31  Ulrich Drepper  <drepper@redhat.com>
2241
2242         * elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing.
2243         * elf/dl-reloc.c: Pretty printing.
2244         * sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and
2245         procinfo-related variables in rtld_global struct.
2246         * elf/dl-support.c: Likewise.
2247         * elf/rtld.c: Likewise.
2248         * sysdeps/i386/i686/Makefile: Likewise.
2249         * sysdeps/i386/i686/hp-timing.c: Likewise.
2250         * sysdeps/i386/i686/hp-timing.h: Likewise.
2251         * sysdeps/ia64/Makefile: Likewise.
2252         * sysdeps/ia64/hp-timing.c: Likewise.
2253         * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
2254         * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
2255         * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise.
2256         * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
2257         * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
2258         * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise.
2259         * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
2260         * sysdeps/x86_64/Makefile: Likewise.
2261
2262         * sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy,
2263         _dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and
2264         _dl_debug_fd to rtld_global.
2265         * elf/Versions: Likewise.
2266         * elf/dl-close.c: Likewise.
2267         * elf/dl-iteratephdr.c: Likewise.
2268         * elf/dl-lookup.c: Likewise.
2269         * elf/dl-misc.c: Likewise.
2270         * elf/dl-open.c: Likewise.
2271         * elf/dl-support.c: Likewise.
2272         * elf/do-lookup.h: Likewise.
2273         * elf/rtld.c: Likewise.
2274         * sysdeps/generic/dl-cache.c: Likewise.
2275         * sysdeps/generic/dl-sysdep.c: Likewise.
2276         * sysdeps/ia64/Versions: Likewise.
2277         * sysdeps/unix/clock_gettime.c: Likewise.
2278         * sysdeps/unix/clock_settime.c: Likewise.
2279         * sysdeps/unix/sysv/linux/init-first.c: Likewise.
2280         * sysdeps/sparc/Versions: Removed.
2281         * sysdeps/i386/i686/Versions : Removed.
2282         * sysdeps/x86_64/Versions: Removed.
2283         * configure.in: Define HAVE_PROTECTED if .protected is available.
2284         * config.h.in: Add entry for HAVE_PROTECTED.
2285
2286 2002-01-31  Jakub Jelinek  <jakub@redhat.com.
2287
2288         * sysdeps/alpha/dl-machine.h: Move global variables for SHARED
2289         code in struct _rtld_global.  Export this struct, remove all
2290         exports for the signal variables.
2291         * sysdeps/arm/dl-machine: Likewise.
2292         * sysdeps/generic/dl-origin: Likewise.
2293         * sysdeps/generic/dl-sysdep: Likewise.
2294         * sysdeps/generic/dl-cache: Likewise.
2295         * sysdeps/hppa/dl-fptr: Likewise.
2296         * sysdeps/hppa/dl-machine: Likewise.
2297         * sysdeps/cris/dl-machine: Likewise.
2298         * sysdeps/i386/dl-machine: Likewise.
2299         * sysdeps/ia64/dl-machine: Likewise.
2300         * sysdeps/m68k/dl-machine: Likewise.
2301         * sysdeps/mach/hurd/dl-sysdep: Likewise.
2302         * sysdeps/mips/mips64/dl-machine: Likewise.
2303         * sysdeps/mips/dl-machine: Likewise.
2304         * sysdeps/powerpc/elf/libc-start: Likewise.
2305         * sysdeps/powerpc/dl-machine: Likewise.
2306         * sysdeps/powerpc/dl-start: Likewise.
2307         * sysdeps/sparc/sparc32/dl-machine: Likewise.
2308         * sysdeps/sparc/sparc64/dl-machine: Likewise.
2309         * sysdeps/sh/dl-machine: Likewise.
2310         * sysdeps/s390/s390-32/dl-machine: Likewise.
2311         * sysdeps/s390/s390-64/dl-machine: Likewise.
2312         * sysdeps/unix/sysv/aix/libc-start: Likewise.
2313         * sysdeps/unix/sysv/aix/start-libc: Likewise.
2314         * sysdeps/unix/sysv/linux/ia64/dl-static: Likewise.
2315         * sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise.
2316         * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise.
2317         * sysdeps/x86_64/dl-machine: Likewise.
2318
2319 2002-01-31  Ulrich Drepper  <drepper@redhat.com>
2320
2321         * sysdeps/posix/readv.c: Don't use alloca if the memory requirements
2322         are too high.
2323
2324 2002-01-31  Andreas Schwab  <schwab@suse.de>
2325
2326         * sysdeps/posix/readv.c: Check for ssize_t overflow.
2327
2328 2002-01-31  Andreas Schwab  <schwab@suse.de>
2329
2330         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix leftover
2331         reference to _dl_pagesize.
2332
2333 2002-01-30  Ulrich Drepper  <drepper@redhat.com>
2334
2335         * Versions.def [ld]: Add GLIBC_2.3.
2336         * elf/dl-addr.c: Move global variables for SHARED code in struct
2337         _rtld_global.  Export this struct, remove all exports for the
2338         signal variables.
2339         * elf/dl-close.c: Likewise.
2340         * elf/dl-conflict.c: Likewise.
2341         * elf/dl-debug.c: Likewise.
2342         * elf/dl-deps.c: Likewise.
2343         * elf/dl-dst.h: Likewise.
2344         * elf/dl-error.c: Likewise.
2345         * elf/dl-fini.c: Likewise.
2346         * elf/dl-init.c: Likewise.
2347         * elf/dl-iteratephdr.c: Likewise.
2348         * elf/dl-libc.c: Likewise.
2349         * elf/dl-load.c: Likewise.
2350         * elf/dl-lookup.c: Likewise.
2351         * elf/dl-minimal.c: Likewise.
2352         * elf/dl-object.c: Likewise.
2353         * elf/dl-open.c: Likewise.
2354         * elf/dl-profile.c: Likewise.
2355         * elf/dl-profstub.c: Likewise.
2356         * elf/dl-reloc.c: Likewise.
2357         * elf/dl-runtime.c: Likewise.
2358         * elf/dl-support.c: Likewise.
2359         * elf/dl-sym.c: Likewise.
2360         * elf/dl-version.c: Likewise.
2361         * elf/do-lookup.h: Likewise.
2362         * elf/do-rel.h: Likewise.
2363         * elf/dynamic-link.h: Likewise.
2364         * elf/rtld.c: Likewise.
2365         * sysdeps/generic/dl-cache.c: Likewise.
2366         * sysdeps/generic/dl-sysdep.c: Likewise.
2367         * sysdeps/generic/ldsodefs.h: Likewise.
2368         * sysdeps/generic/libc-start.c: Likewise.
2369         * sysdeps/i386/dl-machine.h: Likewise.
2370         * sysdeps/ia64/dl-fptr.c: Likewise.
2371         * sysdeps/ia64/dl-machine.h: Likewise.
2372         * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
2373         * sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
2374         * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
2375         * sysdeps/unix/sysv/linux/getclktck.c: Likewise.
2376         * sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
2377         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
2378         * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise.
2379         * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.
2380
2381 2002-01-29  Ulrich Drepper  <drepper@redhat.com>
2382
2383         * sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): Add cast
2384         to avoid warning
2385         (DL_STATIC_FUNCTION_ADDRESS): Likewise.
2386
2387         * elf/dl-lookup.c: Only define or handle _dl_num_relocations for the
2388         SHARED version.
2389         * elf/dl-reloc.c: Likewise for _dl_num_cache_relocations.
2390
2391         * elf/rtld.c (_dl_start): Use __builtin_memset if available.
2392
2393 2002-01-29  Ben Collins  <bcollins@debian.org>
2394
2395         * string/bits/string2.h (__mempcpy): Protect size arg for
2396         addition when using __builtin_memcpy.
2397
2398 2002-01-29  Ulrich Drepper  <drepper@redhat.com>
2399
2400         * stdlib/Makefile (tests): Add tst-qsort.
2401         * stdlib/tst-qsort.c: New file.  Written by Paul Eggert.
2402
2403         * manual/signal.texi (Process Signal Mask): Document that
2404         pthread_sigmask, not sigprocmask, must be used in MT programs.
2405         Patch by Bertold Kolics <Bertold.Kolics@Sun.COM>.
2406
2407         * misc/hsearch_r.c (hsearch_r): Don't insert anything if entry is
2408         found.
2409         * misc/Makefile (tests): Add tst-hsearch.
2410         * misc/tst-hsearch.c: New file.
2411
2412 2002-01-18  Wolfram Gloger  <wg@malloc.de>
2413
2414         * malloc/malloc.c: Rewrite, adapted from Doug Lea's malloc-2.7.0.c.
2415         * malloc/malloc.h: Likewise.
2416         * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2417         * malloc/arena.c: New file.
2418         * malloc/hooks.c: New file.
2419         * malloc/tst-mallocstate.c: New file.
2420         * malloc/Makefile: Add new testcase tst-mallocstate.
2421         Add arena.c and hooks.c to distribute.  Fix commented CPPFLAGS.
2422
2423 2002-01-28  Ulrich Drepper  <drepper@redhat.com>
2424
2425         * stdlib/msort.c: Remove last patch.  The optimization violates the
2426         same rule which qsort.c had problems with.
2427
2428 2002-01-27  Paul Eggert  <eggert@twinsun.com>
2429
2430         * stdlib/qsort.c (_quicksort): Do not apply the comparison function
2431         to a pivot element that lies outside the array to be sorted, as
2432         ISO C99 requires that the comparison function be called only with
2433         addresses of array elements [PR libc/2880].
2434
2435 2002-01-28  Ulrich Drepper  <drepper@redhat.com>
2436
2437         * elf/dl-load.c (_dl_map_object): Remove incorrect optimization
2438         for SHARED code.  Reported by Ben Collins <bcollins@debian.org>.
2439
2440         * timezone/asia: Update from tzdata2002b.
2441         * timezone/australasia: Likewise.
2442         * timezone/backward: Likewise.
2443         * timezone/europe: Likewise.
2444         * timezone/leapseconds: Likewise.
2445         * timezone/iso3166.tab: Likewise.
2446         * timezone/zone.tab: Likewise.
2447
2448 2002-01-23  Richard Henderson  <rth@redhat.com>
2449
2450         * sysdeps/alpha/Makefile (pic-ccflag): New variable.
2451
2452 2002-01-28  Ulrich Drepper  <drepper@redhat.com>
2453
2454         * string/strxfrm.c: Allocate one more byte for rulearr and clear
2455         this element [PR libc/2855].
2456
2457         * string/strcoll.c: Handle zero-length arguments specially
2458         [PR libc/2856].
2459
2460 2002-01-23  Jakub Jelinek  <jakub@redhat.com>
2461
2462         * string/bits/string2.h (__mempcpy): For gcc 3.0+, don't use
2463         __mempcpy_small but instead use __builtin_memcpy ( , , n) + n for
2464         short lengths and constant src.
2465         (strcpy): Don't optimize for gcc 3.0+.
2466         (__stpcpy): For gcc 3.0+, don't use
2467         __stpcpy_small but instead use __builtin_strcpy (, src) + strlen (src)
2468         for short string literal src.
2469
2470 2002-01-23  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2471
2472         * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde):
2473         Set for arm, too.
2474
2475 2001-01-22  Paul Eggert  <eggert@twinsun.com>
2476
2477         * manual/llio.texi (Linked Channels, Cleaning Streams):
2478         Make it clearer that a just-opened input stream might need cleaning.
2479
2480 2002-01-21  H.J. Lu  <hjl@gnu.org>
2481
2482         * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
2483         Don't use label at end of compound statement.
2484
2485 2002-01-28  Stephen L Moshier  <moshier@mediaone.net>
2486
2487         * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (__ieee754_lgammal_r):
2488         Remove test for negative integer arg; sin_pi does it correctly.
2489
2490 2002-01-20  Ulrich Drepper  <drepper@redhat.com>
2491
2492         * nscd/Makefile (distribute): Filter out xmalloc.c.
2493
2494 2002-01-19  Ulrich Drepper  <drepper@redhat.com>
2495
2496         * libio/fileops.c (_IO_file_underflow_mmap): Don't define as static.
2497         Set offset if read end wasn't the buffer end.
2498         (_IO_file_seekoff_mmap): New function.
2499         (_IO_file_xsgetn_mmap): New function.
2500         (_IO_file_jumps_mmap): Use the two new functions.
2501         * libio/wfileops.c (_IO_wfile_underflow_mmap): Handle end read buffer
2502         != end buffer.
2503         * libio/libioP.h: Declare _IO_file_seekoff_mmap and
2504         _IO_file_underflow_mmap.
2505         * libio/iofopen.c: Don't position file descriptor at end of file.
2506         * libio/tst-widetext.c: Improve error messages.
2507         * stdio-common/tst-rndseek.c: Likewise.
2508
2509 2002-01-18  Ulrich Drepper  <drepper@redhat.com>
2510
2511         * sysdeps/unix/sysv/linux/bits/statvfs.h: Avoid warning about comma at
2512         end of enum for !_GNU_SOURCE.
2513         * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: Likewise.
2514         * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: Likewise.
2515         * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Likewise.
2516         * sysdeps/mach/hurd/bits/statvfs.h: Don't define non-standard ST_*
2517         values unless _GNU_SOURCE.
2518
2519         * iconvdata/tcvn5712-1.c: Minor cleanups.
2520
2521 2002-01-18  Andreas Schwab  <schwab@suse.de>
2522
2523         * sysdeps/unix/sysv/linux/configure.in
2524         (libc_cv_gcc_unwind_find_fde): Set for m68k, too.
2525
2526 2002-01-16  Roger Sayle  <roger@eyesopen.com>
2527
2528         * stdlib/msort.c (msort_with_tmp): Replace implementation with
2529         more efficient "Towers of Hanoi" mergesort.
2530         (hanoi_sort, hanoi_sort_int, hanoi_sort_long): New functions,
2531         for generic, sizeof(int) and sizeof(long) variants respectively.
2532
2533 2002-01-17  Ulrich Drepper  <drepper@redhat.com>
2534
2535         * manual/syslog.texi (openlog): Describe possible problems with
2536         first parameter.
2537         Patch by Christopher Allen Wing <wingc@engin.umich.edu>.
2538
2539         * nscd/nscd.c (drop_privileges): Removed.  Adjust caller.
2540         * nscd/connections.c (begin_drop_privileges): New function.
2541         (finish_drop_privileges): New function.
2542         (nscd_init): Call the new functions which also install all groups
2543         for the server user.
2544         * nscd/Makefile (nscd-modules): Add xmalloc for nscd.
2545         Patch by Christopher Allen Wing <wingc@engin.umich.edu>.
2546
2547 2002-01-17  H.J. Lu  <hjl@gnu.org>
2548
2549         * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Remove
2550         `const' from `got'.
2551
2552 2002-01-17  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2553
2554         * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Use 64 bit
2555         instructions for pointer operations.
2556         * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: Likewise.
2557
2558 2002-01-17  Andreas Jaeger  <aj@suse.de>
2559
2560         * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: GCC 3.1 has
2561         __uint128_t build-in.
2562
2563         * sysdeps/unix/sysv/linux/configure.in: Fix check for S390 and
2564         PowerPC, sync with 2.2 branch.
2565
2566 2002-01-16  Ulrich Drepper  <drepper@redhat.com>
2567
2568         * posix/getconf.c: Update copyright year.
2569         * nss/getent.c: Likewise.
2570         * nscd/nscd_nischeck.c: Likewise.
2571         * iconv/iconvconfig.c: Likewise.
2572         * iconv/iconv_prog.c: Likewise.
2573         * elf/ldconfig.c: Likewise.
2574         * catgets/gencat.c: Likewise.
2575         * csu/version.c: Likewise.
2576         * elf/ldd.bash.in: Likewise.
2577         * elf/sprof.c (print_version): Likewise.
2578         * locale/programs/locale.c: Likewise.
2579         * locale/programs/localedef.c: Likewise.
2580         * nscd/nscd.c (print_version): Likewise.
2581         * debug/xtrace.sh: Likewise.
2582         * malloc/memusage.sh: Likewise.
2583         * malloc/mtrace.pl: Likewise.
2584
2585 2002-01-16  Andreas Schwab  <schwab@suse.de>
2586
2587         * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Fix regexp to
2588         reliably remove "-ia64" from rtld name.
2589
2590 2002-01-16  Ulrich Drepper  <drepper@redhat.com>
2591
2592         * iconvdata/gb18030.c: Bug fixes and support for more characters.
2593         Patch by Yu Shao <yshao@redhat.com>.
2594
2595 2002-01-16  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2596
2597         * sysdeps/unix/sysv/linux/s390/swapcontext.c: Remove.
2598         * sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S: New file.
2599         * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: New file.
2600
2601 2002-01-14  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2602
2603         * sysdeps/s390/fpu/libm-test-ulps: Update.
2604
2605 2002-01-11  Ulrich Drepper  <drepper@redhat.com>
2606
2607         * elf/elf.h: Update x86 relocations.
2608
2609 2002-01-10  Ulrich Drepper  <drepper@redhat.com>
2610
2611         * locale/programs/charmap.c (new_width): Check whether byte
2612         sequences for both ends of range have the same length.
2613
2614 2002-01-09  Jakub Jelinek  <jakub@redhat.com>
2615
2616         * elf/elf.h (SHN_UNDEF): Remove duplicate definition.
2617
2618 2002-01-09  Jakub Jelinek  <jakub@redhat.com>
2619
2620         * sysdeps/alpha/fpu/e_sqrt.c (__ieee754_sqrt): Don't use multi-line
2621         string literals.
2622         (__full_ieee754_sqrt): Add __attribute_used__.
2623
2624 2002-01-10  Ulrich Drepper  <drepper@redhat.com>
2625
2626         * sysdeps/generic/group_member.c (__group_member): Also check
2627         groups[0] [PR libc/2781].
2628
2629 2002-01-08  Ulrich Drepper  <drepper@redhat.com>
2630
2631         * Makefile (distribute): Add scripts/cpp.
2632         * elf/Makefile (distribute): Add reldep6mod[01234].c,
2633         unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h,
2634         unwind-dw2-fde.h, and dwarf2.h.
2635         * sysdeps/unix/bsd/bsd4.4/Dist: New file.
2636         * sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c.
2637         * sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed.
2638         * sysdeps/unix/sysv/linux/s390/Dist: Likewise.
2639
2640 2002-01-07  Roland McGrath  <roland@frob.com>
2641
2642         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Use
2643         volatile on type of ARGC so the compiler doesn't get clever.
2644
2645 2002-01-07  Andreas Jaeger  <aj@suse.de>
2646
2647         * sysdeps/generic/bits/byteswap.h: Prevent double inclusion.
2648         * sysdeps/i386/bits/byteswap.h: Likewise.
2649         * sysdeps/ia64/bits/byteswap.h: Likewise.
2650         * sysdeps/m68k/bits/byteswap.h: Likewise.
2651         * sysdeps/s390/s390-32/bits/byteswap.h: Likewise.
2652         * sysdeps/s390/s390-64/bits/byteswap.h: Likewise.
2653
2654 2002-01-02  Bruno Haible  <bruno@clisp.org>
2655
2656         * intl/plural.y: Fix %expect count.
2657
2658 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
2659
2660         * elf/Makefile (routines, shared-only-routines): Add
2661         unwind-dw2-fde-glibc instead of unwind-dw2-fde.
2662         * elf/elf.h (PT_GNU_EH_FRAME): Define.
2663         * sysdeps/generic/unwind-dw2-fde-glibc.c: New file.
2664         * sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases):
2665         Optimize if .eh_frame section contains no FDEs.
2666         (__register_frame, __deregister_frame_info_bases,
2667         __deregister_frame): Likewise.
2668         * sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix
2669         DW_CFA_restore handling.
2670
2671 2002-01-07  Stephen L Moshier  <moshier@mediaone.net>
2672
2673         * sysdeps/ieee754/ldbl-96/s_erfl.c (erfcl): Fix K&R header.
2674
2675         * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Fix typo in test
2676         for x < 0.25 and restore original range reduction method.
2677         (__ieee754_lgammal_r): Make sure signgam is set before returning.
2678
2679 2002-01-07  Ulrich Drepper  <drepper@redhat.com>
2680
2681         * libio/fileops.c (_IO_file_underflow_mmap): New function.
2682         (_IO_file_close_mmap): New function.
2683         (_IO_file_jumps_mmap): New variable.
2684         * libio/wfileops.c (_IO_wfile_underflow): Reset read pointer before
2685         trying to convert rest of byte buffer.
2686         (_IO_wfile_underflow_mmap): New function.
2687         (_IO_wfile_jumps_mmap): New variable.
2688         * libio/iofopen.c (__fopen_maybe_mmap): New function.
2689         (__fopen_internal): New function.  Split out from _IO_new_fopen.
2690         (_IO_new_fopen): Call __fopen_internal.
2691         * libio/iofopen64.c: Just call __fopen_internal.
2692         * libio/iofdopen.c: Call __fopen_maybe_mmap before returning
2693         successfully.
2694         * libio/iolibio.h: Declare __fopen_internal and __fopen_maybe_mmap.
2695         * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps_mmap,
2696         _IO_file_close_mmap.
2697
2698         * sysdeps/gnu/_G_config.h: Define _G_MMAP64.
2699         * sysdeps/unix/sysv/linux/cris/_G_config.h: Likewise.
2700
2701         * stdio-common/Makefile (tests): Add tst-rndseek.
2702         * stdio-common/tst-rndseek.c: New file.
2703
2704 2002-01-05  Roland McGrath  <roland@frob.com>
2705
2706         * config.h.in (HAVE_MIG_RETCODE): New #undef.
2707         * sysdeps/mach/hurd/configure.in (hurd_MIG_RETCODE: New macro
2708         swiped from hurd package's aclocal.m4; use it to set HAVE_MIG_RETCODE.
2709         * sysdeps/mach/hurd/configure: Regenerated.
2710
2711 2002-01-03  Ulrich Drepper  <drepper@redhat.com>
2712
2713         * elf/elf.h: Add more TLS definitions.
2714
2715 2002-01-02  Ulrich Drepper  <drepper@redhat.com>
2716
2717         * include/features.h (__GLIBC_MINOR__): Bump to 3.
2718
2719 2002-01-02  Roland McGrath  <roland@frob.com>
2720
2721         * sysdeps/mach/hurd/sigwait.c (__sigwait): Use __sigandset,
2722         __sigisemptyset.  Don't use MASK uninitialized.
2723
2724         * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Use __sigorset.
2725         * hurd/hurdinit.c (_hurd_new_proc_init): Use __sigisemptyset.
2726         * hurd/hurdsig.c (_hurd_internal_post_signal): Use __sigismember,
2727         __sigdelset, __sigaddset, __sigorset.
2728
2729         * sysdeps/generic/htonl.c: Use uint32_t instead of u_int32_t.
2730         * sysdeps/generic/htons.c: Use uint16_t instead of u_int16_t.
2731
2732         * hurd/hurdinit.c (_hurd_ports_use): Return EGRATUITOUS when
2733         _hurd_ports is null.
2734
2735         * hurd/hurdsig.c (_hurdsig_init): Conditionalize exception port setup
2736         for old CMU and new OSF Mach interface flavors.
2737         * hurd/hurdfault.c (_hurdsig_fault_init): Likewise.
2738         * sysdeps/mach/hurd/fork.c (__fork): Likewise.
2739
2740         * hurd/hurdsig.c (_hurd_internal_post_signal): Leave msgh_seqno unset.
2741
2742         * sysdeps/mach/hurd/spawni.c (__spawni) [KERN_INVALID_LEDGER]:
2743         Pass extra arguments to task_create for OSF variant.
2744         * sysdeps/mach/hurd/fork.c (__fork): Likewise.
2745
2746         * sysdeps/powerpc/elf/libc-start.c: Make AUXVEC diddling code
2747         conditional on [HAVE_AUX_VECTOR].
2748
2749         * mach/mach/mach_traps.h (thread_switch, __thread_switch): Use
2750         mach_msg_timeout_t as type of final argument.
2751
2752         * hurd/privports.c (__get_privileged_ports):
2753         Change host_priv_t to mach_port_t in argument type.
2754         * hurd/hurd.h (get_privileged_ports, __get_privileged_ports):
2755         Update decls.
2756
2757         * sysdeps/mach/hurd/i386/bits/sigcontext.h: Protect from
2758         multiple inclusion.  Inhibit #error under [_SYS_UCONTEXT_H].
2759         * sysdeps/mach/hurd/alpha/bits/sigcontext.h: Likewise.
2760         * sysdeps/mach/hurd/hppa/bits/sigcontext.h: Likewise.
2761         * sysdeps/mach/hurd/mips/bits/sigcontext.h: Likewise.
2762         * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
2763
2764 2002-01-01  Roland McGrath  <roland@frob.com>
2765
2766         * sysdeps/mach/hurd/errnos.awk: Tighten up device_types.h matching.
2767
2768 2002-01-01  Ulrich Drepper  <drepper@redhat.com>
2769
2770         * include/stdlib.h: Define inlines for the _l variants of the strto*
2771         functions.
2772
2773 2002-01-01  Roland McGrath  <roland@frob.com>
2774
2775         * sysdeps/mach/hurd/powerpc/intr-msg.h: Remove extraneous backslash.
2776
2777         * mach/Machrules (MIG): Set CPP as well as CC.
2778
2779 2001-12-31  Ulrich Drepper  <drepper@redhat.com>
2780
2781         * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Always use C
2782         locale to parse /proc/loadavg [PR libc/2760].
2783
2784 2001-12-31  Jakub Jelinek  <jakub@redhat.com>
2785
2786         * elf/dl-conflict.c: Include sys/param.h.
2787         (RESOLVE_CONFLICT_FIND_MAP): Cast r_offset to ElfW(Addr).
2788         * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Avoid
2789         warning.
2790         (TRAMPOLINE_TEMPLATE, RTLD_START): Don't use multi-line string
2791         literals to avoid warnings.
2792
2793 2001-12-31  Andreas Jaeger  <aj@suse.de>
2794
2795         * configure.in: Don't check for gsed since we do not use it anywhere.
2796
2797 2001-12-25  Dmitry V. Levin  <ldv@alt-linux.org>
2798
2799         * io/fts.c: Update from BSD to fix memory leaks.
2800
2801 2001-12-25  Dmitry V. Levin  <ldv@alt-linux.org>
2802
2803         * crypt/md5-crypt.c: Realloc error handling memory leak fix.
2804         * elf/chroot_canon.c: Likewise.
2805         * elf/dl-object.c: Likewise.
2806         * iconv/iconv_charmap.c: Likewise.
2807         * iconv/iconv_prog.c: Likewise.
2808         * libio/iogetdelim.c: Likewise.
2809         * locale/lc-time.c: Likewise.
2810         * stdlib/canonicalize.c: Likewise.
2811         * sunrpc/svc.c: Likewise.
2812         * sysdeps/generic/glob.c: Likewise.
2813
2814 2001-12-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2815
2816         * sysdeps/unix/sysv/linux/s390/profil-counter.h: Move/copy to ...
2817         * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: ... here,
2818         remove high order bit from the program counter.
2819         * sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h: ... and here.
2820
2821 2001-12-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2822
2823         * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove
2824         unnecessary code and add missing reloc types.
2825         * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Add empty
2826         case for reloc type R_390_NONE.
2827
2828 2001-12-28  Andreas Jaeger  <aj@suse.de>
2829
2830         * io/bug-ftw3.c: Include string.h for prototypes.
2831
2832         * crypt/md5test.c (main): Remove unused variable.
2833
2834         * dlfcn/modstatic.c: Add prototype to avoid warning.
2835
2836 2001-12-26  Roland McGrath  <roland@frob.com>
2837
2838         * sysdeps/mach/hurd/sigwait.c (__sigwait): When returning immediately,
2839         check only (SS->pending & MASK) for the signal to return.
2840         From Jeroen Dekkers <jeroen@dekkers.cx>.
2841
2842 2001-12-22  Roland McGrath  <roland@frob.com>
2843
2844         * iconv/skeleton.c [!RESET_INPUT_BUFFER && !SAVE_RESET_STATE]:
2845         Use preprocessor #if conditionals instead of `if' to avoid
2846         warnings about divide by zero in dead code.
2847
2848         * hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set,
2849         _hurd_port_init, and __hurd_self_sigstate.
2850
2851         * mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy.
2852
2853 2001-12-21  Andreas Jaeger  <aj@suse.de>
2854
2855         * elf/dblloadmod1.c: Add prototype to avoid warning.
2856         * elf/dblloadmod2.c: Likewise.
2857         * elf/dblloadmod3.c: Likewise.
2858         * elf/reldepmod5.c: Likewise.
2859         * elf/reldepmod6.c: Likewise.
2860
2861         * elf/dl-conflict.c (_dl_resolve_conflicts): Add unused attribute
2862         for resolve_conflict_map since RESOLVE_CONFLICT_FIND_MAP is not
2863         used on all architectures.
2864
2865         * sunrpc/svc_tcp.c: Add noreturn attribute for
2866         svctcp_rendezvous_abort.
2867         * sunrpc/svc_unix.c: Likewise for svcunix_rendezvous_abort.
2868
2869         * sysdeps/generic/strstr.c (strstr): Add paranthese for assignment
2870         to avoid warning.
2871
2872 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
2873
2874         * manual/llio.texi (aio_fsync): Fix a typo.
2875         Patch by Tammy Fox <tfox@redhat.com>.
2876
2877 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
2878
2879         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (clone): Subtract
2880         stack bias from child stack pointer before passing it to clone syscall.
2881
2882 2001-12-18  Ulrich Drepper  <drepper@redhat.com>
2883
2884         * sysdeps/posix/sysconf.c (__sysconf): Respect POSIX minimum for
2885         _SC_TZNAME_MAX.
2886         * sysdeps/generic/sysconf.c (__sysconf): Likewise.
2887         Reported by Thorsten Kukuk <kukuk@suse.de>.
2888
2889         * sysdeps/unix/grantpt.c (grantpt): Correct typo in comment and
2890         add some casts.
2891
2892         * sysdeps/unix/sysv/linux/grantpt.c: Make __unix_grantpt static.
2893
2894 2001-12-18  Thorsten Kukuk  <kukuk@suse.de>
2895
2896         * sysdeps/unix/sysv/linux/grantpt.c: Make errno results standard
2897         conforming: return EBADF if file descriptor is invalid and EINVAL
2898         if file descriptor is no valid tty.
2899         * login/tst-grantpt.c: New file.
2900         * login/Makefile (tests): Add tst-grantpt.
2901
2902 2001-12-17  Ulrich Drepper  <drepper@redhat.com>
2903
2904         * io/ftw.c (ftw_dir): Handle inaccessibility of toplevel dir
2905         different than implemented in last patch.
2906         * io/bug-ftw3.c: Adjust test for changed handling of
2907         inaccessibility of toplevel dir.
2908
2909 2001-12-16  Roland McGrath  <roland@frob.com>
2910
2911         * nss/nsswitch.c (__nss_next): Don't use __FUNCTION__ as literal.
2912         * grp/initgroups.c (internal_getgrouplist): Likewise.
2913
2914         * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add `break' after
2915         `default:' to silence new GCC warning.
2916         Rewrite cast of lvalue to silence new GCC warning.
2917
2918         * sysdeps/mach/hurd/i386/init-first.c: Avoid multi-line strings in asm.
2919
2920         * sysdeps/mach/hurd/spawni.c: New file, by me with a
2921         couple fixes by Neal H Walfield <neal@cs.uml.edu>.
2922
2923 2001-12-14  Ulrich Drepper  <drepper@redhat.com>
2924
2925         * sysdeps/generic/strstr.c (strstr): Update.  New optimized version.
2926         Patch by Stephen R. van den Berg.
2927
2928         * crypt/md5.h: Define md5_uintptr.
2929
2930 2001-12-13  Ulrich Drepper  <drepper@redhat.com>
2931
2932         * libio/tst_swprintf.c (main): Add test for string argument with
2933         zero precision.
2934         * stdio-common/Makefile (tests): Add tst-sprintf.
2935         * stdio-common/tst-sprintf.c: New file.
2936
2937 2001-12-13  Andreas Schwab  <schwab@suse.de>
2938
2939         * stdio-common/vfprintf.c (process_string_arg): Correctly handle
2940         zero precision with wide character string format.
2941
2942 2001-12-13  Thorsten Kukuk  <kukuk@suse.de>
2943
2944         * sysdeps/posix/cuserid.c (cuserid): If we don't find the UID,
2945         but have a user supplied buffer, return the empty buffer, not NULL.
2946
2947 2001-12-13  Ulrich Drepper  <drepper@redhat.com>
2948
2949         * crypt/md5.c (md5_process_bytes): Correct handling of alignment.
2950         Patch by Eric Sharkey <sharkey@netrics.com>.
2951
2952         * crypt/md5test.c (main): Add test for multiple calls to
2953         __md5_process_bytes to itererate over input string.
2954
2955 2001-12-12  Ulrich Drepper  <drepper@redhat.com>
2956
2957         * nis/nis_findserv.c (__nis_findfastest_with_timeout): Mostly the code
2958         from __nis_findfastest.  Take timeout value from parameter.
2959         (__nis_findfastest): Call __nis_findfastest_with_timeout repeatedly.
2960         * nis/nis_intern.h: Define parameters controlling __nis_findfastest
2961         [PR libc/2520].  Patch by Alexander Belopolsky <alexb@rentec.com>.
2962
2963 2001-12-12  Andreas Jaeger  <aj@suse.de>
2964
2965         * configure.in: Use -nostartfiles -nostdlib for linker tests, fix
2966         combreloc test so that it works in this case.
2967
2968         * sysdeps/arm/dl-machine.h (elf_machine_rela): Fix typo in last patch.
2969
2970 2001-12-12  NIIBE Yutaka  <gniibe@m17n.org>
2971
2972         * sysdeps/sh/Makefile: New file.
2973         * sysdeps/sh/_mcount.S: New file.
2974         * sysdeps/sh/sysdep.h (CALL_MCOUNT): Implemented.
2975         * sysdeps/sh/machine-gmon.h: Remove "NOTYET" comment, as we are ready.
2976
2977 2001-12-11  Ulrich Drepper  <drepper@redhat.com>
2978
2979         * resolv/nss_dns/dns-host.c (getanswer_r): Remove MAX_NR_ADDRS
2980         limitation [PR libc/2564].
2981
2982 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
2983
2984         * elf/Makefile (dl-routines): Add conflict.
2985         (rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove.
2986         (ld.so): Add _begin local symbol.
2987         * elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM):
2988         Define.
2989         * elf/dl-deps.c (_dl_build_local_scope): New.
2990         (_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes
2991         of all libraries.
2992         * elf/do-rel.h (VALIDX): Define.
2993         (elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do
2994         lazy binding for RELA.  If DT_GNU_PRELINKED, DT_RELACOUNT relocations
2995         can be skipped.
2996         * elf/dl-conflict.c: New file.
2997         * elf/dl-lookup.c (_dl_debug_bindings): New.
2998         (_dl_lookup_symbol): Use _dl_debug_bindings.  Reference_name is always
2999         non-NULL.
3000         (_dl_lookup_symbol_skip): Likewise.
3001         (_dl_lookup_versioned_symbol): Likewise.
3002         (_dl_lookup_versioned_symbol_skip): Likewise.
3003         * elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined,
3004         define to ElfW(Rel).
3005         * elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic
3006         tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI
3007         ranges.
3008         Don't adjust address dynamic tags if l_addr is 0.
3009         * elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables.
3010         (_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked.
3011         (VALIDX, ADDRIDX): Define.
3012         (_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end.
3013         (dl_main): Print library list for LD_TRACE_PRELINKING.
3014         If prelinking information can be used, skip relocating libraries and
3015         call _dl_resolve_conflicts instead.
3016         (process_envvars): Handle LD_TRACE_PRELINKING envvar.
3017         * elf/dl-load.c (_dl_map_object): Don't create fake libs
3018         if LD_TRACE_PRELINKING.
3019         * include/link.h (struct link_map) [l_info]: Add DT_VALNUM
3020         + DT_ADDRNUM.
3021         * sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration.
3022         (DL_DEBUG_PRELINK): Define.
3023         (_dl_resolve_conflicts): Add prototype.
3024
3025         * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize
3026         .plt for prelinked libraries where prelinking info cannot be used.
3027         (elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict
3028         section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map.
3029         * sysdeps/arm/bits/link.h: New file.
3030         * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original
3031         content of .got[1].
3032         (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
3033         (ELF_MACHINE_PLT_REL): Define.
3034         (elf_machine_rela, elf_machine_rela_relative): New.
3035         (elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead
3036         of adjusting it if prelinked and prelinking cannot be used.
3037         * sysdeps/i386/bits/link.h: New file.
3038         * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original
3039         content of .got[1].
3040         (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
3041         (ELF_MACHINE_PLT_REL): Define.
3042         (elf_machine_rela, elf_machine_rela_relative): New.
3043         (elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead
3044         of adjusting it if prelinked and prelinking cannot be used.
3045         * sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating
3046         conflicts, skip finaladdr computation.  Use RESOLVE_CONFLICT_FIND_MAP
3047         to find out map for R_PPC_JMP_SLOT relocs.
3048         * sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define.
3049         (OPCODE_BA): Define.
3050         (elf_machine_runtime_setup): Reinitialize .plt for prelinked
3051         libraries where prelinking info cannot be used.
3052         (sparc_fixup_plt): Renamed from elf_machine_fixup_plt.
3053         (elf_machine_fixup_plt): Call sparc_fixup_plt.
3054         (elf_machine_rela): Set value to 0 if relocating conflicts.
3055         Call sparc_fixup_plt for R_SPARC_JMP_SLOT.
3056         * sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define.
3057         (sparc64_fixup_plt): Fix a typo.
3058         (elf_machine_rela): Set value to 0 if relocating conflicts.
3059         Handle R_SPARC_JMP_SLOT relocs when relocating conflicts.
3060         (elf_machine_runtime_setup): Reinitialize .plt for prelinked
3061         libraries where prelinking info cannot be used.
3062         * sysdeps/sh/bits/link.h: New file.
3063         * sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original
3064         content of .got[1].
3065         (elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead
3066         of adjusting it if prelinked and prelinking cannot be used.
3067         * sysdeps/s390/s390-32/bits/link.h: New file.
3068         * sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup):
3069         Save original content of .got[1].
3070         (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
3071         of adjusting it if prelinked and prelinking cannot be used.
3072         * sysdeps/s390/s390-64/bits/link.h: New file.
3073         * sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup):
3074         Save original content of .got[1].
3075         (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
3076         of adjusting it if prelinked and prelinking cannot be used.
3077         * sysdeps/x86_64/bits/link.h: New file.
3078         * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup):
3079         Save original content of .got[1].
3080         (elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead
3081         of adjusting it if prelinked and prelinking cannot be used.
3082
3083 2001-12-11  Ulrich Drepper  <drepper@redhat.com>
3084
3085         * sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use sizeof
3086         where appropriate instead of numbers.  Little optimizations.
3087
3088 2001-12-10  Roland McGrath  <roland@frob.com>
3089
3090         * sysdeps/mach/hurd/bind.c (bind): Don't deallocate IFSOCK if we never
3091         set it.
3092
3093         * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default
3094         set to GLIBC_2.2.5, not GLIBC_2.2.4.
3095
3096         * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde):
3097         Fix conditionals so this is set by default for stdio and not for libio.
3098         * sysdeps/mach/hurd/configure: Regenerated.
3099
3100 2001-12-10  Thorsten Kukuk  <kukuk@suse.de>
3101
3102         * io/ftw.c (ftw_startup): Check, if the path is search and readable.
3103
3104 2001-12-10  Ulrich Drepper  <drepper@redhat.com>
3105
3106         * io/Makefile (tests): Add bug-ftw3.
3107         * io/bug-ftw3.c: New file.
3108
3109         * sysdeps/generic/glob.c (glob): Return only pattern if nothing
3110         matches and GLOB_NOCHECK is set.
3111         * posix/globtest.sh: Correct expected result for NOCHECK test.
3112
3113         * po/ca.po: Update from translation team.
3114
3115 2001-12-09  Ulrich Drepper  <drepper@redhat.com>
3116
3117         Implement transliteration of characters in strings of the locale
3118         definitions.
3119         * locale/programs/linereader.c: Adjust for additional parameter to
3120         lr_token.
3121         (get_string): If character <Uxxxx> is not found try to transliterate
3122         it.
3123         * locale/programs/ld-ctype.c: Adjust for additional parameter to
3124         lr_token.  Add const to charmap parameter of all functions.
3125         (find_translit, find_translit2): New functions.
3126         * locale/programs/charmap.c: Adjust for additional parameter to
3127         lr_token.
3128         * locale/programs/repertoire.c: Likewise.
3129         * locale/programs/linereader.h: Likewise.
3130         * locale/programs/ld-address.c: Likewise.  Add const to charmap
3131         parameter of all functions.
3132         * locale/programs/ld-collate.c: Likewise.
3133         * locale/programs/ld-identification.c: Likewise.
3134         * locale/programs/ld-measurement.c: Likewise.
3135         * locale/programs/ld-messages.c: Likewise.
3136         * locale/programs/ld-monetary.c: Likewise.
3137         * locale/programs/ld-name.c: Likewise.
3138         * locale/programs/ld-numeric.c: Likewise.
3139         * locale/programs/ld-paper.c: Likewise.
3140         * locale/programs/ld-paper.c: Likewise.
3141         * locale/programs/ld-telephone.c: Likewise.
3142         * locale/programs/ld-time.c: Likewise.
3143         * locale/programs/locfile.c: Likewise.
3144         * locale/programs/localedef.c: Likewise.
3145         * locale/programs/localedef.h: Likewise.
3146         * locale/programs/locfile.h: Likewise.  Add declaration for
3147         find_translit.
3148         * locale/programs/simple-hash.c: Add const to first parameter of
3149         find_entry, iterate_table, and lookup.
3150         * locale/programs/simple-hash.h: Likewise.
3151         * locale/localeinfo.h: Don't define __LC_LAST here.  Include <locale.h>
3152         instead.
3153         * include/locale.h: Define __LC_LAST.
3154         * iconv/Makefile (CFLAGS-linereader.c): Define to -DNO_TRANSLITERATION.
3155
3156 2001-12-07  Geoff Keating  <geoffk@redhat.com>
3157
3158         * sysdeps/powerpc/Dist: Update for recent FP changes.
3159         * sysdeps/powerpc/fpu/Dist: Likewise.
3160
3161 2001-12-07  Andreas Schwab  <schwab@suse.de>
3162
3163         * sysdeps/unix/sysv/linux/opensock.c: Include <string.h>.
3164
3165 2001-12-06  Geoff Keating  <geoffk@redhat.com>
3166
3167         * sysdeps/powerpc/Makefile (sysdep_routines): Don't build the fpr
3168         save/restore functions here.
3169         (libm-support): Don't define these functions here.
3170         * sysdeps/powerpc/fpu/Makefile: Build the fpr save/restore
3171         functions here.
3172         * sysdeps/powerpc/fe_nomask.c: Move to...
3173         * sysdeps/powerpc/fpu/fe_nomask.c: ... here.
3174         * sysdeps/powerpc/fprrest.S: Move to...
3175         * sysdeps/powerpc/fpu/fprrest.S: ... here.
3176         * sysdeps/powerpc/fprsave.S: Move to...
3177         * sysdeps/powerpc/fpu/fprsave.S: ... here.
3178
3179 2001-12-06  Ulrich Drepper  <drepper@redhat.com>
3180
3181         * sysdeps/unix/sysv/linux/opensock.c: New file.
3182
3183 2001-12-06  Geoff Keating  <geoffk@redhat.com>
3184
3185         * config.make.in (with-fp): Define from configure.
3186         * configure.in: Substitute with_fp.
3187         * configure: Regenerate.
3188         * sysdeps/powerpc/Makefile: Set -msoft-float when --without-fp is
3189         specified, and don't change FPU environment.
3190
3191 2001-12-06  Ulrich Drepper  <drepper@redhat.com>
3192
3193         * libio/vasprintf.c (_IO_vasprintf): Free buffer on failure.
3194         * assert/assert.c: Check result of __asprintf call and don't use
3195         string if it failed.
3196         * assert/assert-perr.c: Likewise.
3197         * inet/rcmd.c: Likewise.
3198         * locale/programs/localedef.c (main): Check result of
3199         construct_output_path and exit if it failed.
3200         (construct_output_path): Check result of asprintf and mkdir calls and
3201         fail if they failed.
3202         * posix/getopt.c: Check result of __asprintf calls and fail if
3203         they failed.
3204         Patch by Dmitry V. Levin <ldv@alt-linux.org>.
3205
3206 2001-12-05  Ulrich Drepper  <drepper@redhat.com>
3207
3208         * sysdeps/generic/strcasecmp.c (__strcasecmp): Little performance
3209         patch.
3210         * sysdeps/generic/strncase.c: Likewise.
3211         * string/tester.c: Add tests for strcasecmp and strncasecmp.
3212
3213 2001-12-05  Geoff Keating  <geoffk@redhat.com>
3214
3215         * scripts/cpp: Test the exit status from 'type', not 'awk'.
3216
3217         * sysdeps/powerpc/__longjmp.S: Don't restore FP registers.
3218         * sysdeps/powerpc/fpu/__longjmp.S: Do restore FP registers.
3219         * sysdeps/powerpc/setjmp.S: Don't save FP registers.
3220         * sysdeps/powerpc/fpu/setjmp.S: Do save FP registers.
3221         * sysdeps/powerpc/fclrexcpt.c: Move to...
3222         * sysdeps/powerpc/fpu/fclrexcpt.c: ... here.
3223         * sysdeps/powerpc/fpu_control.h: Move to...
3224         * sysdeps/powerpc/fpu/fpu_control.h: ... here.
3225
3226 2001-12-05  Ulrich Drepper  <drepper@redhat.com>
3227
3228         * iconvdata/ibm1129.h: Remove duplicate mappings.
3229         * iconvdata/ibm937.c: Handle overflow errors.  Handle new tables.
3230         * iconvdata/ibm937.h: Reorganize table to safe a lot of space.
3231         Patch by Masahide Washizawa <WASHI@jp.ibm.com>.
3232
3233         * timezone/zic.c: Fix handling of turnaround times.
3234         Patch by Arthur David Olson <olsona@dc37a.nci.nih.gov>.
3235
3236 2001-12-02  Moshe Olshansky  <OLSHANSK@il.ibm.com>
3237
3238         * sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder): Fix
3239         overflow problem.
3240
3241 2001-12-05  Ulrich Drepper  <drepper@redhat.com>
3242
3243         * posix/regex.c: For use outside glibc defined bounded pointer
3244         macros here.  Patch by Jim Meyering <jim@meyering.net>.
3245
3246         * iconvdata/Makefile (modules): Add TCVN5712-1.
3247         * iconvdata/TESTS: Add TCVN5712-1.
3248         * iconvdata/gconv-modules: Likewise.
3249         * iconvdata/tcvn5712-1.c: New file.
3250         * iconvdata/testdata/TCVN-5712: New file.
3251         * iconvdata/testdata/TCVN-5712..UTF8: New file.
3252
3253 2001-12-04  Ulrich Drepper  <drepper@redhat.com>
3254
3255         * iconvdata/cp1258.c: Optimize conversion from UCS4.
3256
3257 2001-12-02  Roland McGrath  <roland@frob.com>
3258
3259         * mach/Makefile, mach/Machrules: Move comments out of \ continuations.
3260
3261         * hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning.
3262         Reported by Jeff Bailey <jbailey@nisa.net>.
3263
3264         * hurd/hurd.h (_hurd_umask): Remove volatile qualifier from decl.
3265         Reported by Jeff Bailey <jbailey@nisa.net>.
3266
3267         * mach/Makefile ($(objpfx)mach-syscalls.mk): Pass $(CFLAGS) to $(CC).
3268         * mach/Machrules ($(objpfx)%.udeps static pattern rule): Likewise.
3269         Reported by Jeff Bailey <jbailey@nisa.net>.
3270
3271 2001-12-01  Roland McGrath  <roland@frob.com>
3272
3273         * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Add
3274         missing backslash in test arguments.
3275         * sysdeps/mach/hurd/configure: Regenerated.
3276
3277 2001-11-26  Roland McGrath  <roland@frob.com>
3278
3279         * hurd/hurdinit.c (_hurd_ports_use): Check if _hurd_ports is null.
3280         Reported by John Tobey <jtobey@john-edwin-tobey.org>.
3281
3282 2001-11-30  Ulrich Drepper  <drepper@redhat.com>
3283
3284         * iconvdata/Makefile (modules): Add ARMSCII-8.
3285         * iconvdata/gconv-modules: Add entries for ARMSCII-8.
3286         * iconvdata/armscii-8.c: New file.
3287
3288 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3289
3290         * sysdeps/generic/glob.c (next_brace_sub): Return NULL if braces
3291         don't match, fix {{a,b},c} globbing, clean up.
3292         Patch by Flavio Veloso <flaviovs@magnux.com>.
3293         * posix/globtest.sh: Add new tests.
3294
3295 2001-11-29  Andreas Jaeger  <aj@suse.de>
3296
3297         * sysdeps/unix/sysv/linux/x86_64/Versions: Add arch_prctl.
3298         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add arch_prctl call.
3299
3300         * sysdeps/generic/abort.c: Include libioP.h for
3301         _IO_flush_all_lockp prototype.
3302
3303 2001-11-29  Ulrich Drepper  <drepper@redhat.com>
3304
3305         * posix/regex.h: Define __restrict_arr correctly.
3306
3307 2001-11-28  Ulrich Drepper  <drepper@redhat.com>
3308
3309         * iconvdata/ibm1163.c: New file.
3310         * iconvdata/ibm1163.h: New file.
3311         * iconvdata/ibm1164.c: New file.
3312         * iconvdata/ibm1164.h: New file.
3313         * iconvdata/TESTS: Add entries for IBM1163 and IBM1164.
3314         * iconvdata/Makefile: Likewise.
3315         * iconvdata/testdata/IBM1163: New file.
3316         * iconvdata/testdata/IBM1163..UTF8: New file.
3317         * iconvdata/testdata/IBM1164: New file.
3318         * iconvdata/testdata/IBM1164..UTF8: New file.
3319         Patch by Masahide Washizawa <WASHI@jp.ibm.com>.
3320
3321         * iconvdata/ibm1046.h: Optimize.  Remove duplicate mappings.
3322         * iconvdata/ibm1124.h: Likewise.
3323         * iconvdata/ibm1132.h: Likewise.
3324         * iconvdata/ibm1133.h: Likewise.
3325         * iconvdata/ibm1160.h: Likewise.
3326         * iconvdata/ibm1161.h: Likewise.
3327         * iconvdata/ibm1162.h: Likewise.
3328         * iconvdata/ibm856.h: Likewise.
3329         * iconvdata/ibm922.h: Likewise.
3330         * iconvdata/ibm930.h: Likewise.
3331         * iconvdata/ibm932.h: Likewise.
3332         * iconvdata/ibm933.h: Likewise.
3333         * iconvdata/ibm935.h: Likewise.
3334         * iconvdata/ibm937.h: Likewise.
3335         * iconvdata/ibm939.h: Likewise.
3336         * iconvdata/ibm943.h: Likewise.
3337         * iconvdata/ibm930.c: Pretty printing.
3338         * iconvdata/ibm937.c: Avoid access accross array boundary.
3339
3340         * iconv/gconv_open.c (__gconv_open): Empty codeset name now means using
3341         the current locale's codeset.
3342         * iconv/iconv_open.c (iconv_open): Don't strip out everything for
3343         empty input string.
3344         * iconv/iconv_prog.c: Pass empty strings as default value for to-
3345         and from-charset.  Don't determine locale's charset here.
3346
3347         * libio/genops.c (_IO_flush_all_lockp): New function.  The same code
3348         as the old _IO_flush_all but lock only if parameter is nonzero.
3349         (_IO_flush_all): Call _IO_flush_all_lockp with 1 as parameter.
3350         * libio/libioP.h: Add prototype for _IO_flush_all_lockp.
3351         * sysdeps/generic/abort.c (fflush): Define to _IO_flush_all_lockp(0)
3352         if libio is used [PR libc/2575].
3353
3354 2001-11-28  Jakub Jelinek  <jakub@redhat.com>
3355
3356         * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
3357         __signbitl): Only define for ISO C99.
3358
3359 2001-11-22  Thorsten Kukuk  <kukuk@suse.de>
3360
3361         * nss/nss_files/files-hosts.c (_nss_files_get##name##_r): Set
3362         herrnop to NETDB_INTERNAL if we run out of buffer space.
3363
3364 2001-11-28  Ulrich Drepper  <drepper@redhat.com>
3365
3366         * nss/nss_files/files-XXX.c (internal_getent): Correct input
3367         overflow test for platforms with signed char.
3368         Reported by Andrew Haley <aph@cambridge.redhat.com>.
3369
3370 2001-11-28  Bruno Haible  <bruno@clisp.org>
3371
3372         * locale/programs/simple-hash.c (lookup_2): Remove function.
3373         (insert_entry_2): Call lookup instead of lookup_2.
3374
3375 2001-03-04  Bruno Haible  <bruno@clisp.org>
3376
3377         * intl/dcigettext.c (DCIGETTEXT): Increment path_max proportionally.
3378
3379 2001-10-31  Bruno Haible  <bruno@clisp.org>
3380
3381         * intl/plural.y: Include <stddef.h>, needed for NULL with SunOS 4 cc.
3382
3383 2001-03-21  Bruno Haible  <bruno@clisp.org>
3384
3385         * intl/dcigettext.c (_nl_state_lock): Mark as #ifdef _LIBC. AIX 3 xlc
3386         chokes on empty macro arguments.
3387         * intl/plural.y: Add #pragma for alloca on AIX 3.
3388
3389 2001-11-27  Ulrich Drepper  <drepper@redhat.com>
3390
3391         * intl/dcigettext.c (guess_category_value): Only implement for
3392         glibc.  Otherwise rely on function _nl_locale_name which isn't
3393         present in the glibc sources.
3394
3395 2001-09-24  Bruno Haible  <bruno@clisp.org>
3396
3397         * intl/loadmsgcat.c (_nl_init_domain_conv): Also enable
3398         transliteration when building on a glibc system but outside glibc.
3399
3400 2001-09-22  Bruno Haible  <bruno@clisp.org>
3401
3402         * intl/plural-eval.c: New file, extracted from dcigettext.c.
3403         * intl/dcigettext.c (plural_eval): Remove function, moved to
3404         intl/plural-eval.c.
3405         (plural_lookup): Call PLURAL_EVAL instead of plural_eval.
3406         Include plural-eval.c.
3407
3408 2001-09-22  Bruno Haible  <bruno@clisp.org>
3409
3410         * intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Reject numbers that
3411         don't start with a digit; nplurals must be positive.
3412
3413 2001-09-02  Bruno Haible  <bruno@clisp.org>
3414
3415         * intl/plural-exp.h: New file, extracted from gettextP.h.
3416         * intl/plural-exp.c: New file, extracted from loadmsgcat.c.
3417         * intl/gettextP.h (struct expression, struct parse_args,
3418         __gettext_free_exp, __gettextparse): Move to plural-exp.h.
3419         * intl/loadmsgcat.c: Include plural-exp.h.
3420         (PLURAL_PARSE): Move macro to plural-exp.h.
3421         (plvar, plone, germanic_plural, INIT_GERMANIC_PLURAL): Move to
3422         plural-exp.c.
3423         (_nl_load_domain): Move plural handling code to plural-exp.c.  Call
3424         EXTRACT_PLURAL_EXPRESSION.
3425         (_nl_unload_domain): Update.
3426         * intl/dcigettext.c: Include plural-exp.h.
3427         * intl/plural.y: Include plural-exp.h, not gettextP.h.
3428         (FREE_EXPRESSION): Move macro to plural-exp.h.
3429         * intl/Makefile (routines): Add plural-exp.
3430         (distribute): Add plural-exp.h.
3431
3432 2001-07-28  Bruno Haible  <bruno@clisp.org>
3433
3434         * intl/l10nflist.c (_nl_normalize_codeset): Cast isalnum, isalpha,
3435         isdigit, tolower argument to 'unsigned char'.
3436         * intl/loadmsgcat.c (_nl_load_domain): Cast isspace argument to
3437         'unsigned char'.
3438         * intl/localealias.c (read_alias_file): Cast isspace argument to
3439         'unsigned char'.
3440
3441 2001-10-20  Bruno Haible  <bruno@clisp.org>
3442
3443         Assume strchr() exists. (Without it, intl/explodename.c wouldn't link
3444         anyway.)
3445         * intl/dcigettext.c (strchr): Remove fallback definition; it conflicts
3446         with the variable 'index' in plural_lookup.
3447         * intl/l10nflist.c (strchr): Likewise.
3448         * intl/localealias.c (strchr): Likewise.
3449
3450         Assume <stddef.h>, <stdlib.h>, <string.h>, <locale.h> exist.
3451         * intl/bindtextdom.c: Likewise.
3452         * intl/dcigettext.c: Likewise.
3453         * intl/dgettext.c: Likewise.
3454         * intl/dngettext.c: Likewise.
3455         * intl/explodename.c: Likewise.
3456         * intl/finddomain.c: Likewise.
3457         * intl/gettext.c: Likewise.
3458         * intl/l10nflist.c: Likewise.
3459         * intl/loadmsgcat.c: Likewise.
3460         * intl/localealias.c: Likewise.
3461         * intl/ngettext.c: Likewise.
3462         * intl/textdomain.c: Likewise.
3463         * intl/gettext.h: Assume <limits.h> exists.
3464
3465 2001-11-27  Ulrich Drepper  <drepper@redhat.com>
3466
3467         * stdio-common/Makefile (tests): Add scanf11.
3468         * stdio-common/scanf11.c: New file.
3469
3470 2001-11-26  Ulrich Drepper  <drepper@redhat.com>
3471
3472         * version.h (RELEASE): Define as development.
3473         (VERSION): Set to 2.2.90.
3474
3475 2001-11-22  Thorsten Kukuk  <kukuk@suse.de>
3476
3477         * nis/nss_compat/compat-grp.c: Print group id as unsigned long.
3478         * nis/nss_nis/nis-grp.c: Likewise.
3479         * nis/nss_nisplus/nisplus-grp.c: Likewise.
3480
3481         * nis/nss_compat/compat-pwd.c: Print user id as unsigned long.
3482         * nis/nss_nis/nis-pwd.c: Likewise.
3483         * nis/nss_nisplus/nisplus-pwd.c: Likewise.
3484
3485         * nis/nss_nis/nis-publickey.c: Use strtoul instead of atoi.
3486         * nis/nss_nisplus/nisplus-parser.c: Likewise.
3487         * nis/nss_nisplus/nisplus-publickey.c: Likewise.
3488
3489         * nscd/grpcache.c: Use strtoul instead of atol.
3490         * nscd/pwdcache.c: Likewise.
3491         * nss/getent.c: Likewise.
3492
3493 2001-11-27  Paul Eggert  <eggert@twinsun.com>
3494
3495         * sysdeps/posix/tempname.c (__gen_tempname): Try at least
3496         ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
3497
3498 2001-11-19  Bruno Haible  <bruno@clisp.org>
3499
3500         * locale/programs/simple-hash.c (insert_entry_2): Resize at 75%, not
3501         90%.
3502         (compute_hashval): Shift by 9 bits, not by 4 bits. This drastically
3503         improves the quality of the hash function, especially for short
3504         strings.
3505
3506 2001-11-26  Ulrich Drepper  <drepper@redhat.com>
3507
3508         * stdio-common/vfscanf.c: If incomplete nan of inf(inity) strings
3509         are found call conv_error and not input_error [PR libc/2669].
3510
3511         * math/bits/mathcalls.h: Mark ceil and floor as const.
3512         Reported by David Mosberger.
3513
3514 2001-11-21  Jim Meyering  <meyering@lucent.com>
3515
3516         * posix/regex.c (iswctype, mbrtowc, wcslen, wcscoll, wcrtomb) [_LIBC]:
3517         Define to be __-prefixed.
3518         Remove unnecessary duplication in `#ifdef _LIBC' blocks.
3519
3520 2001-11-26  Andreas Jaeger  <aj@suse.de>
3521
3522         * sysdeps/unix/sysv/linux/hppa/brk.c: Remove __brk_addr alias,
3523         avoid warning.
3524
3525 2001-11-26  Stephen L Moshier <moshier@mediaone.net>
3526
3527         * sysdeps/ieee754/ldbl-128/e_log10l.c (L102B): Fix typo in
3528         initialization.
3529
3530         * sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Remove
3531         unused variables.  Fix threshold for returning 1.0.
3532
3533         * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (neval, deval): Constify
3534         argument.
3535
3536         * sysdeps/ieee754/ldbl-128/s_erfl.c (neval, deval): Likewise, and
3537         remove unused variables.
3538
3539         * sysdeps/ieee754/ldbl-128/e_j0l.c (neval, deval): Likewise.