Optimized implementation for x86-64.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2002-08-31  Andreas Jaeger  <aj@suse.de>
2
3         * sysdeps/x86_64/fpu/s_copysign.S: Fix algorithm.
4
5         * sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for double tests.
6
7 2002-08-31  Ulrich Drepper  <drepper@redhat.com>
8
9         * stdio-common/Makefile (generated): Add errlist-compat.c.
10
11         * locale/Makefile (extra-objs): Add $(localedef-aux:=.o).
12
13         * locale/localeinfo.h: Pretty printing.
14
15         * stdio-common/vfprintf.c (vfprintf): Remove duplicate ifs in
16         form_number handling.
17
18 2002-08-31  Andreas Jaeger  <aj@suse.de>
19
20         * sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for float and long
21         double tests.
22
23         * sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_routines): Add
24         __start_context.
25
26         * sysdeps/unix/sysv/linux/x86_64/__start_context.S: New file.
27
28         * sysdeps/unix/sysv/linux/x86_64/makecontext.c: New file.
29
30         * sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: Add defines for
31         registers used for passing args.
32
33         * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Save and restore
34         all needed registers.
35
36         * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Restore all
37         registers.
38
39         * sysdeps/unix/sysv/linux/x86_64/getcontext.S: Save all needed
40         registers.
41
42 2002-08-30  Ulrich Drepper  <drepper@redhat.com>
43
44         * elf/dynamic-link.h (elf_get_dynamic_info): Mark with
45         always_inline attribute.
46
47 2002-08-30  Roland McGrath  <roland@redhat.com>
48
49         * stdlib/tst-setcontext.c (main): If makecontext does nothing,
50         presume it's the stub and bail without error.
51
52         * nss/getnssent_r.c (__nss_getent_r): Return ENOENT if status is
53         neither SUCCESS nor TRYAGAIN (see 2002-08-25 change [PR libc/4259]).
54
55         * nss/getnssent_r.c (__nss_getent_r): Set *H_ERRNOP, not global one.
56
57         * sysdeps/x86_64/hp-timing.h (HP_TIMING_NOW, HP_TIMING_ACCUM): New
58         macros replace the i686 versions for 64-bit mode.
59
60         * locale/duplocale.c: Include <string.h>.
61
62         * intl/dcigettext.c (DCIGETTEXT) [_LIBC]: Check for bogus CATEGORY.
63         [_LIBC] (category_to_name): Don't define the function.  Instead
64         define a macro using _nl_category_names.
65
66         * locale/xlocale.h (struct __locale_struct): New member `__names'.
67         * locale/xlocale.c (_nl_C_locobj): Update initializer.
68         * locale/global-locale.c (_nl_global_locale): Likewise.
69         * locale/duplocale.c (__duplocale): strdup __names elements.
70         * locale/freelocale.c (__freelocale): Free __names elements.
71         * locale/localename.c (_nl_current_names): Variable removed.
72         (__current_locale_name): Use _NL_CURRENT_LOCALE->__names instead.
73         * locale/localeinfo.h (_nl_current_names): Removed decl.
74         * locale/setlocale.c: Use _nl_global_locale->__names in place of
75         _nl_current_names throughout.
76
77         * locale/setlocale.c (setlocale): strdup -> __strdup (not ISO C).
78
79         * sysdeps/gnu/errlist-compat.awk: Emit link_warnings for sys_errlist
80         and sys_nerr in the output file.
81
82         * sunrpc/Makefile (rpcgen-cmd): Pass CPP in rpcgen's environment.
83         * scripts/cpp: Just use the environment variable.
84
85         * libio/tst-mmap-setvbuf.c (main): Use 'm' fopen flag.
86         * libio/tst-mmap-offend.c (do_test): Likewise.
87         * libio/tst-mmap-fflushsync.c (do_test): Likewise.
88         * libio/tst-mmap-eofsync.c (do_test): Likewise.
89         * libio/tst-mmap2-eofsync.c (do_test): Likewise.
90
91         * locale/localename.c: If the current locale is the global locale, use
92         _nl_current_names; otherwise use the locale object.
93
94 2002-08-29  Ulrich Drepper  <drepper@redhat.com>
95
96         * libio/fileops.c (_IO_new_file_fopen): Recognize new mode specifier
97         'm' to enable mmap I/O.
98         * libio/libio.h (_IO_FILE): Rename _blksize field to _flags2.  The
99         former wasn't used (anymore?).
100         (_IO_FLAGS2_MMAP): New define.
101         * libio/genops.c (_IO_no_init): Initialize _flags2 field.
102         * libio/iofopen.c (__fopen_maybe_mmap): Use mmap callbacks only if
103         _IO_FLAGS2_MMAP bit is set.
104         * libio/iofdopen.c (_IO_new_fdopen): Recognize 'm' mode specifier.
105         Enable mmap-using mode only if 'm' was set.
106
107 2002-08-29  Roland McGrath  <roland@frob.com>
108
109         * sysdeps/mach/hurd/bits/local_lim.h (NAME_MAX): New macro.
110
111         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup: doinit):
112         Change argument type from int to intptr_t.
113
114         * locale/global-locale.c (__libc_tsd_LOCALE_data): Conditionalize the
115         initializer on [! _HURD_THREADVAR_H] (bad kludge).
116         * sysdeps/mach/hurd/i386/init-first.c (init): Initialize
117         _HURD_THREADVAR_LOCALE slot to &_nl_global_locale.
118         * hurd/hurdsig.c (_hurdsig_init): Likewise.  Zero other slots.
119
120         * sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def.
121
122         * sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64).
123
124         * sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort.
125
126         * include/assert.h (__assert_perror_fail): Declare it, do hidden_proto.
127         * assert/assert-perr.c: Add libc_hidden_def.
128         * elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function.
129
130         * sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions
131         found at all.
132         * sysdeps/gnu/Versions: File removed.  Moved all #errlist-compat
133         sys_errlist stuff to ...
134         * sysdeps/unix/sysv/linux/Versions: ... here.
135
136         * mach/mach.h: Include <features.h>.
137
138 2002-08-29  Roland McGrath  <roland@redhat.com>
139
140         * elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing.
141         * sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and
142         define ELF_MACHINE_RUNTIME_TRAMPOLINE under #ifdef IN_DL_RUNTIME.
143
144         * sysdeps/generic/readelflib.c (process_elf_file): Fix typo.
145
146         * iconv/gconv_int.h: Include <stdlib.h> for alloca decl.
147         (norm_add_slashes): alloca -> __alloca
148
149 2002-08-29  Jakub Jelinek  <jakub@redhat.com>
150
151         * stdio-common/vfprintf.c (vfprintf): Add builtin_expect for
152         string_malloced, it is unlikely to be set.
153         Only call free with non-NULL workspace.
154         * sysdeps/sparc/sparc32/sparcv9/Makefile (sysdep-CFLAGS): Use
155         -mcpu=ultrasparc, not only tune for it.
156         (ASFLAGS*): Set unconditionally.
157
158         * sysdeps/generic/readelflib.c (process_elf_file): Make LOADADDR
159         ElfW(Addr).  Don't mask upper 32-bits and lower 12 bits off from
160         p_vaddr/p_offset when computing LOADADDR.
161
162 2002-08-29  Ulrich Drepper  <drepper@redhat.com>
163
164         * version.h (VERSION): Bump to 2.2.92.
165
166         * time/Makefile (tst-ftime_l-ENV): New variable.
167
168         * iconvdata/ibm870.c: All bytes are now used, no holes anymore.
169
170         * localedata/charmaps/IBM870: Add correct mapping for <U017E>,
171         <U017A>, <U017D> and <U0179>. Add missing mappings.
172         Patch by Antonin Kopecky <akopecky@tajmac-zps.cz>.
173
174         * gmon/sys/gmon.h (ARCDENSITY): Bump to 3.
175         Define ARCINDEX.  Bump MAXARCS to 1 << 20.
176         (struct tostruct): Use ACRINDEX as type for link field.
177         (statuc gmonparam): Likewise for froms.
178         * gmon/gmon.c (__monstartup): Use currect cast for assignments to
179         kcount and froms.
180         (write_call_graph): Use correct type for from_index and to_index.
181         * gmon/mcount.c: Use correct types for frompcindex and toindex
182         variables.
183         Patches by Dan Kegel <dank@kegel.com>.
184
185         * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix code to determine
186         canonical name.
187
188         * time/strptime.c (ISSPACE): New #define.  Use isspace or
189         __isspace_l.  Replace calls to isspace.
190         (match_string): Define variant for USE_IN_EXTENDED_LOCALE_MODEL.
191
192 2002-08-29  Roland McGrath  <roland@redhat.com>
193
194         * string/tst-strxfrm.c: Remove __ from function names.
195
196 2002-08-28  Ulrich Drepper  <drepper@redhat.com>
197
198         * include/wchar.h: Declare __mbsrtowcs_l.
199         * wcsmbs/Makefile (routines): Add mbsrtowcs_l.
200         * wcsmbs/mbsrtowcs.c: Add support for compilation with
201         USE_IN_EXTENDED_LOCALE_MODEL.
202         * wcsmbs/mbsrtowcs_l: New file.
203         * wcsmbs/wcsmbsload.c (__wcsmbs_to_wc): Renamed from to_wc.  Don't
204         define as static.  Change all uses.
205         (__wcsmbs_getfct): Renamed from getfct.  Don't define as static.
206         Change all callers.
207         * wcsmbs/wcsmbsload.h: Declare __wcsmbs_to_wc and __wcsmbs_getfct.
208         * time/strftime.c: When translating for the extended locale model
209         use the _l functions.
210         * time/Makefile (tests): Add tst-ftime_l.
211         * time/tst-ftime_l.c: New file.
212
213 2002-08-28  Roland McGrath  <roland@redhat.com>
214
215         * locale/findlocale.c [NL_CURRENT_INDIRECT] (_nl_C): New variable.
216         * locale/setlocale.c (setlocale) [NL_CURRENT_INDIRECT]: Null return
217         from _nl_find_locale ok if for _nl_C_name.
218
219         * locale/nl_langinfo.c [NL_CURRENT_INDIRECT]: Use a categories.def
220         iterator to refer to each category's _nl_current_LC_FOO symbol, so
221         we know they are all linked in.
222
223         * NEWS: Added 2.2.6 text from 2.2 branch version.
224
225         * time/strptime.c (strptime_internal): Remove spurious const.
226
227         * locale/lc-time.c (_nl_init_era_entries, _nl_get_era_entry,
228         _nl_select_era_entry): Moved to ...
229         * time/era.c: ... here, new file.
230         (_nl_init_era_entries, _nl_get_era_entry, _nl_select_era_entry):
231         Add internal_function to definitions.  Take an additional argument
232         giving the `struct locale_data *' to use.
233         * locale/lc-time.c (_get_alt_digit, _nl_get_walt_digit,
234         _nl_parse_alt_digit): Moved to ...
235         * time/alt_digit.c: ... here, new file.
236         * time/lc-time-cleanup.c: New file.
237         * locale/lc-time.c (_nl_postload_time, free_mem): Functions removed.
238         * locale/localeinfo.h (_nl_postload_time): Remove decl.
239         (_nl_cleanup_time): Declare it.
240         (_nl_get_era_entry, _nl_select_era_entry): Update decls.
241         (_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Likewise.
242         * time/Makefile (aux): New variable: era, alt_digit, lc-time-cleanup.
243         * time/strftime.c: Pass locale data to helper functions.
244         * time/strptime.c: Likewise.
245
246         * locale/localeinfo.h (struct locale_data): New member `private'
247         * locale/loadlocale.c (_nl_intern_locale_data): Initialize it.
248         (_nl_unload_locale): Call LOCALE->private.cleanup if it is set.
249         * locale/C-collate.c: Update initializer.
250         * locale/C-identification.c: Likewise.
251         * locale/C-measurement.c: Likewise.
252         * locale/C-telephone.c: Likewise.
253         * locale/C-address.c: Likewise.
254         * locale/C-name.c: Likewise.
255         * locale/C-paper.c: Likewise.
256         * locale/C-time.c: Likewise.
257         * locale/C-numeric.c: Likewise.
258         * locale/C-monetary.c: Likewise.
259         * locale/C-messages.c : Likewise.
260         * locale/C-ctype.c: Likewise.
261
262         * time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL] (_NL_CURRENT_WORD):
263         Redefine this too.
264
265 2002-08-28  Jakub Jelinek  <jakub@redhat.com>
266
267         * sysdeps/generic/ldsodefs.h (__rtld_global_attribute__): Define.
268         (_rtld_global): Use it.
269
270         * sysdeps/gnu/Dist: Remove errlist-compat.c.
271         * sysdeps/gnu/Makefile (errlist-compat.c): Build this file in the
272         object directory.  Pass all Versions files to the awk script.
273         * sysdeps/gnu/errlist-compat.c: Removed.
274         * sysdeps/gnu/errlist.awk: Use #errlist-compat comments from the
275         first Versions file in the search path which has them.
276         Allow multiple errlist symbol versions to have the same count of
277         errors.
278         * sysdeps/gnu/errlist-compat.awk: Include <errlist-compat.c> instead
279         of "errlist-compat.c".
280         * sysdeps/gnu/errlist.c: Regenerated.
281         * sysdeps/unix/sysv/linux/mips/Versions (libc): Add #errlist-compat
282         comments at GLIBC_2.0, GLIBC_2.1 and GLIBC_2.3.
283         * sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
284         (librt): Add aio_cancel and aio_cancel64 as GLIBC_2.3.
285         * sysdeps/unix/sysv/linux/hppa/Versions: Likewise.
286         * sysdeps/unix/sysv/linux/sparc/Versions: New file.
287         * sysdeps/unix/sysv/linux/alpha/bits/errno.h: New file.
288         * sysdeps/unix/sysv/linux/hppa/bits/errno.h (ECANCELED): Define to
289         ECANCELLED if not defined by kernel headers.
290         * sysdeps/unix/sysv/linux/bits/errno.h: Don't redefine ECANCELED if
291         already defined by kernel headers.
292         * sysdeps/unix/sysv/linux/sparc/bits/errno.h: New file.
293         * sysdeps/pthread/aio_cancel.c: Don't include aio.h and its
294         aio_cancel64 renaming hack nor provide weak_alias if aio_cancel
295         is a macro.
296         * Versions.def (GLIBC_2.3) [librt]: Add.
297
298         * sysdeps/unix/sysv/linux/alpha/pipe.S: New file.
299
300 2002-08-28  Ulrich Drepper  <drepper@redhat.com>
301
302         * include/libc-symbols.h [!__ASSEMBLER__] (declare_symbol_1): Add
303         missing comma to .type directive.
304
305 2002-08-28  Jakub Jelinek  <jakub@redhat.com>
306
307         * sysdeps/ia64/elf/configure.in (PI_STATIC_AND_HIDDEN): Define
308         unconditionally.
309         * sysdeps/alpha/elf/configure.in (libc_cv_alpha_hidden_gprel): New
310         check.
311         (PI_STATIC_AND_HIDDEN): Define if check succeeded.
312
313 2002-08-28  Jakub Jelinek  <jakub@redhat.com>
314
315         * locale/loadarchive.c (_nl_load_locale_from_archive): Add fd >= 0
316         check to close_and_out close.  Replace return NULL statements where
317         fd might be >= 0 with goto close_and_out.  Close the file descriptor
318         when it is no longer needed.
319
320 2002-08-28  Ulrich Drepper  <drepper@redhat.com>
321
322         * sysdeps/s390/s390-64/dl-machine.h: Avoid unescaped newlines in
323         string constants.
324         * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
325         * sysdeps/arm/dl-machine.h: Likewise.
326         * sysdeps/cris/dl-machine.h: Likewise.
327         * sysdeps/unix/sysv/linux/m68k/register-dump.h: Likewise.
328         * sysdeps/unix/sysv/aix/gettimeofday.c: Likewise.
329
330 2002-08-28  Roland McGrath  <roland@redhat.com>
331
332         * Makeconfig (default_cflags): Revert unintended change.
333
334 2002-08-28  Ulrich Drepper  <drepper@redhat.com>
335
336         * version.h (VERSION): Bump to 2.2.91.
337
338         * configure.in: Disable TLS support by default for now.
339
340         * sysdeps/i386/fpu/libm-test-ulps: Adjust ulp for yn for float.
341
342         * sysdeps/generic/strtol.c (strtol): Add some more casts to avoid
343         warnings.
344
345         * stdlib/strtod.c (STRTOF): Correct type in cast of last patch.
346
347         * stdlib/fmtmsg.c (fmtmsg): Use correct test for failure of
348         fprintf/fwprintf calls.
349
350 2002-08-28  Roland McGrath  <roland@redhat.com>
351
352         * Makeconfig (run-program-prefix): Fix bogus use of $(findstring ...)
353         to use $(filter ...) instead.  Same bug fixed in aix conditionals.
354
355         * locale/setlocale.c: Declare postload functions weak.
356
357         * elf/tst-tls1-static.c: New file.
358         * elf/tst-tls2-static.c: New file.
359         * elf/Makefile ($(tests-static):%=$(objfpx)%.o): Remove rule.
360
361         Make uselocale support static linking.
362         * locale/xlocale.c: Revert changes putting _nl_global_locale here.
363         This file again just defines _nl_C_locobj.
364         (_nl_C_locobj): Use a categories.def iterator in the initializer.
365         * locale/global-locale.c: New file.  Define _nl_global_locale here,
366         using all weak references in the initializer.
367         * locale/Makefile (aux): Add global-locale.
368         * locale/localeinfo.h (_nl_global_locale, _NL_CURRENT_LOCALE): Make
369         these unconditional, along with the tsd decl.
370         [!SHARED && HAVE___THREAD && HAVE_WEAK_SYMBOLS] (NL_CURRENT_INDIRECT):
371         Define it under these conditions.
372         [NL_CURRENT_INDIRECT]: Test this instead of [! SHARED].
373         Don't declare _nl_current.  Declare _nl_current_LC_FOO as
374         `extern __thread struct locale_data *const *'.
375         [NL_CURRENT_INDIRECT]
376         (_NL_CURRENT_DATA, _NL_CURRENT, _NL_CURRENT_WSTR): Add indirection.
377         [NL_CURRENT_INDIRECT] (_NL_CURRENT_DEFINE): Rewritten.  Define
378         the thread variable _nl_current_LC_FOO and also a special absolute
379         symbol _nl_current_LC_FOO_used.
380         * locale/uselocale.c (__uselocale) [NL_CURRENT_INDIRECT]:
381         Set each _nl_current_LC_FOO symbol to point into the new locale,
382         using weak references to test if _nl_current_LC_FOO_used was linked in.
383         * locale/setlocale.c [! SHARED]: Replace this conditional ...
384         [NL_CURRENT_INDIRECT]: ... with this one.
385         (_nl_current, _nl_C): Variables removed.
386         [NL_CURRENT_INDIRECT] (_nl_current_used): New variable, table of
387         weak references to _nl_current_LC_FOO_used.
388         [NL_CURRENT_INDIRECT] (CATEGORY_USED): Define using that table.
389         (free_category): New function, broken out of ...
390         (free_mem): ... here.  Call that.
391         (free_mem) [NL_CURRENT_INDIRECT]: Use a categories.def iterator
392         instead of a loop.
393
394         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Don't check for
395         PT_LOAD program headers and don't try to relocate PT_TLS's p_vaddr;
396         it is already absolute.
397
398         * elf/Makefile (tests): List tst-tls1 and tst-tls2 unconditionally.
399         [$(build-static) = yes] (tests): Add tst-tls1-static, tst-tls2-static.
400         [$(build-static) = yes] (tests-static): New variable.
401         ($(tests-static):%=$(objfpx)%.o)): New static pattern rule.
402
403 2002-08-26  Christoph Hellwig  <hch@lst.de>
404
405         * sysdeps/unix/sysv/linux/sys/personality.h: Remark origin, fix
406         formating braindamage, add missing PER_HPUX and PER_OSF1 values.
407
408 2002-08-28  Ulrich Drepper  <drepper@redhat.com>
409
410         * sysdeps/x86_64/Dist: Add _mcount.S and bits/link.h.
411
412         * sysdeps/s390/Dist: Add bits/link.h.
413
414         * sysdeps/sh/Dist: New file.
415
416         * sysdeps/ia64/Dist: Add ia64libgcc.S.
417
418         * sysdeps/wordsize-32/Dist: New file.
419
420         * sysdeps/unix/sysv/linux/alpha/Dist: Add dl-brk.S.
421         * sysdeps/unix/sysv/linux/powerpc/Dist: Likewise.
422         * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise.
423
424         * sysdeps/unix/sysv/linux/Dist: Add dl-brk.c, dl-sbrk.c, and
425         sys/personality.h.
426
427         * sysdeps/unix/Dist: Add i386/dl-brk.S, mips/dl-brk.S, and
428         sparc/dl-brk.S.
429
430         * sysdeps/unix/bsd/Dist: Add vax/dl-brk.S.
431
432         * sysdeps/unix/bsd/sun/Dist: New file.
433
434         * sysdeps/unix/bsd/osf/Dist: New file.
435
436         * sysdeps/unix/bsd/hp/Dist: New file.
437
438         * sysdeps/unix/arm/Dist: New file.
439
440         * sysdeps/powerpc/Dist: Add divdi3.c and libgcc-compat.S.
441
442         * sysdeps/mach/hurd/Dist: Add set-init.c.
443
444         * sysdeps/i386/Dist: Add bits/link.h.
445
446         * sysdeps/gnu/Dist: Add errlist-compat.c errlist-compat.awk.
447
448         * sysdeps/generic/Dist: Add dl-brk.c and dl-sbrk.c.
449
450         * locale/Makefile (distribute): Add hashval.h.
451
452         * iconvdata/Makefile (distribute): Add tcvn5712-1.c and armscii-8.c.
453
454         * sysdeps/unix/sysv/linux/Dist: Remove errlist.h.
455
456         * misc/sys/cdefs.h: Define __BEGIN_NAMESPACE_STD, __END_NAMESPACE_STD,
457         __USING_NAMESPACE_STD, __BEGIN_NAMESPACE_C99, __END_NAMESPACE_C99, and
458         __USING_NAMESPACE_C99 depending on _GLIBCPP_USE_NAMESPACES.
459         * ctype/ctype.h: Prepare headers for use in ISO C++ compliant
460         implementations.
461         * libio/stdio.h: Likewise.
462         * locale/locale.h: Likewise.
463         * math/math.h: Likewise.
464         * math/bits/mathcalls.h: Likewise.
465         * setjmp/setjmp.h: Likewise.
466         * signal/signal.h: Likewise.
467         * stdlib/stdlib.h: Likewise.
468         * string/string.h: Likewise.
469         * time/time.h: Likewise.
470         * wcsmbs/wchar.h: Likewise.
471         * wctype/wctype.h: Likewise.
472
473 2002-08-28  Roland McGrath  <roland@redhat.com>
474
475         * locale/tst-C-locale.c (run_test): Remove __ from function names.
476
477 2002-08-28  Jakub Jelinek  <jakub@redhat.com>
478             Roland McGrath <roland@redhat.com>
479
480         * locale/hashval.h (compute_hashval): Use prototype defn.
481         (hashval_t): New macro, defined to unsigned long int
482         if not already defined.
483         (compute_hashval): Return hashval_t instead of unsigned long int.
484         * locale/loadarchive.c (hashval_t): New macro.
485         * locale/programs/locarchive.c: Include hashval.h directly instead
486         of simple-hash.h.
487         (compute_hashval, hashval_t): Define these macros first.
488         (insert_name): Use archive_hashval instead of compute_hashval.
489         (add_locale, delete_locales_from_archive): Likewise.
490
491 2002-08-28  Jakub Jelinek  <jakub@redhat.com>
492
493         * locale/programs/locarchive.c (insert_name): Suppress warnings about
494         hash collisions if be_quiet.
495
496 2002-08-27  Roland McGrath  <roland@redhat.com>
497
498         * locale/locale.h (__newlocale, __duplocale, __freelocale,
499         __uselocale): Don't declare these any more.
500         * include/locale.h (__uselocale): Declare here instead, using __typeof.
501
502         * sysdeps/unix/readdir.c: If getdents fails with ENOENT, restore errno
503         and treat it as an EOF return.
504         * sysdeps/unix/readdir_r.c: Likewise.
505
506         * sysdeps/gnu/errlist-compat.awk: Include <bits/wordsize.h> in output.
507         From Alexandre Oliva <aoliva@redhat.com>.
508         * sysdeps/gnu/errlist-compat.c: Regenerated.
509
510 2002-08-27  Brian Youmans  <3diff@gnu.org>
511
512         * sysdeps/ieee754/flt-32/e_asinf.c: Modified copying permission
513         wording at request of copyright holder Stephen Moshier.
514         * sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
515         * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
516         * sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
517         * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
518         * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
519         * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
520         * sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
521         * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
522         * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise.
523         * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.
524         * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise.
525         * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
526         * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
527         * sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise.
528
529 2002-08-28  Jakub Jelinek  <jakub@redhat.com>
530
531         * ctype/ctype.h (isascii_l, toascii_l): Define to __*_l counterparts.
532         * ctype/ctype-extn.c (isblank_l): Add weak alias.
533         * sysdeps/generic/strtol_l.c (strtol_l): Likewise.
534         * sysdeps/generic/strtoll_l.c (strtoll_l): Likewise.
535         * sysdeps/generic/strtoul_l.c (strtoul_l): Likewise.
536         * sysdeps/generic/strtoull_l.c (strtoull_l): Likewise.
537         * wctype/iswctype_l.c (iswctype_l): Likewise.
538
539 2002-08-27  Roland McGrath  <roland@redhat.com>
540
541         * time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: No libc_hidden_def.
542
543         * ctype/ctype.h (__exctype_l): Don't declare __ name.
544         * stdlib/stdlib.h: Don't declare __*_l names.
545         * include/stdlib.h: Declare them here instead.
546         * include/string.h: Don't declare __*_l names.
547         * string/string.h: Declare them here instead.
548         * time/time.h: Don't declare __*_l names.
549         * include/time.h: Declare them here instead.
550         * wcsmbs/wchar.h: Don't declare __*_l names.
551         * include/wchar.h: Declare them here instead.
552         * wctype/wctype.h: Declare iswalnum_l, not __iswalnum_l.
553         Don't declare __*_l names.
554         * include/wctype.h: Declare them here instead.
555         * stdlib/monetary.h: Declare strfmon_l, not __strfmon_l.
556         * stdlib/strfmon_l.c (strfmon_l): Define as weak alias.
557         * locale/langinfo.h: Don't declare __nl_langinfo_l.
558         * include/langinfo.h: Declare it here with __typeof.
559
560         * time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL]: Define __strptime_l
561         instead, taking an extra __locale_t argument.
562         * time/Makefile (routines): Add strptime_l.
563         * time/time.h (__strptime_l, strptime_l): Declare them.
564         * time/strptime_l.c: New file.
565
566         * time/time.h (__strftime_l, strftime_l): Declare them.
567         * wcsmbs/wchar.h (__wcsftime_l, wcsftime_l): Declare them.
568         * time/strftime_l.c: New file.
569         * time/wcsftime_l.c: New file.
570         * time/Makefile (routines): Add strftime_l, wcsftime_l.
571         * time/Versions (libc: GLIBC_2.3): Add __strftime_l, __wcsftime_l,
572         strftime_l, wcsftime_l.
573         * time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: Define __strftime_l
574         or __wcsftime_l instead, taking an extra __locale_t argument.
575
576         * locale/Versions (libc: GLIBC_PRIVATE): Move __uselocale to ...
577         (libc: GLIBC_2.3): ... here.
578
579 2002-08-27  Ulrich Drepper  <drepper@redhat.com>
580
581         * stdio-common/Makefile: Fix typo in stdio_lim.h installation rule.
582
583         * Makefile (distribute): Add LICENSES.
584
585         * sysdeps/unix/sysv/linux/x86_64/Dist: Add ucontext_i.h and
586         sys/debugreg.h.
587
588         * sysdeps/unix/sysv/linux/s390/Dist: Add new/route.h.
589
590         * sysdeps/unix/sysv/linux/ia64/Dist: Add dl-brk.S and sys/user.h.
591
592         * sysdeps/unix/sysv/linux/mips/Dist: Add sys/user.h.
593
594         * sysdeps/unix/sysv/linux/Dist: Add readahead.c.
595
596         * sysdeps/mach/hurd/alpha/Dist: New file.
597
598         * sysdeps/arm/Dist: Add bits/link.h.
599
600         * sunrpc/Makefile: Distribute thrsvc.
601
602         * stdio-common/Makefile: Remove more left-overs from old stdio.
603
604         * include/linewrap.h: Removed.
605
606         * libio/bug-mmap-fflush.c: Rewrite to not touch source directory.
607
608         * intl/Makefile (distribute): Add plural-eval.c.
609
610 2002-08-27  Roland McGrath  <roland@redhat.com>
611
612         * manual/sysinfo.texi (Mount Information): Correct file name to macro
613         assocations for _PATH_MNTTAB, MNTTAB, _PATH_MOUNTED, MOUNTED.
614         Say mtab is in either /var/run or /etc.
615
616 2002-08-26  Roland McGrath  <roland@redhat.com>
617
618         * manual/errno.texi (Error Codes): Added ECANCELED (118 for Hurd).
619         * sysdeps/mach/hurd/bits/errno.h: Regenerated.
620
621         * sysdeps/gnu/Versions: New file.
622         * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove
623         _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here.
624         * sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target.
625         ($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c.
626         * sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal
627         and _sys_nerr_internal instead of anything else.  Make it include
628         "errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT].
629         Make it emit some asm magic if [EMIT_ERR_MAX].
630         * sysdeps/gnu/errlist.c: Regenerated.
631         * sysdeps/gnu/errlist-compat.awk: New file.
632         * sysdeps/gnu/errlist-compat.c: New file (generated).
633         * sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro.
634         (_sys_errlist_internal): Define this as a macro for _hurd_errlist.
635         (_sys_nerr_internal): Define this is a macro for _hurd_nerr.
636         (SYS_ERRLIST, SYS_NERR): Macros removed.
637         (sys_nerr, _sys_nerr): Remove these weak aliases.
638         * sysdeps/unix/sysv/linux/errlist.c: File removed.
639         * sysdeps/unix/sysv/linux/errlist.h: File removed.
640         * sysdeps/unix/sysv/linux/arm/errlist.c: File removed.
641
642         * include/libc-symbols.h (declare_symbol): New macro.
643         * config.h.in (ASM_TYPE_DIRECTIVE_PREFIX): New #undef.
644         * configure.in: New check to define it.
645         * configure: Regenerated.
646
647 2002-08-27  Ulrich Drepper  <drepper@redhat.com>
648
649         * stdio-common/Makefile (headers): Remove bits/stdio_lim.h.  This
650         file isn't distributed.  Add special rules to install bits/stdio_lim.h.
651
652         * Make-dist: Remove traces of old stdio.
653         * Makeconfig: Likewise.
654
655         * locale/Makefile (localedef-aux): New variable.  Only md5
656         assigned to it.  These files are not ddistributed in this directory.
657
658         * sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h.
659         * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h.
660         * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise.
661
662         * sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h.
663
664         * nss/getXXbyYY_r.c (REENTRANT_NAME): If no service is available
665         set h_errno to NO_RECOVERY [PR libc/4360].
666
667 2002-08-26  Ulrich Drepper  <drepper@redhat.com>
668
669         * libio/Makefile (tests): Add bug-fopena+.
670         * libio/bug-fopena+.c: New file.
671         * libio/fileops.c (_IO_file_open): Only set file pointer to end of the
672         file for _IO_IS_APPENDING if file isn't opened for reading, too.
673
674         * stdio-common/tst-swprintf.c (main): Add casts to avoid warnings.
675
676         * locale/xlocale.c: Fix the last change.  The variable still has
677         to end in _data.
678         * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
679         (__libc_tsd_set): Add _data prefix to variable name.
680
681 2002-08-26  Roland McGrath  <roland@redhat.com>
682
683         * sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask): Replace
684         macro with inline function.
685         (sigset_get_old_mask): Likewise.
686         * sysdeps/posix/sigblock.c (__sigblock): Update callers.
687         * sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise.
688         * sysdeps/posix/sigpause.c (__sigpause): Likewise.
689         * sysdeps/posix/sigvec.c (__sigvec, sigvec_wrapper_handler): Likewise.
690         * sysdeps/unix/sysv/aix/sigset-cvt-mask.h
691         (sigset_set_old_mask, sigset_get_old_mask): Make these macros return
692         values.
693         * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: Likewise.
694         * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: Likewise.
695
696 2002-07-06  Bruno Haible  <bruno@clisp.org>
697
698         * sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask,
699         sigset_get_old_mask): Make it work with larger sigset_t.
700         * sysdeps/posix/sigblock.c (__sigblock): Use those macros.
701         * sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise.
702         * sysdeps/posix/sigpause.c (__sigpause): Likewise.
703
704 2002-08-26  Roland McGrath  <roland@redhat.com>
705
706         * time/sys/time.h [__USE_BSD] (lutimes, futimes): Declare them.
707         * manual/filesys.texi (File Times): Document lutimes and futimes.
708         * misc/Makefile (routines): Add them.
709         * misc/Versions (libc: GLIBC_2.3): Likewise.
710         * sysdeps/generic/lutimes.c: New file.
711         * sysdeps/generic/futimes.c: New file.
712         * sysdeps/mach/hurd/lutimes.c: New file.
713         * sysdeps/mach/hurd/futimes.c: New file.
714
715         * manual/filesys.texi (File Times): Add explicit note about null
716         pointer argument to utimes.
717
718 2002-08-26  Roland McGrath  <roland@frob.com>
719
720         * sysdeps/mach/hurd/ifreq.h (__if_freereq): Add missing semicolon.
721         (__ifreq): Add a cast.  Remove an unused variable.
722
723         * hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add
724         _HURD_THREADVAR_LOCALE.
725
726 2002-08-26  Jakub Jelinek  <jakub@redhat.com>
727
728         * posix/regexec.c (re_search_stub): Return correct match length
729         if start != 0.
730         * posix/bug-regex10.c: New test.
731         * posix/Makefile (tests): Add bug-regex10.
732
733 2002-08-26  Brian Youmans  <3diff@gnu.org>
734
735         * COPYING.LIB: Replaced with fresh copy from
736         ftp://ftp.gnu.org/gnu/Licenses/COPYING.LIB-2.1;
737         suggested copying permission notice now says version 2.1 instead
738         of version 2.
739
740         * crypt/crypt.c: Changed copying permission notice to Lesser GPL
741         from Library GPL.
742         * crypt/crypt_util.c: Likewise.
743         * crypt/ufc.c: Likewise.
744         * elf/dl-conflict.c: Likewise.
745         * elf/dl-iteratephdr.c: Likewise.
746         * iconv/iconvconfig.h: Likewise.
747         * malloc/arena.c: Likewise.
748         * malloc/hooks.c: Likewise.
749         * malloc/malloc.c: Likewise.
750         * posix/glob/Makefile.ami: Likewise.
751         * posix/glob/Makefile.in: Likewise.
752         * stdlib/gmp-impl.h: Likewise.
753         * stdlib/gmp.h: Likewise.
754         * sysdeps/generic/dl-iteratephdr-static.c: Likewise.
755         * sysdeps/generic/strnlen.c: Likewise.
756         * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
757         * sysdeps/mach/hurd/recvmsg.c: Likewise.
758         * sysdeps/mach/hurd/sendmsg.c: Likewise.
759         * sysdeps/mach/hurd/spawni.c: Likewise.
760         * sysdeps/mach/powerpc/machine-sp.h: Likewise.
761         * sysdeps/mach/powerpc/sysdep.h: Likewise.
762         * sysdeps/mach/powerpc/thread_state.h: Likewise.
763         * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
764         * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: Likewise.
765         * sysdeps/x86_64/gmp-mparam.h: Likewise.
766
767         * sysdeps/ieee754/dbl-64/MathLib.h: Corrected version number in
768         Lesser GPL copying permission notice from 2 to 2.1.
769         * sysdeps/ieee754/dbl-64/asincos.tbl: Likewise.
770         * sysdeps/ieee754/dbl-64/atnat.h: Likewise.
771         * sysdeps/ieee754/dbl-64/atnat2.h: Likewise.
772         * sysdeps/ieee754/dbl-64/branred.c: Likewise.
773         * sysdeps/ieee754/dbl-64/branred.h: Likewise.
774         * sysdeps/ieee754/dbl-64/dla.h: Likewise.
775         * sysdeps/ieee754/dbl-64/doasin.c: Likewise.
776         * sysdeps/ieee754/dbl-64/doasin.h: Likewise.
777         * sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
778         * sysdeps/ieee754/dbl-64/dosincos.h: Likewise.
779         * sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
780         * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
781         * sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
782         * sysdeps/ieee754/dbl-64/e_log.c: Likewise.
783         * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
784         * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
785         * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
786         * sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
787         * sysdeps/ieee754/dbl-64/mpa.c: Likewise.
788         * sysdeps/ieee754/dbl-64/mpa.h: Likewise.
789         * sysdeps/ieee754/dbl-64/mpa2.h: Likewise.
790         * sysdeps/ieee754/dbl-64/mpatan.c: Likewise.
791         * sysdeps/ieee754/dbl-64/mpatan.h: Likewise.
792         * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise.
793         * sysdeps/ieee754/dbl-64/mpexp.c: Likewise.
794         * sysdeps/ieee754/dbl-64/mpexp.h: Likewise.
795         * sysdeps/ieee754/dbl-64/mplog.c: Likewise.
796         * sysdeps/ieee754/dbl-64/mplog.h: Likewise.
797         * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise.
798         * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise.
799         * sysdeps/ieee754/dbl-64/mptan.c: Likewise.
800         * sysdeps/ieee754/dbl-64/mydefs.h: Likewise.
801         * sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise.
802         * sysdeps/ieee754/dbl-64/root.tbl: Likewise.
803         * sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
804         * sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
805         * sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
806         * sysdeps/ieee754/dbl-64/sincos.tbl: Likewise.
807         * sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
808         * sysdeps/ieee754/dbl-64/sincos32.h: Likewise.
809         * sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
810         * sysdeps/ieee754/dbl-64/slowpow.c: Likewise.
811         * sysdeps/ieee754/dbl-64/uasncs.h: Likewise.
812         * sysdeps/ieee754/dbl-64/uatan.tbl: Likewise.
813         * sysdeps/ieee754/dbl-64/uexp.h: Likewise.
814         * sysdeps/ieee754/dbl-64/uexp.tbl: Likewise.
815         * sysdeps/ieee754/dbl-64/ulog.h: Likewise.
816         * sysdeps/ieee754/dbl-64/ulog.tbl: Likewise.
817         * sysdeps/ieee754/dbl-64/upow.h: Likewise.
818         * sysdeps/ieee754/dbl-64/upow.tbl: Likewise.
819         * sysdeps/ieee754/dbl-64/urem.h: Likewise.
820         * sysdeps/ieee754/dbl-64/uroot.h: Likewise.
821         * sysdeps/ieee754/dbl-64/usncs.h: Likewise.
822         * sysdeps/ieee754/dbl-64/utan.h: Likewise.
823         * sysdeps/ieee754/dbl-64/utan.tbl: Likewise.
824
825         * sysdeps/ieee754/flt-32/e_asinf.c: Added copyright notice for Stephen
826         Moshier and Lesser GPL copying permission notice, per license from
827         Moshier.
828         * sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
829         * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
830         * sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
831         * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
832         * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
833         * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
834         * sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
835         * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
836         * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise.
837         * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.
838         * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise.
839         * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
840         * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
841         * sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise.
842
843         * sysdeps/ieee754/ldbl-128/e_j0l.c: Added Lesser GPL copying permission
844         notice, per license from copyright holder Stephen Moshier.
845         * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
846         * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise.
847         * sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise.
848         * sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise.
849         * sysdeps/ieee754/ldbl-128/e_logl.c: Likewise.
850         * sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise.
851         * sysdeps/ieee754/ldbl-128/s_cbrtl.c: Likewise.
852         * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise.
853         * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise.
854
855 2002-08-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
856
857         * sysdeps/sh/Makefile (sysdeps_routines): Add divdi3 in csu dir.
858         (shared-only-routines): Likewise.
859
860 2002-08-26  Roland McGrath  <roland@redhat.com>
861
862         * locale/programs/ld-ctype.c (ctype_read): When given a repertoire
863         name of "", store a null pointer instead.
864
865         * configure.in (elf): Set to yes for freebsd*, netbsd*.
866         * configure: Regenerated.
867
868         * locale/xlocale.c [! (USE_TLS && HAVE___THREAD)] (__libc_tsd_LOCALE):
869         Initialize this instead of __libc_tsd_LOCALE_data.
870
871         * sysdeps/unix/grantpt.c (pts_name): Convert ENOTTY return from
872         ptsname_r to EINVAL.
873
874         * sysdeps/generic/ptsname.c (__ptsname_r): Return ENOSYS instead of 0.
875
876         * rt/Makefile: Revert last change, it was inappropriate to presume aio
877         implementations depend on pthreads.
878         * rt/tst-aio.c (do_test): Exit happy if first failure is ENOSYS.
879         * rt/tst-aio64.c (do_test): Likewise.
880         * rt/tst-aio2.c (do_test): Likewise.
881         * rt/tst-aio3.c (do_test): Likewise.
882         * rt/tst-aio4.c (do_test): Likewise.
883         * rt/tst-aio5.c (do_test): Likewise.
884         * rt/tst-aio6.c (do_test): Likewise.
885         * rt/tst-aio7.c (do_test): Likewise.
886
887         * sysdeps/generic/bits/libc-lock.h (__libc_setspecific): Use a cast to
888         void so as to avoid compiler warnings.
889
890         * libio/oldstdfiles.c [! _IO_MTSAFE_IO] (DEF_STDFILE): Don't define
891         _IO_wide_data_FD, which is never used here.
892
893         * libio/iofread.c
894         [! _IO_MTSAFE_IO] (fread_unlocked): Add libc_hidden_ver defn.
895         * libio/iofputs.c [! _IO_MTSAFE_IO] (fputs_unlocked): Likewise.
896         * libio/iofgets.c [! _IO_MTSAFE_IO] (fgets_unlocked): Likewise.
897
898         * include/resolv.h [! _LIBC_REENTRANT] (_res): #undef it before decl.
899         * include/netdb.h [! _LIBC_REENTRANT] (h_errno): Declare normal extern.
900
901         * misc/syslog.c (openlog): Conditionalize locking on [_LIBC_REENTRANT].
902         (closelog): Likewise.
903
904 2002-07-06  Bruno Haible  <bruno@clisp.org>
905
906         * sysdeps/alpha/fpu/fpu_control.h: Comment fix.
907
908         * sysdeps/unix/sysv/linux/alpha/pipe.S: Moved to ...
909         * sysdeps/unix/alpha/pipe.S: ... here.
910         * sysdeps/unix/bsd/osf/alpha/pipe.S: File removed.
911
912         * sysdeps/unix/i386/brk.S: Rename local label to '.Lhere' in ELF.
913
914         * sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation.
915         * sysdeps/unix/i386/fork.S: Likewise.
916         * sysdeps/unix/i386/pipe.S: Likewise.
917         * sysdeps/unix/i386/wait.S: Likewise.
918
919         * sysdeps/unix/fork.S: Fix PSEUDO_END argument.
920         * sysdeps/unix/arm/fork.S: Likewise.
921
922         * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL
923         arguments.
924         (DO_CALL): Swap argument order.
925         * sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
926         arguments.
927         (DO_CALL): Swap argument order.
928         * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
929         arguments.
930         (DO_CALL): Swap argument order.
931         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
932         arguments.
933         (DO_CALL): Swap argument order.
934         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
935         arguments.
936         (DO_CALL): Swap argument order.
937         * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
938         arguments.
939         (DO_CALL): Swap argument order.
940         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
941         arguments.
942         (DO_CALL): Swap argument order.
943
944         * sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error.
945         (L): Define right for ELF.
946         * sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition.
947         Now defined in sysdeps/i386/sysdep.h.
948
949         * sysdeps/posix/readv.c: Ansify function definition.
950         * sysdeps/posix/writev.c: Likewise.
951
952         * stdio-common/tst-fseek.c (main): Don't assume that off_t and size_t
953         have the same size. Avoid direct cast from size_t to off_t.
954
955         * login/tst-utmp.c (simulate_login): Don't leave garbage after the
956         nul byte in entry[n].ut_user.
957         (simulate_logout): Likewise.
958
959         * login/programs/utmpdump.c (print_entry): Test _HAVE_UT_TYPE,
960         _HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, instead of assuming the
961         existence of corresponding members of 'struct utmp'.
962         * login/tst-utmp.c: Trivialize the test if testing 'struct utmp' and
963         !_HAVE_UT_TYPE.
964
965         * sysdeps/unix/opendir.c (__opendir): If st_blksize is 0 or too small,
966         allocate a buffer of at least BUFSIZ bytes, not just of
967         sizeof (struct dirent).
968
969         * sysdeps/generic/glob.c: Include <limits.h>.
970         (NAME_MAX): Define a fallback.
971         (glob_in_dir): Allocate enough room for a 'struct dirent64' on the
972         stack.
973         * posix/tst-dir.c: Include <stddef.h>, for offsetof.
974         (main): Allocate enough room for a 'struct dirent64' on the stack.
975         * posix/tst-gnuglob.c (my_DIR): Allocate enough room for a
976         'struct dirent'.
977
978         * sysdeps/unix/sysv/linux/init-first.c: Don't include
979         kernel-features.h.
980
981         * inet/htontest.c: Include <sys/types.h>.
982
983         * sysdeps/generic/sys/sysinfo.h: Surround with __{BEGIN,END}_DECLS.
984
985         * include/sys/sysctl.h: Comment fix.
986
987         * elf/rtld.c (_rtld_global) [! _LIBC_REENTRANT]: Don't initialize
988         _dl_load_lock.
989         * libio/fileno.c (fileno_unlocked): Define regardless of _IO_MTSAFE_IO.
990
991         * sysdeps/unix/bsd/bsd4.4/syscalls.list (__sigaltstack): New alias.
992
993         * sysdeps/unix/inet/syscalls.list (__connect_internal): New alias.
994         (__getpeername): New alias.
995         (__getsockname): New alias.
996         (__socket): New alias.
997
998         * sysdeps/unix/common/syscalls.list (getpgid): Remove.
999
1000         * sysdeps/unix/syscalls.list (__chown_internal): New alias.
1001         (__fcntl_internal): New alias.
1002         (__profil): New alias.
1003
1004 2002-08-26  Ulrich Drepper  <drepper@redhat.com>
1005
1006         * nscd/hstcache.c (cache_addhst): Add new parameter saying whether
1007         entry was for getaddr* lookup or not.  Add only matching cache
1008         entry.  Change all callers [PR libc/4317].
1009
1010         * libio/wfileops.c (_IO_wfile_seekoff): Set fp->_offset after
1011         finding the read position [PR libc/4265].
1012         * libio/Makefile (tests): Add bug-rewind2.
1013         * libio/bug-rewind2.c: New file.
1014
1015         * libio/bug-rewind.c: Fix creation of temp file.
1016
1017 2002-08-25  Ulrich Drepper  <drepper@redhat.com>
1018
1019         * nss/getXXbyYY_r.c (REENTRANT_NAME): Return ENOENT if status is
1020         neither SUCCESS nor TRYAGAIN [PR libc/4259].
1021         * nss/nss_files/files-XXX.c (internal_getent): Don't set *errnop
1022         to ENOENT if no entry is found.
1023         * nis/nss_compat/compat-grp.c: Don't set errno in case of lookup
1024         failure.
1025         * nis/nss_compat/compat-initgroups.c: Likewise.
1026         * nis/nss_compat/compat-pwd.c: Likewise.
1027         * nis/nss_compat/compat-spwd.c: Likewise.
1028         * nis/nss_nis/nis-alias.c: Likewise.
1029         * nis/nss_nis/nis-ethers.c: Likewise.
1030         * nis/nss_nis/nis-grp.c: Likewise.
1031         * nis/nss_nis/nis-hosts.c: Likewise.
1032         * nis/nss_nis/nis-initgroups.c: Likewise.
1033         * nis/nss_nis/nis-netgrp.c: Likewise.
1034         * nis/nss_nis/nis-network.c: Likewise.
1035         * nis/nss_nis/nis-proto.c: Likewise.
1036         * nis/nss_nis/nis-publickey.c: Likewise.
1037         * nis/nss_nis/nis-pwd.c: Likewise.
1038         * nis/nss_nis/nis-rpc.c: Likewise.
1039         * nis/nss_nis/nis-service.c: Likewise.
1040         * nis/nss_nis/nis-spwd.c: Likewise.
1041         * resolv/nss_dns/dns-host.c: Likewise.
1042         * resolv/nss_dns/dns-network.c: Likewise.
1043         * nis/nss_nisplus/nisplus-alias.c: Save errno around NIS calls.
1044         * nis/nss_nisplus/nisplus-ethers.c: Likewise.
1045         * nis/nss_nisplus/nisplus-grp.c: Likewise.
1046         * nis/nss_nisplus/nisplus-hosts.c: Likewise.
1047         * nis/nss_nisplus/nisplus-network.c: Likewise.
1048         * nis/nss_nisplus/nisplus-proto.c: Likewise.
1049         * nis/nss_nisplus/nisplus-pwd.c: Likewise.
1050         * nis/nss_nisplus/nisplus-rpc.c: Likewise.
1051         * nis/nss_nisplus/nisplus-service.c: Likewise.
1052         * nis/nss_nisplus/nisplus-spwd.c: Likewise.
1053         * hesiod/nss_hesiod/hesiod-pwd.c (lookup): Preserve errno value.
1054         * hesiod/nss_hesiod/hesiod-proto.c (lookup): Likewise.
1055         * hesiod/nss_hesiod/hesiod-grp.c (lookup): Likewise.
1056         * hesiod/nss_hesiod/hesiod-service.c (lookup): Likewise.
1057
1058         * sysdeps/unix/sysv/linux/i386/sigaction.c: Avoid warnings by
1059         declaring __restore and __restore_rt as hidden (if possible).
1060
1061 2002-08-25  Roland McGrath  <roland@redhat.com>
1062
1063         * manual/llio.texi (Access Modes): Fix typos in O_READ/O_WRITE defns.
1064
1065         * sysdeps/generic/utmp_file.c (LOCK_FILE): Check for error from fcntl.
1066         (getutent_r_file, internal_getut_r): Updated all callers.
1067         (getutline_r_file, pututline_file, updwtmp_file): Likewise.
1068
1069 2002-08-25  Ulrich Drepper  <drepper@redhat.com>
1070
1071         * locale/programs/locale.c: Don't print aliases for non-existing
1072         locales for 'locale -a'.
1073         Patch by Noah Levitt <nlevitt@columbia.edu> [PR libc/4166].
1074
1075 2002-07-19  H.J. Lu  <hjl@gnu.org>
1076
1077         * sysdeps/unix/sysv/linux/mips/bits/msq.h: New file.
1078
1079 2002-07-16  H.J. Lu  <hjl@gnu.org>
1080
1081         * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
1082         sys/personality.h.
1083         * sysdeps/unix/sysv/linux/sys/personality.h: New file.
1084
1085 2002-08-25  Ulrich Drepper  <drepper@redhat.com>
1086
1087         * elf/tst-tlsmod1.c (in_dso): Make sure the TLS variable access is
1088         not moved ahead of the fputs call.
1089         * elf/tst-tlsmod2.c (in_dso): Likewise.
1090         * elf/tst-tlsmod3.c (in_dso2): Likewise.
1091         * elf/tst-tlsmod4.c (in_dso): Likewise.
1092
1093 2002-08-25  Andreas Schwab  <schwab@suse.de>
1094
1095         * elf/dl-reloc.c (_dl_reloc_bad_type): Nul-terminate message.
1096
1097 2002-08-25  Roland McGrath  <roland@redhat.com>
1098
1099         * sysdeps/generic/utmp_file.c (UNLOCK_FILE): Clear alarm before
1100         resetting handler, to avoid the possibility of a spurious SIGALRM
1101         delivered to the user's handler.
1102         Reported by Amit D. Chaudhary <amitc@brocade.com>,
1103
1104         * misc/Makefile (CFLAGS-init-misc.c): Variable removed.  It served to
1105         set -fkeep-inline-functions, which is not needed for the current file.
1106
1107         * sysdeps/generic/ldsodefs.h: Add attribute_hidden to *_internal decls.
1108         (_dl_setup_hash): Add attribute_hidden.
1109         (_dl_sysdep_start, _dl_sysdep_start_cleanup): Likewise.
1110         (_dl_sysdep_read_whole_file, _dl_dprintf): Likewise.
1111         (_dl_new_object, _dl_map_object_deps): Likewise.
1112         (_dl_map_object_deps_internal): Remove decl.
1113         * elf/rtld.c (__mempcpy, _exit): Redeclare locally as hidden.
1114
1115         * sysdeps/i386/dl-machine.h [PI_STATIC_AND_HIDDEN
1116         && HAVE_VISIBILITY_ATTRIBUTE && HAVE_HIDDEN
1117         && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]
1118         (elf_machine_dynamic, elf_machine_load_address): Rewritten without asm,
1119         instead relying on the compiler to produce only GOTOFF variable refs.
1120
1121 2002-08-25  Ulrich Drepper  <drepper@redhat.com>
1122
1123         * elf/dl-load.c: Fix typo in comment.  Add a few more __builtin_expect.
1124
1125         * sysdeps/generic/dl-cache.h (_dl_cache_libcmp): Define as static
1126         inline to avoid defining it in every file which includes this header.
1127
1128         * elf/rtld.c: Also test for HAVE_VISIBILITY_ATTRIBUTE before
1129         defining DONT_USE_BOOTSTRAP_MAP.
1130
1131         * libio/tst-freopen.c (main): Use correct formats for __LINE__.
1132         * libio/tst-mmap-setvbuf.c (main): Likewise.
1133         * libio/tst-widetext.c (main): Likewise.
1134
1135         * libio/tst-mmap-eofsync.c (do_test): Use correct format in error
1136         message.
1137         * libio/tst-mmap-fflushsync.c (do_test): Likewise.
1138         * libio/tst-mmap2-eofsync.c (do_test): Likewise.
1139
1140         * sysdeps/i386/elf/configure.in: Unconditionally define
1141         PI_STATIC_AND_HIDDEN.
1142         * elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if
1143         PI_STATIC_AND_HIDDEN is defined as well.
1144         * config.h.in: Add PI_STATIC_AND_HIDDEN entry.
1145
1146 2002-08-24  Ulrich Drepper  <drepper@redhat.com>
1147
1148         * sysdeps/ia64/bzero.S: Define __bzero as well.
1149
1150         * locale/programs/charmap.c (charmap_new_char): Don't use
1151         ULONG_MAX as maximum UCS4 value.
1152
1153         * sysdeps/unix/sysv/linux/ia64/sys/user.h: New file.
1154
1155         * sysdeps/generic/strtol.c: We don't need the isascii test in glibc.
1156
1157         * malloc/hooks.c (public_sET_STATe): use size_t as type for i.
1158         * malloc/malloc.c (mALLINFo): Likewise.
1159
1160         * libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison.
1161
1162         * libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when
1163         examining result of _IO_do_flush call.
1164
1165         * stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg.
1166         Use prec not spec when sizing buffers.
1167
1168         * catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings.
1169         * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
1170         * locale/loadlocale.c (_nl_intern_locale_data): Likewise.
1171         * stdio-common/vfscanf.c (inchar): Likewise.
1172         * misc/efgcvt_r.c (fcvt_r): Likewise.
1173         * elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
1174         * elf/readlib.c (process_file): Likewise.
1175         * elf/sprof.c (load_profdata): Likewise.
1176         * sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise.
1177         * locale/programs/linereader.c (get_toplvl_escape): Likewise.
1178         * locale/programs/charmap.c (charmap_read): Likewise.
1179         * libio/fileops.c: Likewise.
1180         * libio/fmemopen.c: Likewise.
1181         * stdlib/strtod.c: Likewise.
1182         * elf/dl-load.c: Likewise.
1183         * iconv/iconvconfig.c: Likewise.
1184         * iconv/iconv_prog.c (process_block): Likewise.
1185         * elf/rtld.c (dl_main): Likewise.
1186
1187         * sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H
1188         macro to calm down the compiler.
1189
1190         * iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning.
1191
1192         * sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string.
1193
1194         * sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding
1195         placement of errno definition.
1196         * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
1197         * sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise.
1198         * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
1199         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
1200         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
1201
1202         * resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value
1203         from 1024 to 65536, to avoid buffer overrun.
1204
1205 2002-08-16  Paul Eggert  <eggert@twinsun.com>
1206
1207         * resolv/gethnamaddr.c (MAXPACKET): Increase minimum value
1208         from 1024 to 65536, to avoid buffer overrun.
1209         * resolv/res_query.c (MAXPACKET): Likewise.
1210
1211 2002-08-24  Andreas Jaeger  <aj@suse.de>
1212
1213         * sysdeps/unix/sysv/linux/i386/Versions: Remove *xattr syscalls.
1214
1215 2002-08-23  Ulrich Drepper  <drepper@redhat.com>
1216
1217         * sysdeps/ieee754/dbl-64/e_pow.c (log1): Define and initialize
1218         two52 locally.
1219         (log2): Likewise.
1220         * sysdeps/ieee754/dbl-64/upow.h: Remove definition of two52.
1221         Patch by Simon Gee <simong@agile.tv>.
1222
1223         * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf):
1224         Prefer reading /proc/stat since it is more uniform across
1225         architectures.
1226
1227         * manual/texinfo.tex: Update to latest official version.
1228
1229         * sysvipc/sys/shm.h: Remove SHMLBA definition.
1230         * sysdeps/generic/bits/shm.h: Define SHMLBA here.
1231         * sysdeps/gnu/bits/shm.h: Likewise.
1232         * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
1233         * sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
1234         * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
1235         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
1236         * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
1237         * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
1238         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
1239         * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Define SHMLBA to 2^20
1240         since this is what the kernel says.
1241
1242         * misc/sys/xattr.h: Include <sys/types.h> instead of <stddef.h>
1243         since ssize_t is needed as well.  Replace const with __const.
1244
1245 2002-08-23  Roland McGrath  <roland@redhat.com>
1246
1247         * malloc/hooks.c (__malloc_initialize_hook, __free_hook,
1248         __malloc_hook, __realloc_hook, __memalign_hook,
1249         __after_morecore_hook): Variable definitions moved to ...
1250         * malloc/malloc.c: ... here, so as to be before all references.
1251
1252         * sysdeps/i386/dl-machine.h (elf_machine_load_address): Add a dummy
1253         global variable reference in an unused asm parameter, to ensure the
1254         compiler has set up the GOT register before we use it.
1255
1256         * malloc/hooks.c: Move variable definitions ahead of uses.
1257         * libio/fileops.c: Move versioned_symbol defns ahead of _IO_jump_t
1258         initializers that make reference to variables they define.
1259
1260 2002-08-23  Andreas Jaeger  <aj@suse.de>
1261
1262         * locale/loadarchive.c: Include <stdlib.h> for prototypes of
1263         alloca, free, qsort.
1264
1265         * dlfcn/bug-dlsym1-lib1.c (foo): Add prototype to avoid warning.
1266
1267         * sysdeps/ieee754/flt-32/e_jnf.c: Remove unused variable.
1268         * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.
1269
1270         * misc/sys/xattr.h: New file, contributed by Christoph Hellwig
1271         <hch@lst.de>.
1272         * sysdeps/generic/fgetxattr.c: New file.
1273         * sysdeps/generic/flistxattr.c: New file.
1274         * sysdeps/generic/fremovexattr.c: New file.
1275         * sysdeps/generic/fsetxattr.c: New file.
1276         * sysdeps/generic/getxattr.c: New file.
1277         * sysdeps/generic/listxattr.c: New file.
1278         * sysdeps/generic/lgetxattr.c: New file.
1279         * sysdeps/generic/llistxattr.c: New file.
1280         * sysdeps/generic/lremovexattr.c: New file.
1281         * sysdeps/generic/lsetxattr.c: New file.
1282         * sysdeps/generic/removexattr.c: New file.
1283         * sysdeps/generic/setxattr.c: New file.
1284         * misc/Makefile (headers): Add sys/xattr.h.
1285         (routines): Add *xattr calls.
1286         * misc/Versions: Add *xattr calls with version 2.3.
1287         * sysdeps/unix/sysv/linux/m68k/Versions: Remove *xattr syscalls.
1288         * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
1289         * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
1290         * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
1291         * sysdeps/unix/sysv/linux/x86_64/Versions: Likewise.
1292         * sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
1293         * sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
1294         * sysdeps/unix/sysv/linux/arm/Versions: Likewise.
1295
1296 2002-08-22  Steven Munroe  <sjmunroe@us.ibm.com>
1297
1298         * sysdeps/powerpc/elf/libc-start.c
1299         (__cache_line_size): Declare.
1300         (__aux_init_cache): New function.
1301         (__libc_start_main): Change type of `auxvec' parameter to
1302         `ElfW(auxv_t) *'.  Correct walking of aux vector.  Call
1303         __aux_init_cache.
1304         * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
1305         (__cache_line_size): Declare.
1306         (__aux_init_cache): New function.
1307         (DL_PLATFORM_INIT): Define.
1308         * sysdeps/powerpc/memset.S: Define __cache_line_size and use its
1309         value to select the correct stride for dcbz.
1310
1311 2002-08-22  Andreas Jaeger  <aj@suse.de>
1312
1313         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Fix arguments of
1314         shmat.
1315
1316 2002-08-22  Roland McGrath  <roland@redhat.com>
1317
1318         * locale/loadarchive.c (_nl_load_locale_from_archive): Check max file
1319         position indicated by locrectab against file bounds before rounding to
1320         page size.  In mapping loop, always set TO before breaking out of
1321         contiguous range coalescing loop.
1322
1323         * locale/loadarchive.c (_nl_load_locale_from_archive): Use MAP_PRIVATE
1324         (or MAP_COPY if available) instead of MAP_SHARED.
1325
1326         * scripts/firstversions.awk: When encountering a version newer than
1327         the specified earliest version, be sure to emit the specified earliest
1328         version first if any renaming of an older version to that has been.
1329
1330 2002-08-21  Roland McGrath  <roland@redhat.com>
1331
1332         * configure.in: Make GCC version check require 3.[2-9]* and no others.
1333         * manual/install.texi (Tools for Compilation): Say 3.2 is required.
1334         (Configuring and compiling): Don't mention older GCC versions any more.
1335         * INSTALL: Regenerated.
1336
1337         * manual/install.texi (Configuring and compiling, Installation,
1338         Running make install, Linux): Linux -> GNU/Linux where appropriate.
1339
1340         * elf/rtld.c (_dl_start_final): Move defn before _dl_start so it can
1341         be inlined.  Declare it with always_inline if [DONT_USE_BOOTSTRAP_MAP]
1342         and with noinline otherwise.  Remove hack alloca use to prevent
1343         inlining, we can ask for it explicitly nowadays.
1344
1345         * dlfcn/bug-dlsym1.c: New file.
1346         * dlfcn/bug-dlsym1-lib1.c, dlfcn/bug-dlsym1-lib2.c: New files.
1347         * dlfcn/Makefile (distribute): Add them.
1348         (tests): Add bug-dlsym1 here.
1349         (modules-names): Add bug-dlsym1-lib1 and bug-dlsym1-lib2 here.
1350         ($(objpfx)bug-dlsym1, $(objpfx)bug-dlsym1.out): New targets.
1351         ($(objpfx)bug-dlsym1-lib1.so, $(objpfx)bug-dlsym1-lib2.so): Likewise.
1352
1353 2002-08-21  Ulrich Drepper  <drepper@redhat.com>
1354
1355         * elf/rtld.c (start_time): New global variable.  Moved from _dl_start.
1356         (DONT_USE_BOOTSTRAP_MAP): Define if we can use non-exported symbols
1357         before relocation.
1358         (_dl_start): Don't use local bootstrap_map variable if
1359         DONT_USE_BOOTSTRAP_MAP is defined.  Use GL(dl_rtld_map).  Don't
1360         pass bootstrap_map to _dl_start_final in this case either.  Don't
1361         pass start_time to _dl_start_final ever.
1362         (_dl_start_final): Don't copy bootstrap_map if DONT_USE_BOOTSTRAP_MAP.
1363
1364         * elf/dl-deps.c (_dl_map_object_deps): Revert patch from 2002-05-28.
1365         This cripples the scope lists necessary to search for symbols in
1366         dependencies which are not in the global scope.
1367
1368         * include/setjmp.h (__libc_longjmp): Add declaration.
1369
1370 2002-08-21  Andreas Jaeger  <aj@suse.de>
1371
1372         * sysdeps/x86_64/_mcount.S: Fix assembler.
1373
1374         * sysdeps/unix/sysv/linux/x86_64/Makefile: Generate bits/syscall.h
1375         with biarch support.
1376
1377 2002-08-21  Andreas Jaeger  <aj@suse.de>
1378
1379         * sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Fix it.
1380
1381         * sysdeps/x86_64/Makefile (sysdep_routines): Add _mcount.
1382
1383         * sysdeps/x86_64/machine-gmon.h: New file.
1384         * sysdeps/x86_64/_mcount.S: New file.
1385
1386 2002-08-20  Ulrich Drepper  <drepper@redhat.com>
1387
1388         * elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP.  Set
1389         bootstrap_map.l_tls_tp_initialized to 1 if TLS_INIT_TP was called.
1390         (_dl_start_final): Copy l_tls_tp_initialized to GL(dl_rtld_map).
1391         (dl_main): If HAVE___THREAD is not defined pass l_tls_tp_initialized
1392         to TL_INIT_TP.  Otherwise pass 1.
1393         * include/link.h (struct link_map): Add l_tls_tp_initialized.
1394         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass 0 to TL_INIT_TP.
1395
1396 2002-08-15  Jakub Jelinek  <jakub@redhat.com>
1397
1398         * locale/programs/localedef.c (add_to_readlist): Error about
1399         circular dependencies only if the locale in question hasn't
1400         been finished.
1401         * locale/programs/linereader.c (get_string): Pass LC_CTYPE not
1402         CTYPE_LOCALE to load_locale.
1403         * locale/programs/locfile.c (locfile_read): Don't include
1404         unneeded but available locales in locale_mask.
1405
1406         * locale/programs/locarchive.c (enlarge_archive): If quiet, don't
1407         print any messages about enlarging archive.
1408
1409 2002-08-20  Brian Youmans  <3diff@gnu.org>
1410
1411         * manual/contrib.texi: Removed licenses, added acknowledgements
1412         for contributions by Intel, IBM, Craig Metz.
1413         * LICENSES: New file, contains the text of all non-FSF licenses in the
1414         distribution that require putting the notice in the accompanying
1415         documentation.
1416         * README.template, README: Mention LICENSES.
1417
1418         * sysdeps/mach/hurd/net/if_ppp.h: Replaced CMU license with a
1419         new one modelled on the modern BSD license, per recent letter
1420         of permission from CMU.
1421         * sysdeps/unix/sysv/linux/net/if_ppp.h: Likewise.
1422
1423         * sysdeps/ieee754/dbl-64/MathLib.h: Changed the copyright holder
1424         from IBM to FSF, per the recent Software Letter.  Changed the
1425         distribution terms from GPL to LGPL.
1426
1427         * sysdeps/ieee754/dbl-64/asincos.tbl: Added FSF copyright and
1428         copying permission notice (Lesser GPL), per recent IBM Software Letter.
1429         * sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise.
1430         * sysdeps/ieee754/dbl-64/root.tbl: Likewise.
1431         * sysdeps/ieee754/dbl-64/sincos.tbl: Likewise.
1432         * sysdeps/ieee754/dbl-64/uatan.tbl: Likewise.
1433         * sysdeps/ieee754/dbl-64/uexp.tbl: Likewise.
1434         * sysdeps/ieee754/dbl-64/ulog.tbl: Likewise.
1435         * sysdeps/ieee754/dbl-64/upow.tbl: Likewise.
1436         * sysdeps/ieee754/dbl-64/utan.tbl: Likewise.
1437
1438         * sysdeps/ieee754/dbl-64/atnat.h: Changed the copyright holder
1439         from IBM to FSF, per the recent Software Letter.  Corrected the
1440         text of the copying permission notice to say Lesser GPL instead
1441         of GPL in warranty disclaimer paragraph.
1442         * sysdeps/ieee754/dbl-64/atnat2.h: Likewise.
1443         * sysdeps/ieee754/dbl-64/branred.h: Likewise.
1444         * sysdeps/ieee754/dbl-64/dla.h: Likewise.
1445         * sysdeps/ieee754/dbl-64/doasin.h: Likewise.
1446         * sysdeps/ieee754/dbl-64/dosincos.h: Likewise.
1447         * sysdeps/ieee754/dbl-64/mpa.h: Likewise.
1448         * sysdeps/ieee754/dbl-64/mpa2.h: Likewise.
1449         * sysdeps/ieee754/dbl-64/mpatan.h: Likewise.
1450         * sysdeps/ieee754/dbl-64/mpexp.h: Likewise.
1451         * sysdeps/ieee754/dbl-64/mplog.h: Likewise.
1452         * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise.
1453         * sysdeps/ieee754/dbl-64/mydefs.h: Likewise.
1454         * sysdeps/ieee754/dbl-64/sincos32.h: Likewise.
1455         * sysdeps/ieee754/dbl-64/uasncs.h: Likewise.
1456         * sysdeps/ieee754/dbl-64/uexp.h: Likewise.
1457         * sysdeps/ieee754/dbl-64/ulog.h: Likewise.
1458         * sysdeps/ieee754/dbl-64/upow.h: Likewise.
1459         * sysdeps/ieee754/dbl-64/urem.h: Likewise.
1460         * sysdeps/ieee754/dbl-64/uroot.h: Likewise.
1461         * sysdeps/ieee754/dbl-64/usncs.h: Likewise.
1462         * sysdeps/ieee754/dbl-64/utan.h: Likewise.
1463
1464         * sysdeps/ieee754/dbl-64/branred.c: Corrected the text of the copying
1465         permission notice to say Lesser GPL instead of GPL in warranty
1466         disclaimer paragraph.
1467         * sysdeps/ieee754/dbl-64/doasin.c: Likewise.
1468         * sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
1469         * sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
1470         * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
1471         * sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
1472         * sysdeps/ieee754/dbl-64/e_log.c: Likewise.
1473         * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
1474         * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
1475         * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
1476         * sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
1477         * sysdeps/ieee754/dbl-64/mpa.c: Likewise.
1478         * sysdeps/ieee754/dbl-64/mpatan.c: Likewise.
1479         * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise.
1480         * sysdeps/ieee754/dbl-64/mpexp.c: Likewise.
1481         * sysdeps/ieee754/dbl-64/mplog.c: Likewise.
1482         * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise.
1483         * sysdeps/ieee754/dbl-64/mptan.c: Likewise.
1484         * sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
1485         * sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
1486         * sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
1487         * sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
1488         * sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
1489         * sysdeps/ieee754/dbl-64/slowpow.c:  Likewise.
1490
1491 2002-08-20  Roland McGrath  <roland@redhat.com>
1492
1493         Fix ABI compatibility with libc compiled with old tools on powerpc.
1494         Changes contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1495         and Jack Howarth <howarth@bromo.med.uc.edu>.
1496         * sysdeps/powerpc/Makefile [$(have-protected) = yes]
1497         (CPPFLAGS-divdi3.c, CPPFLAGS-libgcc-compat.S): New variables,
1498         pass -DHAVE_DOT_HIDDEN for these files.
1499         * sysdeps/powerpc/Versions (libc: GLIBC_2.0): Added __floatdidf,
1500         __floatdisf.
1501         * sysdeps/powerpc/divdi3.c: New file.
1502         * sysdeps/powerpc/libgcc-compat.S: New file, replacement for ...
1503         * sysdeps/powerpc/libgcc-compat.c: ... this, file removed.
1504
1505 2002-08-20  Jakub Jelinek  <jakub@redhat.com>
1506
1507         * locale/loadarchive.c (_nl_load_locale_from_archive): Handle
1508         partially overlapping mappings.  Remove unneeded (char *) casts.
1509         Never allow duplication of ranges in mapped areas.
1510
1511 2002-08-20  Roland McGrath  <roland@redhat.com>
1512
1513         * elf/Makefile ($(objpfx)ld.so): Separate commands in rule so errors
1514         can be detected by make.  Reported by H.J. Lu <hjl@gnu.org>.
1515
1516 2002-08-20  Ulrich Drepper  <drepper@redhat.com>
1517
1518         * include/unistd.h: Don't hide _exit.
1519
1520         * elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP.
1521         (dl_main): Pass extra argument 0 to TLS_INIT_TP.
1522         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra
1523         argument 1 to TLS_INIT_TP.
1524         * sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter.
1525
1526         * sysdeps/generic/dl-tls.c (allocate_dtv): Optimize a bit.
1527
1528         * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info.
1529         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv
1530         memory allocation to...
1531         (allocate_dtv): ...here.  New function.
1532         (_dl_allocate_tls): Change to take parameter.  If parameter is non-NULL
1533         call allocate_dtv instead of _dl_allocate_tls_storage.
1534         (_dl_deallocate_tls): New parameter.  Deallocate TCB only if true.
1535         (_dl_get_tls_static_info): New function.
1536         * sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls
1537         and _dl_deallocate_tls.  Add prototype for _dl_get_tls_static_info.
1538
1539 2002-08-19  Ulrich Drepper  <drepper@redhat.com>
1540
1541         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Return
1542         immediately if result == NULL.
1543
1544 2002-08-16  Jakub Jelinek  <jakub@redhat.com>
1545
1546         * sysdeps/alpha/fpu/libm-test-ulps: Regenerate.
1547
1548 2002-08-18  Roland McGrath  <roland@frob.com>
1549
1550         * sysdeps/mach/hurd/mkdir.c (__mkdir): Use __directory_name_split
1551         instead of __file_name_split.
1552         * sysdeps/mach/hurd/unlink.c (__unlink): Likewise.
1553
1554         * sysdeps/mach/hurd/dl-sysdep.c
1555         [HP_TIMING_AVAIL] (_dl_cpuclock_offset): New variable.
1556         [HP_TIMING_AVAIL] (_dl_sysdep_start): Set it with HP_TIMING_NOW.
1557
1558 2002-08-16  Jakub Jelinek  <jakub@redhat.com>
1559
1560         * locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix
1561         in change before last: MAX -> MIN.
1562
1563 2002-08-15  Roland McGrath  <roland@redhat.com>
1564
1565         * libio/fileops.c (_IO_file_seekoff_mmap): Leave read pointers at EOF
1566         if seek would go past it.
1567         (mmap_remap_check): If file position is at or past EOF after check,
1568         leave read pointers at EOF and don't seek.
1569
1570         * libio/tst-mmap-offend.c: New file.
1571         * libio/Makefile (tests): Add it.
1572
1573         * locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of
1574         the name as passed, rather than the name in the archive dictionary.
1575
1576 2002-08-15  Ulrich Drepper  <drepper@redhat.com>
1577
1578         * csu/Makefile: Define elide-routines.os not static-only-routines.
1579
1580         * include/sched.h (__clone): Add varargs at the end.
1581
1582         * elf/rtld.c (_dl_start): Allow TLS_INIT_TP to fail, and stop in that
1583         case.
1584         (TLS_INIT_HELPER): If defined, use it.
1585         * sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.
1586
1587 2002-08-15  Roland McGrath  <roland@redhat.com>
1588
1589         * elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
1590         on L->l_prev; it can happen under rtld --verify too.
1591
1592         * locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the
1593         header separately, just map an initial window of 2MB from the file
1594         and remap if that is not large enough to cover the whole header.
1595
1596 2002-08-15  Andreas Jaeger  <aj@suse.de>
1597
1598         * sysdeps/unix/sysv/linux/m68k/Versions: Add *xattr syscalls with
1599         version 2.3.
1600         * sysdeps/unix/sysv/linux/arm/Versions: Likewise.
1601         * sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
1602         * sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
1603         * sysdeps/unix/sysv/linux/x86_64/Versions: Likewise.
1604         * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
1605         * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
1606         * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
1607         * sysdeps/unix/sysv/linux/powerpc/Versions: Likewise.
1608         * sysdeps/unix/sysv/linux/mips/Versions: Likewise.
1609         Patch by Andreas Gruenbacher <agruen@suse.de>.
1610
1611         * sysdeps/unix/sysv/linux/syscalls.list: Add *xattr syscalls.
1612
1613 2002-08-14  Roland McGrath  <roland@redhat.com>
1614
1615         * locale/locarchive.h (struct locale_category_data): Give this name to
1616         the type of locale_data_t's elements.
1617         * locale/programs/locarchive.c (cmpcategorysize): New static function.
1618         (add_locale): Use that to sort the categories by size and put all
1619         those that fit into two pages into the LC_ALL block, instead of
1620         hard-coding it to do everything but LC_CTYPE and LC_COLLATE.
1621         (show_archive_content): Detect categories inside LC_ALL block
1622         directly, instead of hard-coding.
1623         (oldlocrecentcmp): Compare just on file locations used.
1624
1625 2002-08-14  Jakub Jelinek  <jakub@redhat.com>
1626
1627         * locale/programs/locarchive.c (struct oldlocrecent): New type.
1628         (oldlocrecentcmp): New function.
1629         (enlarge_archive): Re-add locales in the order they were added
1630         to the archive.
1631         (add_locale): Put all the small locale files together, if the small
1632         locale file block would occupy less pages if page size aligned, align
1633         it.
1634         (show_archive_content): Adjust for locale archives optimized for speed.
1635
1636 2002-08-14  Roland McGrath  <roland@frob.com>
1637
1638         * configure.in: Use "MISSING" as not-found value for MIG.
1639         * sysdeps/mach/configure.in: Fatal if mig not found.
1640         * configure, sysdeps/mach/configure: Regenerated.
1641
1642 2002-08-13  Jakub Jelinek  <jakub@redhat.com>
1643
1644         * locale/loadarchive.c (archfname): Add missing slash.
1645
1646         * sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
1647         * wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.
1648
1649 2002-08-12  Roland McGrath  <roland@redhat.com>
1650
1651         * include/sys/wait.h (__waitpid): Add libc_hidden_proto.
1652         * sysdeps/unix/sysv/sco3.2.4/waitpid.S: Add libc_hidden_def.
1653         * sysdeps/unix/sysv/sysv4/waitpid.c: Add libc_hidden_weak.
1654         * sysdeps/unix/sysv/linux/waitpid.c: Likewise.
1655         * sysdeps/unix/sysv/aix/waitpid.c: Likewise.
1656         * sysdeps/unix/bsd/bsd4.4/waitpid.c: Likewise.
1657         * sysdeps/generic/waitpid.c: Likewise.
1658
1659         * include/net/if.h: New file.  Use libc_hidden_proto
1660         for if_nametoindex and if_indextoname.
1661         * sysdeps/generic/if_index.c: Add libc_hidden_def.
1662         * sysdeps/mach/hurd/if_index.c: Likewise.
1663         * sysdeps/unix/sysv/linux/if_index.c: Likewise.
1664
1665         * include/grp.h (setgroups): Add libc_hidden_proto.
1666         * sysdeps/generic/setgroups.c: Add libc_hidden_def.
1667         * sysdeps/mach/hurd/setgroups.c: Likewise.
1668         * sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
1669         * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
1670
1671 2002-08-13  Jakub Jelinek  <jakub@redhat.com>
1672
1673         * include/unistd.h (seteuid, setegid): Add libc_hidden_proto.
1674         * sysdeps/generic/seteuid.c (seteuid): Add libc_hidden_def.
1675         * sysdeps/generic/setegid.c (setegid): Likewise.
1676         * sysdeps/mach/hurd/seteuid.c (seteuid): Likewise.
1677         * sysdeps/mach/hurd/setegid.c (setegid): Likewise.
1678         * sysdeps/unix/bsd/seteuid.c (seteuid): Likewise.
1679         * sysdeps/unix/bsd/setegid.c (setegid): Likewise.
1680         * sysdeps/unix/sysv/aix/seteuid.c (seteuid): Likewise.
1681         * sysdeps/unix/sysv/aix/setegid.c (setegid): Likewise.
1682         * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise.
1683         * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c (seteuid): Likewise.
1684         * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Likewise.
1685         * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Likewise.
1686         * sysdeps/unix/sysv/linux/setegid.c (setegid): Likewise.
1687         * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise.
1688         Remove fallback if __ASSUME_SETRESUID_SYSCALL.
1689
1690         * include/sys/stat.h (__fxstat_internal, __fxstat64_internal,
1691         __lxstat_internal, __lxstat64_internal): Remove.
1692         (__fxstat, __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64):
1693         Add hidden_proto.
1694         * sysdeps/generic/fxstat.c (__fxstat): Add hidden_def.
1695         Remove INTDEF where present, remove #undef at the beginning.
1696         * sysdeps/generic/fxstat64.c (__fxstat64): Likewise.
1697         * sysdeps/generic/lxstat.c (__lxstat): Likewise.
1698         * sysdeps/generic/lxstat64.c (__lxstat64): Likewise.
1699         * sysdeps/generic/xstat.c (__xstat): Likewise.
1700         * sysdeps/generic/xstat64.c (__xstat64): Likewise.
1701         * sysdeps/mach/hurd/dl-sysdep.c (__xstat64, __fxstat64): Likewise.
1702         * sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise.
1703         * sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise.
1704         * sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise.
1705         * sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise.
1706         * sysdeps/mach/hurd/xstat.c (__xstat): Likewise.
1707         * sysdeps/mach/hurd/xstat64.c (__xstat64): Likewise.
1708         * sysdeps/unix/fxstat.c (__fxstat): Likewise.
1709         * sysdeps/unix/common/lxstat.c (__lxstat): Likewise.
1710         * sysdeps/unix/sysv/aix/fxstat.c (__fxstat): Likewise.
1711         * sysdeps/unix/sysv/aix/fxstat64.c (__fxstat64): Likewise.
1712         * sysdeps/unix/sysv/aix/lxstat.c (__lxstat): Likewise.
1713         * sysdeps/unix/sysv/aix/lxstat64.c (__lxstat64): Likewise.
1714         * sysdeps/unix/sysv/aix/xstat.c (__xstat): Likewise.
1715         * sysdeps/unix/sysv/aix/xstat64.c (__xstat64): Likewise.
1716         * sysdeps/unix/sysv/linux/ia64/fxstat.c (__fxstat): Likewise.
1717         * sysdeps/unix/sysv/linux/ia64/lxstat.c (__lxstat): Likewise.
1718         * sysdeps/unix/sysv/linux/ia64/xstat.c (__xstat): Likewise.
1719         * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c (__fxstat): Likewise.
1720         * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c (__lxstat): Likewise.
1721         * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c (__xstat): Likewise.
1722         * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise.
1723         * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise.
1724         * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise.
1725         * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise.
1726         * sysdeps/unix/sysv/linux/xstat64.c (__xstat64): Likewise.
1727         * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise.
1728         * sysdeps/unix/sysv/linux/fxstat64.c (__fxstat64): Likewise.
1729         * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise.
1730         * sysdeps/unix/sysv/linux/lxstat64.c (__lxstat64): Likewise.
1731         * sysdeps/unix/xstat.c (__xstat): Likewise.
1732
1733         * include/sys/statvfs.h (statvfs, fstatvfs): Add libc_hidden_proto.
1734         * sysdeps/generic/statvfs.c (statvfs): Add libc_hidden_def.
1735         * sysdeps/generic/fstatvfs.c (fstatvfs): Likewise.
1736         * sysdeps/mach/hurd/statvfs.c (statvfs): Likewise.
1737         * sysdeps/mach/hurd/fstatvfs.c (fstatvfs): Likewise.
1738         * sysdeps/unix/sysv/linux/statvfs.c (statvfs): Likewise.
1739         * sysdeps/unix/sysv/linux/fstatvfs.c (fstatvfs): Likewise.
1740
1741         * include/unistd.h (tcgetpgrp): Add libc_hidden_proto.
1742         * include/termios.h (tcsetattr, cfsetispeed, cfsetospeed): Likewise.
1743         * sysdeps/generic/tcgetpgrp.c (tcgetpgrp): Add libc_hidden_def.
1744         * sysdeps/generic/tcsetattr.c (tcsetattr): Likewise.
1745         * sysdeps/generic/speed.c (cfsetispeed, cfsetospeed): Likewise.
1746         * sysdeps/unix/bsd/bsd4.4/tcsetattr.c (tcgetpgrp): Likewise.
1747         * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Likewise.
1748         * sysdeps/unix/bsd/sun/sunos4/speed.c (cfsetispeed, cfsetospeed):
1749         Likewise.
1750         * sysdeps/unix/bsd/tcgetpgrp.c (tcgetpgrp): Likewise.
1751         * sysdeps/unix/bsd/tcsetattr.c (tcsetattr): Likewise.
1752         * sysdeps/unix/sysv/aix/tcsetattr.c (tcsetattr): Likewise.
1753         * sysdeps/unix/sysv/aix/speed.c (cfsetispeed, cfsetospeed): Likewise.
1754         * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise.
1755         * sysdeps/unix/sysv/linux/speed.c (cfsetispeed, cfsetospeed): Likewise.
1756         * sysdeps/unix/sysv/tcgetpgrp.c (tcgetpgrp): Likewise.
1757         * sysdeps/unix/sysv/tcsetattr.c (tcsetattr): Likewise.
1758
1759         * include/string.h (strcoll): Add libc_hidden_proto.
1760         * string/strcoll.c (strcoll): Add libc_hidden_def.
1761
1762         * misc/err.c (vwarn): Fix pasto in libc_hidden_def.
1763
1764 2002-08-11  Philip Blundell  <philb@gnu.org>
1765
1766         * sysdeps/arm/Makefile: New file.
1767
1768 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
1769
1770         * posix/regcomp.c (parse_reg_exp): If '|' is immediately followed
1771         by another '|', end of regex or enclosing ')', clear branch.
1772         * posix/bug-regex9.c: New test.
1773         * posix/Makefile (tests): Add bug-regex9.
1774
1775 2002-08-12  Roland McGrath  <roland@redhat.com>
1776
1777         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Fix inner loop
1778         start count condition, use TOTAL instead of variable that was never
1779         set.  Fix outer loop termination condition to TOTAL >= after update.
1780
1781         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize
1782         dl_tls_static_align and dl_tls_static_nelem.
1783
1784 2002-08-11  Roland McGrath  <roland@redhat.com>
1785
1786         * elf/tst-tlsmod4.c (in_dso): Insert a random library call before use
1787         of the TLS macros, otherwise the compiler might not have initialized
1788         the PIC register yet when we use the PLT via asm.
1789         * elf/tst-tlsmod3.c (in_dso2): Likewise.
1790         * elf/tst-tlsmod2.c (in_dso): Likewise.
1791
1792         * sunrpc/svc_authux.c (_svcauth_unix): Remove spurious printf (ugh!).
1793
1794         * sysdeps/i386/bits/byteswap.h (__bswap_16, __bswap_32, __bswap_64):
1795         Evaluate argument exactly once.  Remove __volatile__ from asm's.
1796
1797         * include/unistd.h: Use libc_hidden_proto for getdomainname
1798         and getlogin_r.
1799         * sysdeps/generic/getdomain.c: Add libc_hidden_def.
1800         * sysdeps/mach/hurd/getdomain.c: Likewise.
1801         * sysdeps/unix/getlogin_r.c: Likewise.
1802         * sysdeps/mach/hurd/getlogin_r.c: Likewise.
1803         * sysdeps/generic/getlogin_r.c: Likewise.
1804
1805         * include/rpc/auth_des.h: Use libc_hidden_proto for rtime.
1806         * sunrpc/rtime.c: Add libc_hidden_def.
1807
1808         * include/string.h: Use libc_hidden_proto for basename.
1809         * string/basename.c [_LIBC]: Add libc_hidden_def.
1810
1811         * sysdeps/unix/sysv/linux/opensock.c (__opensock): socket -> __socket.
1812
1813         * locale/loadarchive.c: munmap -> __munmap throughout.
1814
1815         * include/netdb.h: Use libc_hidden_proto for gai_strerror.
1816         * sysdeps/posix/gai_strerror.c: Add libc_hidden_def.
1817         * sysdeps/generic/gai_strerror.c: Likewise.
1818
1819         * include/sys/errno.h: New file.
1820
1821         * include/signal.h: No libc_hidden_proto for raise,
1822         __libc_current_sigrtmin, __libc_current_sigrtmax.
1823         These need to be overridden by linuxthreads.
1824         * sysdeps/posix/raise.c: Reverted.
1825         * sysdeps/generic/raise.c: Reverted.
1826         * signal/allocrtsig.c: Reverted.
1827
1828         * locale/loadarchive.c (LOCALEDIR): Remove debugging defn.  Oops.
1829
1830 2002-08-10  Roland McGrath  <roland@redhat.com>
1831
1832         * locale/loadarchive.c (_nl_archive_subfreeres): New function.
1833         * locale/localeinfo.h: Declare it.
1834         * locale/setlocale.c (free_mem): Don't call _nl_unload_locale on the
1835         current locale if it's not in the file list.
1836         Call _nl_archive_subfreeres.
1837
1838 2002-08-10  Andreas Jaeger  <aj@suse.de>
1839
1840         * sysdeps/i386/strchr.S: Add comment.
1841
1842 2002-08-10  Roland McGrath  <roland@redhat.com>
1843
1844         * include/wchar.h (putwc): Use libc_hidden_proto.
1845         * include/stdio.h (dprintf, fprintf, vfprintf, sprintf,
1846         sscanf, fwrite, perror, remove, rewind, open_memstream): Likewise.
1847         * stdio-common/dprintf.c: Add libc_hidden_def.
1848         * stdio-common/fprintf.c: Likewise.
1849         * stdio-common/sprintf.c: Likewise.
1850         * stdio-common/sscanf.c: Likewise.
1851         * libio/iofwrite.c: Likewise.
1852         * libio/memstream.c: Likewise.
1853         * libio/putwc.c: Likewise.
1854         * stdio-common/perror.c: Likewise.
1855         * sysdeps/posix/remove.c: Likewise.
1856         * sysdeps/generic/remove.c: Likewise.
1857         * libio/rewind.c: Likewise.  Use <stdio.h> instead of "stdio.h".
1858         * stdio-common/vfprintf.c: Add libc_hidden_def.  Include <stdio.h>.
1859
1860 2002-08-09  Jakub Jelinek  <jakub@redhat.com>
1861
1862         * include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
1863         towlower, towupper): Add prototypes here too.  Add libc_hidden_proto.
1864         * wctype/wcfuncs.c (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
1865         towlower, towupper): Add libc_hidden_weak.
1866
1867         * include/bits/dlfcn.h: New file.
1868         * elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.
1869
1870         * include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
1871         * include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
1872         * include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
1873         * include/pwd.h (_nss_files_parse_pwent): Likewise.
1874         * include/shadow.h (_nss_files_parse_spent): Likewise.
1875         * include/netdb.h (_nss_files_parse_protoent,
1876         _nss_files_parse_servent, _nss_files_parse_netent): Likewise.
1877         * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
1878         (LINE_PARSER): Use it.
1879         * nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
1880         * nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.
1881
1882         * libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
1883         #endif.
1884
1885         * manual/debug.texi (%MENU%): Remove trailing dot.
1886         Reported by <hayastan132@hotmail.com>.
1887
1888         * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek): Add lseek
1889         aliases.
1890         (lseek): Dummy.
1891         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, lseek):
1892         Likewise.
1893
1894 2002-08-09  Roland McGrath  <roland@redhat.com>
1895
1896         * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale
1897         name to find codeset name (if any) and normalize it.  If the
1898         normalized name differs, look up only that in the archive.
1899         * locale/programs/locarchive.c (add_locale_to_archive): If the name
1900         contains a codeset, normalize the codeset store only the normalized
1901         name in the archive.  If not, add an alias containing the locale's
1902         normalized codeset name.  Apply codeset name normalization when
1903         matching entries in the alias file.
1904
1905         * locale/programs/locarchive.c (delete_locales_from_archive): Don't
1906         decrement HEAD->namehash_used here.
1907         (add_locale): Only need to insert name string when name_offset != 0.
1908
1909         * locale/programs/localedef.c (options): Add -A/--alias-file.
1910         (alias_file): New variable.
1911         (parse_opt): Grok -A, set that.
1912         * locale/programs/localedef.h: Declare it.
1913
1914         * locale/locarchive.h (struct locrecent): Add `refs' member.
1915         * locale/programs/locarchive.c (insert_name): New function, broken out
1916         of ...
1917         (add_locale_to_archive): ... here.  Call that.
1918         (add_alias): New function.
1919         (add_locale): New static function, add_locale_to_archive renamed.
1920         (add_locale_to_archive): Call that and use add_alias to add an alias
1921         for the name with codeset if the given name lacks it.
1922         (enlarge_archive): Call add_locale instead of add_locale_to_archive.
1923
1924         * locale/Makefile (routines): Add loadarchive.
1925         * locale/loadarchive.c: New file, started from code by Ulrich Drepper.
1926         (_nl_load_locale_from_archive): New function.
1927         * locale/localeinfo.h: Declare it.
1928         * locale/findlocale.c (_nl_find_locale): If using default locale path,
1929         try _nl_load_locale_from_archive first.
1930
1931         * locale/loadlocale.c (_nl_intern_locale_data): New function,
1932         broken out of _nl_load_locale.
1933         (_nl_load_locale): Call that.
1934         * locale/localeinfo.h: Declare it.
1935         (struct locale_data): Replace member `mmaped' with `alloc', an enum.
1936         (struct locale_data): Remove unused member `options'.
1937         * locale/findlocale.c (_nl_remove_locale): Update uses.
1938         * locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
1939         * locale/C-collate.c: Update initializer.
1940         * locale/C-identification.c: Likewise.
1941         * locale/C-measurement.c: Likewise.
1942         * locale/C-telephone.c: Likewise.
1943         * locale/C-address.c: Likewise.
1944         * locale/C-name.c: Likewise.
1945         * locale/C-paper.c: Likewise.
1946         * locale/C-time.c: Likewise.
1947         * locale/C-numeric.c: Likewise.
1948         * locale/C-monetary.c: Likewise.
1949         * locale/C-messages.c : Likewise.
1950         * locale/C-ctype.c: Likewise.
1951
1952         * locale/hashval.h [! LONGBITS]: Include <limits.h> here and
1953         use CHAR_BIT instead of BITSPERBYTE.
1954
1955         * locale/localeinfo.h (_nl_find_locale, _nl_load_locale,
1956         _nl_unload_locale): Add `internal_function attribute_hidden' to decls.
1957         * locale/findlocale.c (_nl_find_locale): Add internal_function to defn.
1958         (_nl_remove_locale): Likewise.
1959         * locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
1960
1961         * locale/findlocale.c (_nl_default_locale_path): New variable.
1962         (_nl_find_locale): If LOCALE_PATH is null, default to that.
1963         * locale/localeinfo.h: Declare it.
1964         * locale/setlocale.c (setlocale): Use _nl_default_locale_path
1965         in place of LOCALEDIR.  If no LOCPATH, pass null to _nl_find_locale.
1966         * locale/newlocale.c (__newlocale): Likewise.
1967
1968         * misc/err.c (vwarnx, vwarn): Fix typos in libc_hidden_def uses.
1969         * inet/rexec.c (rexec_af): Add libc_hidden_def.
1970         * sysdeps/generic/morecore.c: Likewise.
1971         * signal/allocrtsig.c (__libc_current_sigrtmin): Likewise.
1972         (__libc_current_sigrtmax): Likewise.
1973
1974 2002-08-08  Roland McGrath  <roland@redhat.com>
1975
1976         * locale/loadlocale.c (_nl_load_locale): Don't use MAP_INHERIT.
1977         * catgets/open_catalog.c (__open_catalog): Likewise.
1978
1979         * locale/programs/locarchive.c (INITIAL_NUM_NAMES): Renamed
1980         from typo INITIAL_NUM_NANES.
1981         (create_archive): Update use.
1982
1983 2002-08-08  Ulrich Drepper  <drepper@redhat.com>
1984
1985         * sysdeps/unix/sysv/linux/sigwait.c: New file.
1986
1987 2002-08-08  Roland McGrath  <roland@frob.com>
1988
1989         * resolv/netdb.h: Don't declare h_errno as a plain global any more.
1990
1991 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
1992
1993         * sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define to something
1994         else and undefine after including wcstol_l.c.
1995         * sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Similarly.
1996
1997 2002-08-08  Ulrich Drepper  <drepper@redhat.com>
1998
1999         * gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available.
2000
2001 2002-08-08  Alexandre Oliva  <aoliva@redhat.com>
2002
2003         * configure.in: Make the test for broken_alias_attribute stricter.
2004
2005 2002-05-24  Robert Love  <rml@tech9.net>
2006
2007         * posix/Makefile (routines): Add sched_getaffinity and
2008         sched_setaffinity.
2009         * posix/sched.h: Add declarations for sched_getaffinity and
2010         sched_setaffinity.
2011         * sysdeps/generic/sched_getaffinity.c: New file.
2012         * sysdeps/generic/sched_setaffinity.c: New file.
2013         * sysdeps/unix/sysv/linux/syscalls.list: Add sched_getaffinity and
2014         sched_setaffinity.
2015
2016 2002-08-06  Andreas Schwab  <schwab@suse.de>
2017
2018         * sysdeps/unix/utime.c: If TIMES is NULL pass it through to utimes.
2019
2020 2002-08-07  Ulrich Drepper  <drepper@redhat.com>
2021
2022         * elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error
2023         message.
2024
2025         * stdlib/isomac.c (get_null_defines): Treat NOT_IN_libc special.
2026         It is known to be defined.
2027
2028         * include/string.h: Define index and rindex only if _ISOMAC is not
2029         defined.
2030
2031         * elf/rtld.c: Include <errno.h>.
2032         * sysdeps/generic/libc-tls.c: Likewise.
2033
2034 2002-08-07  Roland McGrath  <roland@redhat.com>
2035
2036         * resolv/res_debug.c (latlon2ul): Add const to argument type, and use
2037         it internally.
2038         (precsize_aton): Likewise.
2039
2040         * inet/getnetgrent_r.c (endnetgrent, __getnetgrent_r): Actually call
2041         the static symbols added in the last change (doofus is me).
2042
2043         * locale/newlocale.c (__newlocale): Use a bit mask instead of a second
2044         loop to notice missing categories in a composite name.
2045
2046         * locale/locale.h (LC_CTYPE_MASK, LC_NUMERIC_MASK, LC_TIME_MASK,
2047         LC_COLLATE_MASK, LC_MONETARY_MASK, LC_MESSAGES_MASK, LC_ALL_MASK,
2048         LC_PAPER_MASK, LC_NAME_MASK, LC_ADDRESS_MASK, LC_TELEPHONE_MASK,
2049         LC_MEASUREMENT_MASK, LC_IDENTIFICATION_MASK, LC_ALL_MASK): New macros.
2050
2051 2002-08-07  Ulrich Drepper  <drepper@redhat.com>
2052
2053         * malloc/tst-calloc.c: Add tests for one or both parameters being zero.
2054
2055 2002-08-07  Roland McGrath  <roland@redhat.com>
2056
2057         * sysdeps/i386/dl-machine.h (elf_machine_rel): Add to, don't clobber,
2058         unrelocated initial value for DTPOFF32 and TPOFF32 relocs.
2059         Reported by Jakub Jelinek  <jakub@redhat.com>.
2060
2061 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
2062
2063         * malloc/malloc.c (public_cALLOc): Check ELEM_SIZE != 0 before
2064         division.
2065
2066 2002-08-06  Roland McGrath  <roland@redhat.com>
2067
2068         * include/getopt.h: Put private decls inside [_GETOPT_H].
2069         Use libc_hidden_proto for getopt_long, getopt_long_only.
2070         * posix/getopt1.c [_LIBC]: Include <getopt.h> instead of "getopt.h".
2071         Add libc_hidden_def.
2072
2073         * sysdeps/generic/unwind-dw2-fde-glibc.c [_LIBC] (dl_iterate_phdr):
2074         Define as a macro for __dl_iterate_phdr.
2075
2076         * inet/getnetgrent_r.c (internal_setnetgrent): Renamed from __ name,
2077         made static.  Add __ name as a strong alias.
2078         (internal_endnetgrent): Likewise.
2079         (internal_getnetgrent_r): Likewise.
2080
2081         * locale/Versions (libc: GLIBC_2.3): Add all the *_l functions
2082         with no __ prefix.
2083         * locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
2084         * ctype/ctype.h [__USE_GNU]: Add declarations and macros for
2085         all *_l functions with no __ prefix.
2086         * wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
2087         * ctype/ctype_l.c: Likewise.
2088         * locale/nl_langinfo.c: Likewise.
2089         * string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
2090         * stdlib/stdlib.h [__USE_GNU]: Likewise.
2091         * wcsmbs/wchar.h [__USE_GNU]: Likewise.
2092         * wctype/wctype.h [__USE_GNU]: Likewise.
2093         * string/strcoll_l.c (strcoll_l): Define as weak alias.
2094         * string/strxfrm_l.c (strxfrm_l): Define as weak alias.
2095         * sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
2096         * sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
2097         * stdlib/strtod_l.c (strtod_l): Define as weak alias.
2098         * stdlib/strtof_l.c (strtof_l): Define as weak alias.
2099         * stdlib/strtold_l.c (strtold_l): Define as weak alias.
2100         * wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
2101         (__wcscasecmp_l): Add libc_hidden_def.
2102         * wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
2103         (__wcsncasecmp_l): Add libc_hidden_def.
2104         * wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
2105         * wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
2106         * wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
2107         * wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
2108         * wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
2109         * sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
2110         * sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
2111         * sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
2112         * sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
2113         * sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
2114         * sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
2115         * wctype/wctrans_l.c (wctrans_l) Define as weak alias.
2116         * wctype/towctrans_l.c (towctrans_l) Define as weak alias.
2117         * wctype/wctype_l.c (wctype_l) Define as weak alias.
2118
2119 2002-08-05  Roland McGrath  <roland@redhat.com>
2120
2121         * include/rpc/auth.h: Use libc_hidden_proto for getnetname,
2122         netname2user, host2netname, user2netname, key_gendes.
2123         * sunrpc/netname.c: Add libc_hidden_def.
2124         * sunrpc/key_call.c: Likewise.
2125
2126         * include/netdb.h: Use libc_hidden_proto for getaddrinfo, getnameinfo,
2127         freeaddrinfo.
2128         * inet/getnameinfo.c: Add libc_hidden_def.
2129         * sysdeps/generic/getaddrinfo.c: Likewise.
2130         * sysdeps/posix/getaddrinfo.c: Likewise.
2131
2132         * include/wchar.h: Use libc_hidden_proto for wmemchr, wmemset.
2133         * wcsmbs/wmemchr.c: Add libc_hidden_def.
2134         * wcsmbs/wmemset.c: Add libc_hidden_def.
2135
2136         * include/string.h: Move libc_hidden_proto's inside #ifndef _STRING_H.
2137         (index, rindex): Define as macros for strchr, strrchr.
2138
2139         * string/envz.c (envz_strip): index -> strchr
2140
2141         * include/rpc/rpc_msg.h: Use libc_hidden_proto for _seterr_reply.
2142         * sunrpc/rpc_prot.c: Add libc_hidden_def.
2143
2144         * include/wchar.h: Use libc_hidden_proto for mbrtowc.
2145         * wcsmbs/mbrtowc.c: Add libc_hidden_weak.
2146
2147         * include/stdlib.h: Use libc_hidden_proto for wctomb.
2148         * stdlib/wctomb.c: Add libc_hidden_def.
2149
2150         * include/netdb.h: Use libc_hidden_proto for innetgr, rcmd_af,
2151         rexec_af, rresvport_af, ruserok_af, iruserok_af, ruserpass, hstrerror.
2152         * resolv/herror.c: Likewise.
2153         * inet/rcmd.c: Add libc_hidden_def.
2154         * inet/ruserpass.c: Likewise.
2155         * inet/getnetgrent_r.c: Likewise.
2156
2157         * include/rpc/svc.h: Use libc_hidden_proto for svc_register,
2158         svc_unregister, remove *_internal decls.  Use libc_hidden_proto
2159         for svcerr_auth, svcerr_noprog, svcerr_progvers.
2160         * sunrpc/svc.c (svc_register, svc_unregister): Change INTDEF to
2161         libc_hidden_def.
2162         (svcerr_auth, svcerr_noprog, svcerr_progvers): Add libc_hidden_def.
2163         * sunrpc/svc_simple.c (registerrpc): Nix INTUSE for svc_register.
2164
2165         * sysdeps/posix/system.c (do_system): New function, guts broken out of
2166         __libc_system.
2167         (__libc_system): Call it, putting just the line == NULL test here.
2168
2169         * include/libc-symbols.h (__hidden_proto): Add extern keywords so
2170         variables work right.
2171
2172         * elf/dl-open.c (dl_open_worker): Use _ macro instead of gettext.
2173         * elf/dl-close.c (_dl_close): Likewise.
2174
2175         * include/netinet/in.h: Use libc_hidden_proto for bindresvport,
2176         in6addr_any, in6addr_loopback.  Remove decls for
2177         bindresvport_internal, in6addr_any_internal, in6addr_loopback_internal.
2178         * sunrpc/svc_udp.c (svcudp_bufcreate): Nix INTUSE for bindresvport.
2179         * sunrpc/svc_tcp.c (svctcp_create): Likewise.
2180         * sunrpc/clnt_udp.c (clntudp_bufcreate): Likewise.
2181         * sunrpc/bindrsvprt.c: Change INTDEF to libc_hidden_def.
2182         * inet/in6_addr.c: Change INTVARDEF to libc_hidden_def.
2183         * sysdeps/posix/getaddrinfo.c (gaih_inet): Nix INTUSE for
2184         in6addr_loopback.
2185         * inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any.
2186
2187         * include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_r,
2188         ether_aton_r.
2189         * inet/ether_aton_r.c: Add libc_hidden_def.
2190         * inet/ether_ntoa_r.c: Likewise.
2191
2192         * include/rpc/svc.h: Use libc_hidden_proto for xprt_register,
2193         xprt_unregister.
2194         * sunrpc/svc.c: Add libc_hidden_def.
2195         * include/rpc/pmap_clnt.h: Use libc_hidden_proto for pmap_getport,
2196         pmap_set, pmap_unset.
2197         * sunrpc/pmap_clnt.c: Add libc_hidden_def.
2198         * sunrpc/pm_getport.c: Likewise.
2199         * include/rpc/auth_des.h: Use libc_hidden_proto for getpublickey.
2200         * sunrpc/publickey.c: Add libc_hidden_def.
2201
2202 2002-08-05  Ulrich Drepper  <drepper@redhat.com>
2203
2204         * elf/rtld.c (_dl_start): Don't use memset.  Use same tricks as for
2205         the other memset call in this function.
2206
2207         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Store dtv pointer
2208         at correct index.  Clear BSS region now that memalign is used.
2209
2210 2002-08-05  Roland McGrath  <roland@redhat.com>
2211
2212         * include/sys/utsname.h: Use libc_hidden_proto for uname, __uname.
2213         * sysdeps/generic/uname.c: Add libc_hidden_def.
2214         * sysdeps/mach/hurd/uname.c: Likewise.
2215
2216 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
2217
2218         * include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll,
2219         wcspbrk): Add libc_hidden_proto.
2220         * time/strftime.c (my_strftime): Add libc_hidden_def.
2221         (strftime): Remove libc_hidden_def.
2222         * wcsmbs/wcschr.c (wcschr): Add libc_hidden_def.
2223         * wcsmbs/wcspbrk.c (wcspbrk): Likewise.
2224         * wcsmbs/wcsspn.c (wcsspn): Likewise.
2225         * wcsmbs/wcscmp.c (wcscmp): Likewise.
2226         * wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak.
2227         * wcsmbs/wcscoll.c (wcscoll): Likewise.
2228
2229         * include/rpc/rpc.h (__rpc_thread_svc_max_pollfd,
2230         __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
2231         __rpc_thread_createerr): Add libc_hidden_proto.
2232         * sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd,
2233         __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
2234         __rpc_thread_createerr): Add libc_hidden_def.
2235
2236         * include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror,
2237         clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto.
2238         * sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror,
2239         clnt_perror, clnt_sperror): Add libc_hidden_def.
2240         * sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise.
2241
2242         * include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add
2243         libc_hidden_proto.
2244         * sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto.
2245         * sunrpc/des_soft.c (des_setparity): Likewise.
2246
2247         * include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk):
2248         Add libc_hidden_proto.
2249         * sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk):
2250         Add libc_hidden_def.
2251
2252 2002-08-05  Roland McGrath  <roland@redhat.com>
2253
2254         * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace member
2255         `bool _dl_initial_dtv_malloced' with `void *_dl_initial_dtv'.
2256         * elf/rtld.c (dl_main): Set it to the new dtv for the main thread.
2257         * sysdeps/generic/dl-tls.c (__tls_get_addr): When reallocating the
2258         dtv, check if it matches _dl_initial_dtv; if so, malloc and copy the
2259         old data, abandoning the original memory allocated by rtld at startup,
2260         instead of calling realloc normally.
2261
2262 2002-08-05  Ulrich Drepper  <drepper@redhat.com>
2263
2264         * po/fr.po: Update from translation team.
2265
2266 2002-08-04  Roland McGrath  <roland@redhat.com>
2267
2268         * sysdeps/unix/make-syscalls.sh: If the syscall name field is -
2269         then generate a dummy module under the given name, obeying the
2270         normal rules for the "caller" field.
2271
2272         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop
2273         actually iterate over the elements.  Fix typo p_type -> p_vaddr.
2274
2275         * include/pthread.h: Don't declare __pthread_initialize_minimal as
2276         weak here; we declare it weak or strong in the one place we use it.
2277         * sysdeps/generic/libc-start.c: ... which is here.
2278         Don't make the decl weak if [USE_TLS], since static programs need TLS
2279         setup even when single-threaded.
2280
2281         * stdlib/isomac.c (fmt): Add -DNOT_IN_libc to the compiler command.
2282
2283         * elf/Makefile (test-srcs): Add $(modules-names) to it.
2284         (CFLAGS-vismod2.c, CFLAGS-failobj.c, CFLAGS-constload2.c,
2285         CFLAGS-reldepmod3.c, CFLAGS-reldepmod4.c, CFLAGS-ltglobmod2.c): Remove
2286         all these variables.
2287
2288 2002-08-04  Ulrich Drepper  <drepper@redhat.com>
2289
2290         * include/stdio.h: Don't define macro magic to redirect function
2291         calls if _ISOMAC is defined.
2292
2293         * sysdeps/i386/fpu/libm-test-ulps: Add epsilons for inlined
2294         ldouble asin tests.
2295
2296 2002-08-04  Roland McGrath  <roland@redhat.com>
2297
2298         * stdlib/lrand48_r.c: Add libc_hidden_def.
2299
2300         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Allocate the
2301         TCB with __libc_memalign instead of mmap.
2302         (_dl_deallocate_tls): Free it with free instead of munmap.
2303
2304         * Makerules (cpp-srcs-left): When setting this to run
2305         cppflags-iterator.mk, must append .c to $(tests) and $(xtests)
2306         words.  Combine the two loops into one on the concatenated list,
2307         including those as well as $(test-srcs).
2308
2309         * elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here,
2310         since we align here with optimally minimal waste anyway.
2311         (malloc): Just call that.
2312
2313         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to
2314         the right variable.
2315
2316         * elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset,
2317         to compute memory location for l_tls_initimage.
2318         * elf/rtld.c (_dl_start): Likewise.
2319         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
2320
2321         * libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT,
2322         because the .d file is generated in the non-shared case and
2323         so fails to catch them otherwise.
2324
2325         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
2326         split out of _dl_allocate_tls.
2327         (_dl_allocate_tls_init): Likewise.
2328         (_dl_allocate_tls): Call those.
2329         * sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
2330         * elf/rtld.c (dl_main): Call them separately instead of calling
2331         _dl_allocate_tls.  Delay _dl_allocate_tls_init until after relocation
2332         is finished, so that the initializer data has been relocated before we
2333         copy it into the main thread's TLS block.
2334
2335         * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in
2336         loop conditions, prevented the last used module from being initialized.
2337
2338 2002-08-04  Jakub Jelinek  <jakub@redhat.com>
2339
2340         * sysdeps/generic/glob.c (glob, globfree): Only use libc_hidden_def
2341         if glob resp. globfree are not macros.
2342         * sysdeps/gnu/glob64.c (globfree64): Add libc_hidden_def.
2343         * sysdeps/unix/sysv/linux/alpha/glob.c (glob, globfree, globfree64):
2344         Add libc_hidden_ver.
2345         * sysdeps/unix/sysv/linux/i386/glob64.c (globfree64): Add
2346         libc_hidden_def.
2347         * sysdeps/wordsize-64/glob.c (globfree64): Use libc_hidden_ver
2348         instead of libc_hidden_weak.
2349         * sysdeps/wordsize-64/strtol.c (__strtoll_internal): Use
2350         libc_hidden_ver instead of libc_hidden_def.
2351         * sysdeps/wordsize-64/wcstol.c (__wcstoll_internal): Use
2352         libc_hidden_ver instead of libc_hidden_def.
2353         (wcstoll, wcstoq): Remove libc_hidden_weak.
2354         * sysdeps/wordsize-64/strtol_l.c (____strtoll_l_internal): Add
2355         libc_hidden_ver.
2356         * sysdeps/wordsize-64/strtoul.c (__strtoull_internal): Add
2357         libc_hidden_ver.
2358         * sysdeps/wordsize-64/strtoul_l.c (____strtoull_l_internal): Add
2359         libc_hidden_ver.
2360         * sysdeps/wordsize-64/wcstoul.c (__wcstoull_internal): Add
2361         libc_hidden_ver.
2362
2363 2002-08-04  Ulrich Drepper  <drepper@redhat.com>
2364
2365         * stdio-common/psignal.c: Declare _sys_siglist_internal.  Use USEINT
2366         to access _sys_siglist.
2367         * string/strsignal.c: Likewise.
2368         * sysdeps/generic/siglist.c: Add _sys_siglist_internal alias.
2369         * sysdeps/gnu/siglist.c: Likewise.
2370         * sysdeps/unix/siglist.c: Likewise.
2371         * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
2372
2373         * libio/fileops.c: Add missing INTUSEs for _IO_file_jumps.
2374
2375         * libio/wfileops.c: Add missing INTUSE for _IO_file_close.
2376
2377         * intl/dcigettext.c: Define _nl_default_dirname_internal as hidden
2378         alias and use it.
2379         * intl/bindtextdom.c: Use _nl_default_dirname_internal.
2380
2381         * include/netinet/in.h: Add declaration of in6addr_loopback_internal.
2382         * inet/in6_addr.c: Add INTVARDEF for in6addr_loopback.
2383         * sysdeps/posix/getaddrinfo.c: Use INTUSE for in6addr_loopback access.
2384
2385         * include/time.h: Add libc_hidden_proto for __gmtime_r.
2386         * time/gmtime.c (__gmtime_r): Add libc_hidden_def.
2387
2388         * iconv/Versions: Replace __gconv_alias_db, __gconv_modules_db,
2389         and __gconv_cache with __gconv_get_alias_db, __gconv_get_modules_db,
2390         and __gconv_get_cache respectively.
2391         * iconv/gconv_cache.c (gconv_cache): Renamed for __gconv_cache and
2392         defined static.  Change all users.
2393         (__gconv_get_cache): New function.
2394         * iconv/gconv_db.c (__gconv_get_modules_db): New function.
2395         (__gconv_get_alias_db): New function.
2396         * iconv/gconv_int.h (__gconv_alias_db): Declare as hidden.
2397         (__conv_modules_db): Likewise.
2398         Add prototypes for __gconv_get_cache, __gconv_get_modules_db,
2399         and __gconv_get_alias_db.
2400         * iconv/iconv_prog.c: Use the new functions instead of accessing the
2401         variables.
2402
2403         * include/stdlib.h: Add prototype and libc_hidden_proto for
2404         __default_morecore.
2405         * sysdeps/generic/morecore.c: Include <stdlib.h>.
2406
2407         * malloc/obstack.c: Remove fputs macro.
2408
2409         * malloc/mtrace.c: Remove fopen macro.
2410
2411 2002-08-04  Jakub Jelinek  <jakub@redhat.com>
2412
2413         * manual/debug.texi: Fix spelling to programmatically.
2414         Reported by <hayastan132@hotmail.com>.
2415
2416 2002-08-04  Ulrich Drepper  <drepper@redhat.com>
2417
2418         * include/libio.h: Add libc_hidden_proto for __uflow.
2419         * include/stdio.h: Map fopen, fdopen, fclose, fputs, fsetpos, and
2420         fgetpos to _IO_* names.
2421         Add libc_hidden_proto for fileno, fwrite, fseek, fflush_unlocked,
2422         fread_unlocked, fwrite_unlocked, fgets_unlocked, fputs_unlocked.
2423         * include/wchar.h: Add libc_hidden_proto for fputws_unlocked,
2424         putwc_unlocked, vswscanf.
2425         * libio/iolibio.h: Add libc_hidden_proto for _IO_fputs.
2426         * libio/fileno.c: Use <stdio.h> and libc_hidden_def.
2427         * libio/fseek.c: Likewise.
2428         * libio/fmemopen.c: Include "libioP.h".  Call _IO_fopencookie and
2429         not fopencookie.
2430         * libio/genops.c (__uflow): Add libc_hidden_def.
2431         * libio/iofflush_u.c (fflush_unlocked): Likewise.
2432         * libio/iofgets_u.c (fgets_unlocked): Likewise.
2433         * libio/iofputs_u.c (fputs_unlocked): Likewise.
2434         * libio/iofputws_u.c (fputws_unlocked): Likewise.
2435         * libio/iofread_u.c (fread_unlocked): Likewise.
2436         * libio/iofwrite_u.c (fwrite_unlocked): Likewise.
2437         * libio/iovswscanf.c (vswscanf): Likewise.
2438         * libio/putwc_u.c (putwc_unlocked): Likewise.
2439         * libio/iofputs.c: Use libc_hidden_def instead of INTDEF.
2440         * malloc/malloc.c: Redirect fwrite calls to _IO_fwrite.
2441         * malloc/mtrace.c: Likewise.
2442
2443         * sunrpc/clnt_perr.c: Remove fputs macro.
2444         * sunrpc/svc_simple.c: Likewise.
2445         * sunrpc/svc_tcp.c: Likewise.
2446         * sunrpc/svc_udp.c: Likewise.
2447         * sunrpc/xdr_rec.c: Likewise.
2448         * sunrpc/xdr_ref.c: Likewise.
2449
2450         * iconv/Makefile: Add CPPFLAGS definitions with -DNOT_in_libc for
2451         iconv_prog, linereader, and charmap-dir.
2452         * locale/Makefile: Likewise for locale and charmap-dir.
2453         * malloc/Makefile: Likewise for memusagestat.
2454         * nscd/Makefile: Likewise for nscd, nscd_conf, and dbg_log.
2455         * sunrpc/Makefile: Likewise for rpc_main.
2456         * sysdeps/unix/sysv/linux/Makefile: Likewise for lddlibc4.
2457         * timezone/Makefile: Likewise for zic.
2458
2459         * stdio-common/perror.c: Avoid multiple calls to fileno_unlocked.
2460
2461         * elf/dl-addr.c (_dl_addr): Add libc_hidden_def.
2462         * elf/dl-close.c (_dl_close): Add libc_hidden_def.
2463         * elf/dl-open.c (_dl_open): Add libc_hidden_def.
2464         * include/dlfcn.h: Add libc_hidden_proto for _dl_addr, _dl_open,
2465         _dl_close.
2466
2467         * include/libio.h: Add libc_hidden_proto for __underflow, __wuflow,
2468         __wunderflow.
2469         * libio/genops.c (__underflow): Add libc_hidden_def.
2470         * libio/wgenops.c (__wuflow): Likewise.
2471         (__wunderflow): Likewise.
2472
2473         * include/obstack.h: Add libc_hidden_proto for _obstack_newchunk.
2474         * malloc/obstack.c (_obstack_newchunk): Add libc_hidden_def.
2475
2476         * include/stdio.h: Add libc_hidden_proto for __vfscanf.
2477         * stdio-common/vfscanf.c (__vfscanf): Add libc_hidden_def.
2478
2479         * include/string.h: Add libc_hidden_proto for __strverscmp.
2480         * string/strverscmp.c (__strverscmp): Add libc_hidden_def.
2481
2482         * include/unistd.h: Add libc_hidden_proto for __sysconf.
2483         * sysdeps/generic/sysconf.c (__sysconf): Add libc_hidden_def.
2484         * sysdeps/posix/sysconf.c: Likewise.
2485         * sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
2486         * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
2487
2488         * include/wctype.h: Use libc_hidden_proto for __iswctype, __iswalnum_l,
2489         __iswalpha_l, __iswblank_l, __iswcntrl_l, __iswdigit_l, __iswlower_l,
2490         __iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l,
2491         __iswxdigit_l, __towlower_l, __towupper_l.
2492         * wcsmbs/wcstype.c (__iswctype): Use libc_hidden_def.
2493         * wcsmbs/wcfuncs_l.c: Use libc_hidden_def for all functions.
2494
2495         * include/sys/wait.h: Add libc_hidden_proto for __xmknod.
2496         * sysdeps/generic/xmknod.c (__xmknod): Add libc_hidden_def.
2497         * sysdeps/mach/hurd/xmknod.c: Likewise.
2498         * sysdeps/unix/xmknod.c: Likewise.
2499         * sysdeps/unix/sysv/linux/xmknod.c: Likewise.
2500         * sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise.
2501         * sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.
2502
2503         * sunrpc/svc.c: Add missing INTUSE for _authenticate.
2504
2505 2002-08-03  Roland McGrath  <roland@redhat.com>
2506
2507         * include/sys/resource.h: Use libc_hidden_proto for getpriority,
2508         setpriority.
2509         * sysdeps/unix/sysv/linux/getpriority.c: Add libc_hidden_def.
2510         * sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
2511         * sysdeps/unix/sysv/irix4/setpriority.c: Likewise.
2512         * sysdeps/mach/hurd/setpriority.c: Likewise.
2513         * sysdeps/mach/hurd/getpriority.c: Likewise.
2514         * sysdeps/generic/setpriority.c: Likewise.
2515         * sysdeps/generic/getpriority.c: Likewise.
2516
2517         * include/mcheck.h: Use libc_hidden_proto for mcheck_check_all.
2518         * malloc/mcheck.c: Add libc_hidden_def.
2519
2520         * include/search.h: Use libc_hidden_proto for hcreate_r, hdestroy_r.
2521         * misc/hsearch_r.c: Add libc_hidden_def.
2522
2523         * include/fnmatch.h: Use libc_hidden_proto for fnmatch.
2524         * posix/fnmatch.c: Add libc_hidden_weak.
2525
2526         * include/unistd.h: Use libc_hidden_proto for _exit, alarm, confstr,
2527         execl, execle, execlp, execvp, getpid, getsid.
2528         * sysdeps/generic/alarm.c: Add libc_hidden_def.
2529         * sysdeps/unix/alarm.c: Likewise.
2530         * posix/confstr.c: Likewise.
2531         * posix/execvp.c: Likewise.
2532         * posix/execlp.c: Likewise.
2533         * posix/execle.c: Likewise.
2534         * posix/execl.c: Likewise.
2535         * sysdeps/generic/getsid.c: Likewise.
2536         * sysdeps/mach/hurd/getsid.c: Likewise.
2537         * sysdeps/generic/getpid.c: Add libc_hidden_weak.
2538         * sysdeps/mach/hurd/getpid.c: Likewise.
2539
2540         * include/stdlib.h: Use libc_hidden_proto for ecvt_r, fcvt_r,
2541         qecvt_r, qfcvt_r, lrand48_r.
2542         * misc/efgcvt_r.c: Add libc_hidden_def.
2543
2544         * include/wordexp.h: Use libc_hidden_proto for wordfree.
2545         * sysdeps/generic/wordexp.c: Add libc_hidden_def.
2546
2547         * include/langinfo.h: Use libc_hidden_proto for nl_langinfo.
2548         * locale/nl_langinfo.c: Add libc_hidden_def.
2549
2550         * include/glob.h: Use libc_hidden_proto for glob, globfree, globfree64.
2551         * sysdeps/generic/glob.c: Add libc_hidden_def.
2552         * sysdeps/generic/glob64.c: Likewise.
2553         * sysdeps/wordsize-64/glob.c (globfree64): Add libc_hidden_weak.
2554
2555         * locale/nl_langinfo.c: Use _NL_CURRENT_DATA.
2556
2557         * elf/Makefile (CFLAGS-vismod2.c): New variable.
2558
2559         * locale/setlocale.c (_nl_current_names): Variable moved ...
2560         * locale/localename.c (_nl_current_names): ... here, new file.
2561         Make it global, with attribute_hidden.
2562         * locale/localeinfo.h: Declare it.
2563         * locale/Makefile (aux): Add localename.
2564         * locale/localename.c (__current_locale_name): New function.
2565         * include/locale.h (__current_locale_name): Declare it.
2566         * intl/dcigettext.c (guess_category_value): Use that instead of
2567         calling setlocale.
2568
2569         * locale/locale.h [__USE_GNU] (locale_t): New type alias of __locale_t.
2570         [__USE_GNU] (newlocale, duplocale, freelocale, uselocale): New decls.
2571         [__USE_GNU] (LC_GLOBAL_LOCALE): New macro.
2572         * locale/newlocale.c: Add alias to __ name.
2573         * locale/duplocale.c: Likewise.
2574         * locale/freelocale.c: Likewise.
2575         * locale/uselocale.c: New file.
2576         * locale/Makefile (routines): Add it.
2577         * locale/Versions (libc: GLIBC_2.3): New set.
2578         Add newlocale, duplocale, freelocale, uselocale.
2579         (libc: GLIBC_PRIVATE): Add __uselocale.
2580
2581         * locale/localeinfo.h [SHARED]
2582         (_NL_CURRENT_LOCALE): New macro, defined to fetch a tsd value.
2583         (_NL_CURRENT_DATA): Define using that.
2584         (_NL_CURRENT, _NL_CURRENT_WSTR, _NL_CURRENT_WORD): Define using that.
2585         (_NL_CURRENT_DEFINE): Define to empty.
2586         [! SHARED]: Decls of _nl_current_CATEGORY and _nl_current
2587         conditionalized on this.
2588         * locale/xlocale.c (NL_C_INTIIALIZER): New macro,
2589         taking initializer of _nl_C_locobj.
2590         [SHARED] (_nl_global_locale): New variable, using that initializer.
2591         (_nl_C_locobj): Use new macro for initialzier.
2592         * locale/setlocale.c [! SHARED] (_nl_current): Conditionalize on this.
2593         [! SHARED] (CATEGORY_USED): New macro.
2594         [SHARED] (CATEGORY_USED, _nl_C): New macros.
2595         (setdata, setlocale): Use that macro instead of examining _nl_current.
2596         (setdata): Set the slot in _nl_global_locale.
2597         Conditionalize setting of _nl_current on [! SHARED].
2598         * locale/findlocale.c [SHARED] (_nl_C): Define as a macro instead of
2599         declaration as an extern.
2600         * locale/newlocale.c (__newlocale): Use _nl_C_locobj instead of _nl_C.
2601
2602         * include/locale.h: Use libc_hidden_proto for setlocale.
2603         * locale/setlocale.c: Add libc_hidden_def.
2604
2605         * locale/setlocale.c (free_mem): Use _NL_CURRENT_DATA.
2606
2607         * include/search.h: Use libc_hidden_proto for hsearch_r, lfind.
2608         * misc/hsearch_r.c: Add libc_hidden_def.
2609         * misc/lsearch.c: Likewise.
2610
2611         * include/ttyent.h: Use libc_hidden_proto for getttyent, setttyent,
2612         endttyent.
2613         * misc/getttyent.c: Add libc_hidden_def.
2614
2615         * include/mcheck.h: Use libc_hidden_proto for mcheck.
2616         * malloc/mcheck.c: Add libc_hidden_def.
2617
2618         * include/envz.h: Use libc_hidden_proto for envz_entry, enz_remove.
2619         * include/argz.h: Use libc_hidden_proto for argz_delete.
2620         * string/argz-delete.c: Add libc_hidden_def.
2621         * string/envz.c: Likewise.  Use <envz.h>, not "envz.h".
2622
2623         * sysdeps/unix/sysv/linux/x86_64/clone.S (thread_start): Use
2624         HIDDEN_JUMPTARGET for _exit.
2625         * sysdeps/unix/sysv/linux/m68k/clone.S (thread_start): Likewise.
2626         * sysdeps/unix/sysv/linux/i386/clone.S (thread_start): Likewise.
2627         * sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
2628         * sysdeps/unix/_exit.S (_exit): Add libc_hidden_def.
2629
2630         * include/libc-symbols.h: Fix [__ASSEMBLY__] -> [__ASSEMBLER__].
2631         [__ASSEMBLER__] (hidden_weak): Define using hidden_def, or to empty.
2632         [__ASSEMBLER__] (HIDDEN_JUMPTARGET): New macro.
2633         * sysdeps/unix/sysv/linux/i386/makecontext.S: Use it for exit.
2634
2635         * include/stdlib.h: Use libc_hidden_proto for abort,
2636         __strtof_internal, __strtod_internal, __strtold_internal,
2637         __strtol_internal, __strtoll_internal, __strtoul_internal,
2638         __strtoull_internal. __strtof_l_internal, __strtod_l_internal,
2639         __strtold_l_internal, __strtol_l_internal, __strtoll_l_internal,
2640         __strtoul_l_internal, __strtoull_l_internal.
2641         * include/wchar.h: Use libc_hidden_proto for __wcstof_internal,
2642         __wcstod_internal, __wcstold_internal, __wcstol_internal,
2643         __wcstoll_internal, __wcstoul_internal, ____wcstof_l_internal,
2644         ____wcstod_l_internal, ____wcstold_l_internal, ____wcstol_l_internal,
2645         ____wcstoll_l_internal, ____wcstoul_l_internal, __wcscasecmp_l,
2646         __wcsncasecmp_l.
2647         * sysdeps/generic/abort.c: Add libc_hidden_def.
2648         * stdlib/strtod.c: Likewise.
2649         * sysdeps/generic/strtol.c: Likewise.
2650         * sysdeps/wordsize-64/strtol.c: Likewise.
2651         * sysdeps/wordsize-64/wcstol.c: Likewise.
2652         * sysdeps/wordsize-64/wcstol_l.c: Likewise.
2653
2654         * include/stdlib.h: Use libc_hidden_proto for qsort.
2655         * stdlib/msort.c: Add libc_hidden_def.
2656
2657         * include/utime.h: Use libc_hidden_proto for utime.
2658         * sysdeps/generic/utime.c: Add libc_hidden_def.
2659         * sysdeps/unix/utime.c: Likewise.
2660
2661         * sysdeps/generic/utmp_file.c (LOCK_FILE): sigemptyset -> __sigemptyset
2662         * sysdeps/posix/profil.c (__profil): sigfillset -> __sigfillset
2663         * sysdeps/posix/sprofil.c (__sprofil): Likewise.
2664         * shadow/lckpwdf.c (__lckpwdf): Likewise (both).
2665         * sysdeps/posix/spawni.c (__spawni): sigismember -> __sigismember
2666
2667         * include/signal.h: Use libc_hidden_proto for raise, sigemptyset,
2668         sigfillset, sigismember, __sigpause, __libc_current_sigrtmin,
2669         and __libc_current_sigrtmax.
2670         * signal/sigismem.c: Add libc_hidden_def.
2671         * signal/sigfillset.c: Likewise.
2672         * signal/sigempty.c: Likewise.
2673         * sysdeps/generic/sigpause.c (__sigpause): Likewise.
2674         * sysdeps/posix/sigpause.c (__sigpause): Likewise.
2675         * sysdeps/unix/bsd/osf/alpha/sigpause.S: Likewise.
2676         * sysdeps/posix/raise.c: Likewise.
2677         * sysdeps/generic/raise.c: Likewise.
2678
2679 2002-08-03  Ulrich Drepper  <drepper@redhat.com>
2680
2681         * include/string.h: Use libc_hidden_proto for __stpcpy.
2682         * sysdeps/alpha/stpcpy.S (__stpcpy): Add libc_hidden_def.
2683         * sysdeps/alpha/alphaev67/stpcpy.S: Likewise.
2684         * sysdeps/generic/stpcpy.c: Likewise.
2685         * sysdeps/i386/stpcpy.S: Likewise.
2686         * sysdeps/i386/i586/stpcpy.S: Likewise.
2687         * sysdeps/powerpc/stpcpy.S: Likewise.
2688         * sysdeps/sparc/sparc32/stpcpy.S: Likewise.
2689         * sysdeps/sparc/sparc64/stpcpy.S: Likewise.
2690
2691         * include/string.h: Use libc_hidden_proto for __strcasecmp_l,
2692         __strncasecmp_l, __strdup, __strndup, __strerror_r.
2693         * sysdeps/generic/strcasecmp_l.c (__strcasecmp_l): Add
2694         libc_hidden_def.
2695         * string/strdup.c (__strdup): Likewise.
2696         * string/strndup.c (__strndup): Likewise.
2697         * sysdeps/generic/_strerror.c (__strerror_r): Likewise.
2698         * sysdeps/generic/strncase_l.c (__strncasecmp_l): Likewise.
2699
2700 2002-08-03  Jakub Jelinek  <jakub@redhat.com>
2701
2702         * include/libio.h: New file.
2703         * libio/libioP.h (__overflow, __woverflow): Remove libc_hidden_proto.
2704         * libio/iolibio.h: #include <libio.h>, not "libio.h".
2705         * sysdeps/generic/morecore.c (__sbrk): Add libc_hidden_proto.
2706         * sysdeps/unix/bsd/syscalls.list: Remove all __GI_* aliases.
2707         * sysdeps/unix/common/syscalls.list: Likewise.
2708         * sysdeps/unix/inet/syscalls.list: Likewise.
2709         * sysdeps/unix/sysv/irix4/syscalls.list: Likewise.
2710         * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
2711         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
2712         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
2713         * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
2714         * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
2715         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
2716         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
2717         * sysdeps/unix/sysv/linux/syscalls.list: Likewise.
2718         * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: Likewise.
2719         * sysdeps/unix/syscalls.list: Likewise.
2720
2721 2002-08-03  Jakub Jelinek  <jakub@redhat.com>
2722             Ulrich Drepper  <drepper@redhat.com>
2723
2724         * malloc/malloc.c (public_cALLOc): Only divide if at least one of
2725         the arguments is big enough to cause an overflow.
2726
2727 2002-08-03  Ulrich Drepper  <drepper@redhat.com>
2728
2729         * assert/assert.c: Use hidden_def not INTDEF.
2730
2731 2002-08-03  Jakub Jelinek  <jakub@redhat.com>
2732
2733         * include/libc-symbols.h: Optimize if HAVE_BROKEN_ALIAS_ATTRIBUTE is
2734         not defined.
2735
2736 2002-08-03  Roland McGrath  <roland@redhat.com>
2737
2738         * include/sys/syslog.h: Use libc_hidden_proto for syslog, vsyslog.
2739         * include/err.h: Use libc_hidden_proto for warn, warnx, vwarn, vwarn,
2740         verr, verrx.
2741         * include/stdlib.h: Use libc_hidden_proto for exit, getenv, bsearch.
2742         * misc/syslog.c: Add libc_hidden_def.
2743         * misc/err.c: Likewise.
2744         * stdlib/exit.c: Likewise.
2745         * stdlib/bsearch.c: Likewise.
2746         * sysdeps/generic/getenv.c: Likewise.
2747
2748         * include/libc-symbols.h (hidden_weak): Define it for [__ASSEMBLER__].
2749
2750         * sysdeps/unix/make-syscalls.sh: Generate libc_hidden_def or
2751         libc_hidden_weak for every system call symbol defined.
2752
2753         * include/time.h: Use libc_hidden_proto for time, asctime, mktime,
2754         timelocal, localtime, strftime.
2755         * time/asctime.c: Add libc_hidden_def.
2756         * time/mktime.c: Likewise.
2757         * time/localtime.c: Likewise.
2758         * time/strftime.c: Likewise.
2759         * time/strptime.c: Likewise.
2760         * sysdeps/generic/time.c: Likewise.
2761         * sysdeps/unix/time.c: Likewise.
2762         * sysdeps/unix/sysv/i386/time.S: Likewise.
2763         * sysdeps/unix/sysv/linux/x86_64/time.S: Likewise.
2764
2765         * include/arpa/inet.h: Use libc_hidden_proto for inet_ntop, inet_pton.
2766         inet_makeaddr, inet_netof, inet_addr, __inet_addr.
2767         * resolv/inet_ntop.c: Likewise.
2768         * resolv/inet_pton.c: Likewise.
2769         * inet/inet_mkadr.c: Add libc_hidden_def.
2770         * inet/inet_netof.c: Likewise.
2771         * resolv/inet_addr.c: Likewise.
2772
2773         * include/libc-symbols.h: Remove `defined HAVE_BROKEN_ALIAS_ATTRIBUTE'
2774         clauses from conditionals for now.  Will have to be fixed later
2775         for older compilers.
2776
2777         * sysdeps/generic/mempcpy.c (__mempcpy): #undef it before defn.
2778
2779 2002-08-02  Ulrich Drepper  <drepper@redhat.com>
2780
2781         * configure.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add check for
2782         broken alias attribute handling.
2783         * config.h.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add.
2784
2785 2002-08-02  Roland McGrath  <roland@frob.com>
2786
2787         * elf/Makefile ($(objpfx)interp.os): Depend on config.make,
2788         since it sets the variables we use in a -D switch.
2789
2790 2002-08-02  Roland McGrath  <roland@redhat.com>
2791
2792         * posix/bits/posix1_lim.h (SSIZE_MAX): Define to LONG_MAX, not INT_MAX.
2793         On 32-bit platforms they are the same; on 64-bit platforms ssize_t
2794         matches long int, not int.
2795
2796         * locale/localeinfo.h (_NL_CURRENT_DATA): New macro.
2797         * wcsmbs/wcsmbsload.h (update_conversion_ptrs): Use it.
2798         * locale/lc-ctype.c (_nl_postload_ctype): Likewise.
2799         * wctype/wctrans.c (wctrans): Likewise.
2800         * wctype/wctype.c (__wctype): Likewise.
2801         * intl/loadmsgcat.c (_nl_init_domain_conv): Use _NL_CURRENT.
2802
2803 2002-08-02  Ulrich Drepper  <drepper@redhat.com>
2804
2805         * assert/assert.c (__assert_fail): Fix typo in comment.
2806
2807         * include/rpc/rpc.h: Declare RPC_VARS tsd as extern.
2808         * sunrpc/rpc_thread.c: Define it without static.
2809         * sunrpc/Versions [libc] (GLIBC_PRIVATE): Export __libc_tsd_RPC_VARS.
2810
2811 2002-08-02  Jakub Jelinek  <jakub@redhat.com>
2812
2813         * assert/assert.c (__assert_fail): Remove undef.
2814         Replace INTDEF with libc_hidden_def.
2815         * assert/__assert.c (__assert): Remove INTUSE.
2816         * elf/dl-minimal.c (__assert_fail): Replace INTDEF with
2817         libc_hidden_weak.
2818         * include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak,
2819         hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak,
2820         libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak,
2821         rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak,
2822         libm_hiden_ver): Define.
2823         * include/assert.h (__assert_fail_internal): Remove.
2824         (__assert_fail): Add prototype.  Add hidden_proto.
2825         * include/libc-internal.h (__libc_freeres, __profile_frequency): Add
2826         libc_hidden_proto.
2827         * include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove.
2828         (__mbrtowc, __mbrlen): Use libc_hidden_proto.  Remove macros.
2829         * include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp):
2830         Add libc_hidden_proto.
2831         * include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open,
2832         __fcntl): Add libc_hidden_proto.  Remove macros.
2833         (__open_internal, __fcntl_internal): Remove.
2834         * libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl.
2835         * malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def.
2836         * nss/nsswitch.h (__nss_database_lookup, __nss_next): Add
2837         libc_hiden_proto.
2838         * nss/nsswitch.c (__nss_database_lookup, __nss_next): Add
2839         libc_hidden_def.
2840         * sysdeps/generic/mempcpy.c (__mempcpy): Remove undef.
2841         Add libc_hidden_def.
2842         * sysdeps/generic/open64.c (__open64): Add libc_hidden_def.
2843         * sysdeps/generic/open.c (__open): Remove undef.
2844         Add libc_hidden_def.  Remove INTDEF.
2845         * sysdeps/generic/fcntl.c (__fcntl): Remove undef.
2846         Add libc_hidden_def.
2847         * sysdeps/mach/hurd/fcntl.c (__fcntl): Likewise.
2848         * sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def.
2849         * sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise.
2850         * sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
2851         (__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
2852         (__libc_fcntl): Add libc_hidden_def.
2853         * sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef.
2854         (__open): Remove INTDEF2.  Add libc_hidden_weak.
2855         (__libc_open): Add libc_hidden_def.
2856         * sysdeps/posix/open64.c (__open64): Add libc_hidden_weak.
2857         * sysdeps/standalone/open.c (__open): Add libc_hidden_def.
2858         * sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
2859         Add libc_hidden_def.
2860         * sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef.
2861         Add libc_hidden_def.
2862         * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove
2863         undef.
2864         (__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
2865         (__libc_fcntl): Add libc_hidden_def.
2866         * sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal,
2867         __getpgid_internal, __chown_internal): Remove.
2868         (__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe,
2869         __GI___sched_setscheduler, __GI___select, __GI___setpgid,
2870         __GI___chown): Add.
2871         * sysdeps/unix/syscalls.list (__close_internal, __dup2_internal,
2872         __getpid_internal, __open_internal, __write_internal): Remove.
2873         (__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open,
2874         __GI___chown, __GI___close, __GI___dup2, __GI___getpid,
2875         __GI___libc_open, __GI___open, __GI___read, __GI___libc_read,
2876         __GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add.
2877         * wcsmbs/mbrlen.c (__mbrlen): Remove undef.
2878         Replace INTDEF with libc_hidden_def.
2879         * wcsmbs/mbrtowc.c (__mbrtowc): Likewise.
2880         * catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto.
2881         * catgets/open_catalog.c (__open_catalog): Add libc_hidden_def.
2882         * elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto.
2883         * include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr):
2884         Add libc_hidden_proto.
2885         * include/sys/poll.h (__poll): Add libc_hidden_proto.
2886         * include/sys/select.h (__select): Likewise.
2887         * include/sys/socket.h (__send): Likewise.
2888         * include/sys/statfs.h (__statfs): Likewise.
2889         * include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2,
2890         __getpid, __getpgid, __setpgid, __close, __read, __write,
2891         __getpagesize, __sbrk): Likewise.
2892         (__chown_internal, __dup2_internal, __getpid_internal,
2893         __getpgid_internal, __close_internal, __write_internal,
2894         __getpagesize_internal): Remove.
2895         (__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write):
2896         Remove macros.
2897         * include/printf.h (__printf_fp): Add libc_hidden_proto.
2898         * include/sched.h (__sched_setscheduler): Likewise.
2899         * include/resolv.h (__res_ninit, __res_randomid): Likewise.
2900         * include/stdlib.h (__secure_getenv): Likewise.
2901         * include/signal.h (__sigaction, __sigsuspend): Likewise.
2902         * inet/getaliasent_r.c (NSS_attribute_hidden): Remove.
2903         * inet/getaliasname_r.c (NSS_attribute_hidden): Remove.
2904         * inet/getnetbyad_r.c (NSS_attribute_hidden): Remove.
2905         * inet/getnetbynm_r.c (NSS_attribute_hidden): Remove.
2906         * inet/getnetent_r.c (NSS_attribute_hidden): Remove.
2907         * inet/getproto_r.c (NSS_attribute_hidden): Remove.
2908         * inet/getprtent_r.c (NSS_attribute_hidden): Remove.
2909         * inet/getprtname_r.c (NSS_attribute_hidden): Remove.
2910         * inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove.
2911         * inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove.
2912         * inet/getrpcent_r.c (NSS_attribute_hidden): Remove.
2913         * inet/getservent_r.c (NSS_attribute_hidden): Remove.
2914         * inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove.
2915         * inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove.
2916         * inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE.
2917         * inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
2918         * inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
2919         * inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
2920         * libio/genops.c (__overflow): Add libc_hidden_def.
2921         * libio/iovdprintf.c: Remove libio.h include.
2922         * libio/libioP.h (libc_hidden_proto, libc_hidden_def,
2923         libc_hidden_weak): Define to nothing if not defined.
2924         (__overflow, __woverflow): Add libc_hidden_proto.
2925         * libio/wgenops.c (__woverflow): Add libc_hidden_def.
2926         * nss/getXXent_r.c (NSS_attribute_hidden): Remove.
2927         (DB_LOOKUP_FCT): Add libc_hidden_proto.
2928         * nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove.
2929         (DB_LOOKUP_FCT): Add libc_hidden_proto.
2930         * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto
2931         and libc_hidden_def.
2932         * nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF.
2933         * posix/bsd-getpgrp.c (__getpgid_internal): Remove.
2934         (__getpgid): Add libc_hidden_proto.
2935         (__bsd_getpgrp): Remove INTUSE.
2936         * resolv/res_init.c (__res_ninit, __res_randomid): Add
2937         libc_hidden_def.
2938         * shadow/getspent_r.c (NSS_attribute_hidden): Remove.
2939         * shadow/getspnam_r.c (NSS_attribute_hidden): Remove.
2940         * stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def.
2941         * stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto.
2942         * stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def.
2943         * sunrpc/rpc_thread.c (__rpc_thread_svc_fdset,
2944         __rpc_thread_createerr): Add libc_hidden_def.
2945         * sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add
2946         libc_hidden_def.
2947         * sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise.
2948         * sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise.
2949         * sysdeps/alpha/stpncpy.S (__stpncpy): Likewise.
2950         * sysdeps/generic/chown.c (__chown): Likewise.
2951         * sysdeps/generic/close.c (__close): Likewise.
2952         * sysdeps/generic/dup2.c (__dup2): Likewise.
2953         * sysdeps/generic/pipe.c (__pipe): Likewise.
2954         * sysdeps/generic/prof-freq.c (__profile_frequency): Likewise.
2955         * sysdeps/generic/pwrite64.c (__pwrite64): Likewise.
2956         * sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise.
2957         * sysdeps/generic/read.c (__libc_read): Likewise.
2958         (__read): Add libc_hidden_weak.
2959         * sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def.
2960         * sysdeps/generic/sched_sets.c (__sched_setscheduler): Likewise.
2961         * sysdeps/generic/select.c (__select): Likewise.
2962         * sysdeps/generic/send.c (__send): Likewise.
2963         * sysdeps/generic/setpgid.c (__setpgid): Likewise.
2964         * sysdeps/generic/sigaction.c (__sigaction): Likewise.
2965         * sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise.
2966         * sysdeps/generic/statfs.c (__statfs): Likewise.
2967         * sysdeps/generic/stpncpy.c (__stpncpy): Likewise.
2968         * sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise.
2969         * sysdeps/generic/getpagesize.c (__getpagesize): Likewise.
2970         Remove undef and INTDEF.
2971         * sysdeps/generic/getpgid.c (__getpgid): Likewise.
2972         * sysdeps/generic/getpid.c (__getpid): Likewise.
2973         * sysdeps/generic/write.c (__libc_write): Likewise.
2974         (__write): Add libc_hidden_weak.  Remove undef and INTDEF.
2975         * sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def.
2976         * sysdeps/i386/stpncpy.S (__stpncpy): Likewise.
2977         * sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise.
2978         * sysdeps/mach/hurd/chown.c (__chown): Likewise.  Remove INTDEF.
2979         * sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def.
2980         Remove undef and INTDEF.
2981         * sysdeps/mach/hurd/dup2.c (__dup2): Likewise.
2982         * sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise.
2983         * sysdeps/mach/hurd/getpid.c (__getpid): Likewise.
2984         * sysdeps/mach/getpagesize.c (__getpagesize): Likewise.
2985         * sysdeps/mach/hurd/write.c (__libc_write): Likewise.
2986         (__write): Add libc_hidden_weak.  Remove undef and INTDEF.
2987         * sysdeps/mach/hurd/pipe.c: Include unistd.h.
2988         (__pipe): Add libc_hidden_def.
2989         * sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add
2990         libc_hidden_weak.
2991         * sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def.
2992         * sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise.
2993         * sysdeps/mach/hurd/read.c (__libc_read): Likewise.
2994         (__read): Add libc_hidden_weak.
2995         * sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise.
2996         (__libc_pwrite64): Add libc_hidden_def.
2997         * sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise.
2998         * sysdeps/mach/hurd/select.c (__select): Likewise.
2999         * sysdeps/mach/hurd/send.c (__send): Likewise.
3000         * sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise.
3001         * sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise.
3002         * sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise.
3003         * sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
3004         * sysdeps/posix/dup2.c: Likewise.
3005         Remove undef and INTDEF.
3006         * sysdeps/posix/getpagesize.c (__getpagesize): Likewise.
3007         * sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def.
3008         (__pwrite64): Add libc_hidden_weak.
3009         * sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def.
3010         * sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise.
3011         * sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise.
3012         * sysdeps/standalone/close.c (__close): Likewise.
3013         * sysdeps/standalone/write.c (__libc_write): Likewise.
3014         (__write): Add libc_hidden_weak.
3015         * sysdeps/standalone/read.c (__read): Likewise.
3016         (__libc_read): Add libc_hidden_def.
3017         * sysdeps/unix/grantpt.c (grantpt): Remove INTUSE.
3018         * sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def.
3019         * sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
3020         * sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise.
3021         * sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise.
3022         * sysdeps/unix/bsd/poll.c (__poll): Likewise.
3023         * sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise.
3024         * sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise.
3025         * sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid,
3026         __GI___sigaction): Add.
3027         * sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def.
3028         * sysdeps/unix/inet/syscalls.list (__GI___send): Add.
3029         * sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def.
3030         * sysdeps/unix/sparc/pipe.S (__pipe): Likewise.
3031         * sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid,
3032         __GI___setpgid): Add.
3033         * sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def.
3034         Remove undef and INTDEF.
3035         * sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise.
3036         * sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise.
3037         * sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def.
3038         * sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise.
3039         * sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise.
3040         * sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise.
3041         * sysdeps/unix/sysv/aix/poll.c (__poll): Likewise.
3042         * sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise.
3043         * sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise.
3044         * sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise.
3045         * sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise.
3046         * sysdeps/unix/sysv/aix/select.c (__select): Likewise.
3047         * sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise.
3048         * sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise.
3049         * sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64,
3050         __GI___statfs, __GI___send): Add.
3051         * sysdeps/unix/sysv/linux/alpha/select.S (__select): Add
3052         libc_hidden_ver resp. libc_hidden_def.
3053         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add
3054         libc_hidden_def.
3055         * sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
3056         Likewise.  Remove undef and INTDEF.
3057         * sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def.
3058         * sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64,
3059         __GI___statfs, __GI___send): Add.
3060         * sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add
3061         libc_hidden_def.
3062         * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend):
3063         Likewise.
3064         * sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise.
3065         * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add
3066         libc_hidden_ver resp. libc_hidden_def.
3067         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64,
3068         __GI___send): Add.
3069         * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction):
3070         Add libc_hidden_weak.
3071         * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend):
3072         Add libc_hidden_def.
3073         * sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add.
3074         * sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add
3075         libc_hidden_weak.
3076         * sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver
3077         resp. libc_hidden_def.
3078         * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add
3079         libc_hidden_weak.
3080         * sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise.  Remove
3081         INTDEF.
3082         * sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize):
3083         Likewise.  Remove undef.
3084         * sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add
3085         libc_hidden_weak.
3086         * sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add.
3087         * sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add
3088         libc_hidden_weak.
3089         * sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add
3090         libc_hidden_def.
3091         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise.
3092         * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize):
3093         Likewise.  Remove undef and INTDEF.
3094         * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add
3095         libc_hidden_def.
3096         * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add
3097         libc_hidden_weak.
3098         * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add
3099         libc_hidden_def.
3100         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
3101         (__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add.
3102         * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add
3103         libc_hidden_weak.
3104         * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend):
3105         Add libc_hidden_def.
3106         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64,
3107         __GI___statfs): Add.
3108         * sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add
3109         libc_hidden_weak.
3110         * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise.
3111         * sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def.
3112         Remove undef and INTDEF.
3113         * sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def.
3114         * sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add
3115         libc_hidden_def.
3116         * sysdeps/unix/sysv/linux/send.S (__send): Likewise.
3117         * sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add
3118         libc_hidden_weak.
3119         * sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add
3120         libc_hidden_def.
3121         * sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise.
3122         * sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise.
3123         * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction):
3124         Add.
3125         * sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add
3126         libc_hidden_def.  Remove undef and INTDEF.
3127         * sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise.
3128         * sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add
3129         libc_hidden_def.
3130         * sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise.
3131         * sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise.
3132         * sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise.
3133         * sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def.
3134         Remove undef and INTDEF.
3135         * configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for
3136         broken visibility attribute handling.
3137         * config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add.
3138
3139 2002-08-02  Ulrich Drepper  <drepper@redhat.com>
3140
3141         * locale/iso-639.def: Add entries for Venda and Nothern Sotho.
3142         Reported by Dwayne Bailey <dwayne@obsidian.co.za>.
3143
3144         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Adapt
3145         previous patch.
3146
3147 2002-06-29  Todd Fries  <todd@openbsd.org>
3148
3149         * resolv/gethnamaddr.c (gethostbyaddr): Try ip6.int if ip6.arpa fails.
3150
3151 2002-08-02  Jakub Jelinek  <jakub@redhat.com>
3152
3153         * include/errno.h: Don't include tls.h if _ISOMAC is defined.
3154
3155 2002-07-30  Roland McGrath  <roland@redhat.com>
3156
3157         * resolv/resolv.h (_res): Define macro unconditionally.
3158         [! _LIBC_REENTRANT] (_res): Move this conditional decl to ...
3159         * include/resolv.h: ... here.
3160         [USE_TLS && HAVE___THREAD] (_res): #undef it and declare
3161         as a __thread variable.
3162         * resolv/res_libc.c [USE_TLS && HAVE___THREAD] (_res): Define it as
3163         a __thread variable instead of a global.
3164         * resolv/res_data.c [_LIBC]: Don't #undef _res.
3165
3166         * include/errno.h: Include <tls.h> to make sure USE_TLS defined by the
3167         time we test it.
3168
3169         * intl/loadmsgcat.c [__GNUC__]: #undef alloca before defining it.
3170
3171         * malloc/malloc.c [_LIBC]: Include <string.h> instead of using local
3172         decls of memset and memcpy.
3173
3174         * sysdeps/generic/sysdep.h (END): Conditionalize on [__ASSEMBLER__].
3175         * sysdeps/unix/sysv/linux/i386/sysdep.h (L): Likewise.
3176
3177         * elf/dl-load.c (_dl_map_object_from_fd): Comment fix.
3178
3179         * sysdeps/generic/bits/libc-tsd.h [USE_TLS && HAVE___THREAD]
3180         (__libc_tsd_define): Define using __thread.
3181
3182         * sunrpc/rpc_thread.c: Use __libc_tsd_define.
3183         (__rpc_thread_variables): Use __libc_tsd_get.
3184         (__rpc_thread_destroy): Use __libc_tsd_get instead of calling
3185         __rpc_thread_variables, which might allocate what we're about to free.
3186
3187         * inet/herrno.c [USE_TLS && HAVE___THREAD] (h_errno): Define as a
3188         thread-local variable.
3189         * resolv/netdb.h (h_errno): Define macro unconditionally.
3190         [_LIBC] (__set_h_errno): Macro moved to ...
3191         * include/netdb.h: ... here.
3192         [USE_TLS && HAVE___THREAD] (h_errno): Declare __thread variable.
3193         [USE_TLS && HAVE___THREAD] (__set_h_errno): Define using that.
3194         [! _LIBC_REENTRANT]: #undef h_errno here.
3195
3196         * include/errno.h: Protect from multiple inclusion.
3197
3198         * misc/sys/select.h (__NFDBITS, __FDELT, __FDMASK): #undef these
3199         before defining them, since Linux's <linux/posix_types.h> might have
3200         defined them.
3201
3202 2002-08-02  Jakub Jelinek  <jakub@redhat.com>
3203
3204         * malloc/malloc.c (public_cALLOc): Check for overflow on
3205         multiplication.
3206         * sunrpc/xdr_array.c (xdr_array): Likewise.
3207         * sunrpc/rpc/types.h (mem_free): Add comment.
3208         Patch by Solar Designer <solar@openwall.com>.
3209
3210 2002-08-02  Jakub Jelinek  <jakub@redhat.com>
3211
3212         * sysdeps/unix/sysv/linux/kernel-features.h
3213         (__ASSUME_SET_THREAD_AREA_SYSCALL): Define.
3214
3215 2002-08-01  Roland McGrath  <roland@redhat.com>
3216
3217         * libio/fileops.c (_IO_file_sync_mmap): New function.
3218         (_IO_file_jumps_mmap): Use it.
3219         (_IO_file_underflow_mmap): Rewritten.  If after EOF or fflush,
3220         repeat the stat check and resize the mapped buffer as necessary.
3221
3222 2002-07-31  Roland McGrath  <roland@redhat.com>
3223
3224         * libio/fileops.c (decide_maybe_mmap): New static function.
3225         Code taken from libio/iofopen.c:__fopen_maybe_mmap to try to
3226         mmap the file contents.  Then switch the jump tables to the mmap
3227         tables if it worked, or the vanilla file tables if not.
3228         (_IO_file_underflow_maybe_mmap): New function.
3229         (_IO_file_seekoff_maybe_mmap): New function.
3230         (_IO_file_xsgetn_maybe_mmap): New function.
3231         (_IO_file_jumps_maybe_mmap): New variable, jump table using those.
3232         * libio/libioP.h: Declare those.
3233         * libio/wfileops.c (_IO_wfile_underflow_maybe_mmap): New function.
3234         (_IO_wfile_jumps_maybe_mmap): New variable, jump table using that.
3235         * libio/iofopen.c (__fopen_maybe_mmap): Don't try to mmap here.
3236         If the stream is read-only, set its jump tables to those new ones.
3237         * libio/iofdopen.c (_IO_new_fdopen) [_G_HAVE_MMAP]: Set the initial
3238         jump tables to the maybe_mmap ones, and don't call __fopen_maybe_mmap.
3239         We need the tables set before _IO_file_attach.
3240
3241         * libio/tst-mmap-eofsync.c: New file.
3242         * libio/tst-mmap-fflushsync.c: New file.
3243         * libio/bug-mmap-fflush.c: New file.
3244         * libio/tst-mmap2-eofsync.c: New file.
3245         * libio/Makefile (tests): Add them.
3246
3247         * libio/wfileops.c (_IO_wfile_underflow_mmap): Don't set EOF bit when
3248         _IO_file_underflow_mmap fails, it already set the appropriate bit.
3249
3250 2002-07-31  Jeff Bailey  <jbailey@gnu.org>
3251
3252         * libio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr):
3253         Declarations moved to <bits/sys_errlist.h>.  Include that file.
3254         * libio/Makefile (headers): Add bits/sys_errlist.h to the list.
3255         * sysdeps/generic/bits/sys_errlist.h: New file.  This does *not*
3256         declare sys_errlist and sys_nerr.
3257         * sysdeps/unix/sysv/linux/bits/sys_errlist.h: New file.  Does
3258         provide declarations.
3259
3260 2002-07-31  Roland McGrath  <roland@redhat.com>
3261
3262         * elf/rtld.c (dl_main): Fix typo in error message.
3263
3264 2002-07-31  Roland McGrath  <roland@frob.com>
3265
3266         * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): __fxstat -> __fxstat64,
3267         __xstat -> __xstat64, __lseek -> __libc_lseek64.  Completes 2002-06-09
3268         sysdeps/mach/hurd/dl-sysdep.c change.
3269
3270 2002-07-28  Ulrich Drepper  <drepper@redhat.com>
3271
3272         * sysdeps/unix/sysv/linux/configure.in: Check /lib/modules/`uname
3273         -r`/build/include for kernel headers.
3274
3275         * po/fi.po: New file.
3276
3277 2002-07-15  Alexandre Oliva  <aoliva@redhat.com>
3278
3279         * configure.in (static_nss): Set to `yes' if --disable-shared.
3280
3281 2002-07-23  Bruno Haible  <bruno@clisp.org>
3282
3283         * intl/loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN
3284         is set.
3285
3286 2002-07-25  Jakub Jelinek  <jakub@redhat.com>
3287
3288         * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: New file.
3289         * sysdeps/unix/sysv/linux/ia64/profil-counter.h: Fix profil_counter
3290         arguments.
3291
3292 2002-07-25  Jakub Jelinek  <jakub@redhat.com>
3293
3294         * sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Add
3295         alias.
3296
3297 2002-07-21  Bruno Haible  <bruno@clisp.org>
3298
3299         * intl/libintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro.
3300         * intl/gettext.h (struct mo_file_header): New fields n_sysdep_segments,
3301         sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset,
3302         trans_sysdep_tab_offset.
3303         (struct sysdep_segment): New type.
3304         (struct sysdep_string): New type.
3305         (SEGMENTS_END): New macro.
3306         * intl/gettextP.h (struct sysdep_string_desc): New type.
3307         (struct loaded_domain): New fields malloced, n_sysdep_strings,
3308         orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields
3309         orig_tab, trans_tab, hash_tab to const pointers because they point
3310         into read-only memory.
3311         * intl/loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h.
3312         (PRI*): Define fallback values.
3313         (get_sysdep_segment_value): New function.
3314         (_nl_load_domain): Distinguish major and minor revision parts. Add
3315         support for minor revision 1 with system dependent strings.
3316         (_nl_unload_domain): Also free the 'malloced' field.
3317         * intl/dcigettext.c (_nl_find_msg): Remove test for domain->hash_size,
3318         now done in loadmsgcat.c. Add support for system dependent strings.
3319
3320 2002-07-16  Stepan Kasal  <kasal@math.cas.cz>
3321
3322         * posix/bug-regex7.c: New file.
3323         * posix/bug-regex8.c: New file.
3324         * posix/Makefile (tests): Add bug-regex7 and bug-regex8.
3325
3326 2002-07-16  Stepan Kasal  <kasal@math.cas.cz>
3327
3328         * posix/bug-regex4.c (main): Fix typos.
3329         * posix/bug-regex6.c (main): Likewise.
3330
3331 2002-07-27  Ulrich Drepper  <drepper@redhat.com>
3332
3333         * posix/bug-regex6.c (main): Fix warnings.
3334
3335         * iconvdata/Makefile (CPPFLAGS): Add NOT_IN_libc.
3336
3337         * iconv/iconv_prog.c (main): Improve error message for the cases
3338         where -t and/or -f parameter are missing.
3339
3340 2002-07-10  Stepan Kasal  <kasal@math.cas.cz>
3341
3342         * posix/regexec.c (re_match): Reorganize to remove duplicate code.
3343         (re_search): Likewise.
3344         (re_match_2): Likewise.
3345         (re_search_2): Likewise.
3346         (re_search_stub): New function.
3347         (re_search_2_stub): New function.
3348         * regcomp.c (re_compile_pattern): Typo in a comment fixed.
3349
3350 2002-07-10  Isamu Hasegawa  <isamu@yamato.ibm.com>
3351
3352         * posix/regex_internal.h: Add new member STOP to struct re_string_t.
3353         (re_string_eoi): Use STOP instead of LEN.
3354         * posix/regex_internal.c (re_string_allocate): Initialize pstr->len.
3355         (re_string_construct): Likewise.
3356         (re_string_reconstruct): Adjust pstr->stop like pstr->len.
3357         * posix/regexec.c (re_search_internal): Add a new argument STOP
3358         so that it can handle the argument STOP of re_search_2 and re_match_2
3359         correctly.
3360         (regexec): Adapt to new I/F of re_search_internal.
3361         (re_search_stub): Likewise.
3362
3363 2002-07-25  Ulrich Drepper  <drepper@redhat.com>
3364
3365         * sunrpc/clnt_gen.c: Don't include <sys/errno.h>.
3366
3367         * elf/dl-minimal.c: Remove definition of __assert_perror_fail.
3368
3369         * sysdeps/wordsize-32/divdi3.c: Define __divdi3_internal.
3370         * sysdeps/wordsize-32/lldiv.c: Make gcc use __divdi3_internal instead
3371         of __divdi3.
3372
3373         * sysdeps/unix/sysv/linux/adjtime.c: Use __adjtimex_internal.
3374         * sysdeps/unix/sysv/linux/ntp_gettime.c: Likewise.
3375         * sysdeps/unix/sysv/linux/syscalls.list: Add __adjtimex_internal
3376         alias for adjtimex syscall.
3377
3378         * elf/dl-minimal.c: Define __assert_fail_internal.
3379         * assert/assert.c: Likewise.
3380         * include/assert.h: Define __assert_file macro if !SHARED and not
3381         NOT_IN_libc.
3382
3383         * iconv/Makefile: Define NOT_IN_libc for objects in standalone
3384         programs.
3385         * locale/Makefile: Likewise.
3386         * nscd/Makefile: Likewise.
3387         * catgets/Makefile: Likewise.
3388
3389 2002-07-24  Ulrich Drepper  <drepper@redhat.com>
3390
3391         * libio/fileops.c (_IO_file_seekoff_mmap): Do use fp->_offset to
3392         compute current position.
3393
3394         * stdio-common/tst-fseek.c (main): Improve error messages.
3395
3396         * libio/tst-freopen.c (main): Remove unused variable.
3397
3398         * libio/fileops.c (_IO_file_seekoff_mmap): Set fp->_offset after
3399         succesful seek call.  Simplify error checking.
3400
3401 2002-07-25  Jakub Jelinek  <jakub@redhat.com>
3402
3403         * config.h.in: Use __ASSEMBLER__ test macro not ASSEMBLER.
3404         * sysdeps/ia64/fpu/libm_support.h: Likewise.
3405
3406 2002-07-19  Roland McGrath  <roland@frob.com>
3407
3408         * hurd/hurdsig.c (_hurdsig_getenv): Always return null if
3409         __libc_enable_secure is set.
3410
3411 2002-07-24  Roland McGrath  <roland@frob.com>
3412
3413         Added <ifaddrs.h> interface with functions `getifaddrs', `freeifaddrs'.
3414         This implementation supports only IPv4.
3415         * inet/ifaddrs.h: New file.
3416         * sysdeps/generic/ifaddrs.c: New file.
3417         * sysdeps/gnu/ifaddrs.c: New file.
3418         * inet/test-ifaddrs.c: New file.
3419         * inet/Makefile (routines): Add ifaddrs.
3420         (headers): Add ifaddrs.h here.
3421         (tests): Add test-ifaddrs.
3422         * inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs.
3423
3424         * resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit
3425         socket call to get an AF_INET socket, instead of using __opensock.
3426         The SIOCGIFNETMASK ioctl will work only with a PF_INET socket.
3427
3428         * sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD,
3429         if not -1 use it instead of calling __opensock.
3430         * sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise.
3431         * sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it.
3432         * resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument.
3433
3434         * sysdeps/mach/hurd/ifreq.h: New file.
3435         * sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS.
3436         * sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise.
3437         * resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller.
3438
3439         * libio/fileops.c (_IO_file_seekoff_mmap): Don't rely on FP->_offset,
3440         which gets moved around.  Calculate size of mmap'd buffer instead.
3441
3442 2002-07-24  Philip Blundell  <philb@gnu.org>
3443
3444         * sysdeps/unix/arm/brk.S: Improve schedule.
3445         * sysdeps/unix/sysv/linux/arm/socket.S (PUSHARGS_1): Use more
3446         efficient instruction.
3447         (__socket): Optimize return sequence.
3448