update from main archive 960912
[kopensolaris-gnu/glibc.git] / ChangeLog
1 Fri Sep 13 04:33:08 1996  Ulrich Drepper  <drepper@cygnus.com>
2
3         * sched.h: New file.  helper to access posix/sched.h.
4         * posix/sched.h: Change `sched_params' to `sched_param' to follow
5         POSIX.4.
6
7 Thu Sep 12 20:12:40 1996  Ulrich Drepper  <drepper@cygnus.com>
8
9         * db/makedb.c (usage): Print bug report address separately to
10         ease translators task.
11         * catgets/gencat.c (usage): Likewise.
12         * locale/locale.c (usage): Likewise.
13         * locale/localedef.c (usage): Likewise.
14
15 1996-09-12  Paul Eggert  <eggert@twinsun.com>
16
17         * time/strftime.c (my_localtime_r): Define if ! HAVE_LOCALTIME_R,
18         and #define localtime_r to it.  If _LIBC, use __localtime_r instead.
19         (my_gmtime_r): Similar, except it's not needed if ! HAVE_TM_GMTOFF.
20
21 Thu Sep 12 14:03:29 1996  Ulrich Drepper  <drepper@cygnus.com>
22
23         * crypt/Makefile: Include Makeconfig and add crypt object dir to
24         rpath-link so that running the check finds the new library.
25         * crypt/cert.c: provide correct prototypes to prevent warnings.
26         Reported by Andreas Jaeger.
27
28         * sysdeps/mach/hurd/Makefile (rpath-link): Don't use += because
29         old and new value must be glued using `:'.
30         Reported by Marcus Daniels.
31
32 Thu Sep 12 12:33:52 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
33
34         * stdio-common/vfprintf.c: Include <libc-lock.h>.
35         (vfprintf): Only call __libc_cleanup_region_end if USE_IN_LIBIO,
36         thus matching the sense of the tests around
37         __libc_cleanup_region_start at the front of the function.
38         * stdio-common/vfscanf.c: Include <libc-lock.h>.
39         (UNLOCK_STREAM) [! USE_IN_LIBIO]: Call
40         __libc_cleanup_region_end, not __libc_cleanup_region_start.
41
42         * sysdeps/mach/libc-lock.h (__libc_cleanup_region_start): New
43         macro.
44         (__libc_cleanup_region_end): New macro.
45
46 Thu Sep 12 03:35:27 1996  Ulrich Drepper  <drepper@cygnus.com>
47
48         * sysdeps/unix/sysv/linux/i386/Dist: Remove init-first.h.
49         * sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
50         * sysdeps/unix/sysv/linux/Dist: Add init-first.h.
51
52 1996-09-11  Paul Eggert  <eggert@twinsun.com>
53
54         * strftime.c (strftime):
55         Handle E and O modifiers, required for POSIX.2 and XPG4.
56         Don't use sprintf to format numbers; this way, we can handle time_t
57         correctly regardless of whether it's signed.
58         Don't dump core if format ends in %.
59         In default %c format, use %e instead of %d, for POSIX.2 compatibility.
60         For %z:
61                 Use tm_gmtoff if available.
62                 Output nothing if tm_isdst is negative.
63                 Output correct value even if arg is 1969-12-31 23:59:59 UTC.
64                 Don't assume that UTC offset is less than 24 hours;
65                 Posix requires support for 24 hours, and there's no point
66                 limiting it at all.
67         (HAVE_TM_GMTOFF, TYPE_SIGNED, INT_STRLEN_BOUND): New macros.
68         (CHAR_BIT): Define if <limits.h> doesn't.
69         (tm_diff): New function.
70         (fmt, <stdio.h>): Remove; no longer used.
71
72 Thu Sep 12 02:21:44 1996  Ulrich Drepper  <drepper@cygnus.com>
73
74         * db/Makefile: Add extra-libs-others variable so that shared
75         library is built in `others' pass.
76         * elf/Makefile: Likewise.
77         * math/Makefile: Likewise.
78         * resolv/Makefile: Likewise.
79
80         * Makefile (generated): Add version.info.h.
81
82         * time/checktab.awk: New file.  From ADO 96k.
83         * time/iso3166.tab: Likewise.
84         * time/tzselect.ksh: Likewise.
85         * time/zone.tab: Likewise.
86
87         * stdio-common/vfprintf.c: Correct cleanup registration.  We
88         cannot use a macro
89
90 1996-09-11  Paul Eggert  <eggert@twinsun.com>
91
92         * time/time.h (tm_gmtoff, tm_zone): Prefix with `__' unless
93         __USE_BSD; this is required for ANSI C compatibility.
94         * manual/time.texi: Replace GMT by UTC, daylight savings by
95         daylight saving, timezone by time zone.
96         Rewrite description of %V to match ISO 8601.
97         Fix TZ Posix string example for US Eastern time.
98         Explain tzname[1] when DST isn't used.
99         Explain tzname when multiple abbreviations used (e.g. EST/EWT/EDT).
100         Explain that timezone's sign is opposite from tm_gmtoff, and that
101         timezone lacks DST adjustment whereas tm_gmtoff has it.
102         Deprecate tzname and timezone.
103
104 Tue Sep 10 14:46:16 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
105
106         Implement Roland McGrath's idea of how to put an .interp into
107         shared libraries.
108         * interp.c: New file.
109         * Makerules (interp-obj): New object, linked into every shared
110         library.
111         (common-generated): Add interp.so.
112         (CFLAGS-interp.c): Pass name of interpreter.
113
114 Tue Sep 10 21:09:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
115
116         * db/Makefile: Fix typo.
117
118 Tue Sep 10 19:29:53 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
119
120         * nss/db-Makefile ($(VAR_DB)/passwd.db): Look for multiple
121         occurences of the same uid, and only generate a mapping for the
122         first one.
123
124 Tue Sep 10 03:14:59 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
125
126         * sysdeps/unix/sysv/linux/system.c: New file, to override
127         sysdeps/unix/system.c.
128
129 Tue Sep 10 15:05:40 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
130
131         * Makefile (before-compile): Add version-info.h, needed to build
132         version.d.
133
134 Tue Sep 10 14:14:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
135
136         * sysdeps/unix/sysv/linux/m68k/sysdep.S: Remove check for
137         EWOULDBLOCK, never true on Linux.
138         (__errno_location): New function.
139         [_LIBC_REENTRANT]: Set errno using __errno_location function.
140         * sysdeps/unix/sysv/linux/m68k/sysdep.h [PIC]: Add second
141         syscall_error handler for reentrant libc.
142
143 Tue Sep 10 13:27:49 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
144
145         * elf/Makefile (extra-objs): Add eval.so to get dependencies.
146
147 Wed Sep 11 04:40:57 1996  Ulrich Drepper  <drepper@cygnus.com>
148
149         * time/tzset.c (__tzname_cur_max): Use type `size_t' to avoid
150         warning.
151         * time/tzfile.c (compute_tzname_max): Likewise.
152
153 Wed Sep 11 02:57:31 1996  Ulrich Drepper  <drepper@cygnus.com>
154
155         * configure.in: Quote $add_ons argument in loop to generated
156         prefices.
157
158 Tue Sep 10 20:43:45 1996  Ulrich Drepper  <drepper@cygnus.com>
159
160         * db/makedb.c: Include <locale.h>.  Reported by Fila Kolodny.
161
162 Tue Sep 10 14:42:39 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
163
164         * elf/dl-cache.c: Rename to ...
165         * sysdeps/generic/dl-cache.c:  ... here.
166         * sysdeps/mach/hurd/dl-cache.c: New file.
167         
168         * mach/Makefile (distribute): Add `errsystems.awk'.
169         * hurd/Makefile (distribute): Add `Notes' and `intr-msg.h'.
170         * hurd/hurdintr.awk: Delete file.  (Not used in ages.)
171         * hurd/intr-rpc.awk: Likewise.
172         * hurd/invoke-trans.c: Likewise.
173         * sysdeps/mach/hurd/i386/longjmp-ctx.c: Likewise.
174         * sysdeps/mach/hurd/alpha/longjmp-ctx.c: Likewise.
175         * sysdeps/mach/hurd/mips/longjmp-ctx.c: Likewise.
176         * sysdeps/mach/hurd/i386/init-fault.c: Likewise.
177         * sysdeps/mach/hurd/mips/init-fault.c: Likewise.
178         * sysdeps/stub/init-fault.c: Likewise.
179         * sysdeps/stub/longjmp-ctx.c: Likewise.
180         
181 Tue Sep 10 13:49:08 1996  Ulrich Drepper  <drepper@cygnus.com>
182
183         * inet/herrno.c: Initialize `h_errno' so that we can provide
184         alias.
185
186         * Makefile (version-info.h): Fix typo in shell script.
187
188         * sysdeps/i386/i586/strlen.S: Optimize startup code a bit.
189         * sysdeps/i386/i586/strchr.S: Likewise.
190
191 Mon Sep  9 20:31:27 1996  Ulrich Drepper  <drepper@cygnus.com>
192
193         * version.c (banner): Report to bug-glibc@prep not @gnu.
194         Reported by Andreas Jaeger.
195
196         * libio/stdio.h [!__USE_REENTRANT]: Don't define getc as
197         _IO_getc_unlocked.
198         [__USE_REENTRANT]: Don't define
199
200 Mon Sep  9 15:59:32 1996  Ulrich Drepper  <drepper@cygnus.com>
201
202         * sysdeps/i386/strrchr.c: Fix bug where NUL byte is not recognized
203         when it is the third byte in the string.  Reported by
204         NIIBE Yutaka.
205         * string/tester.c: Add tests for above bug to strlen, strchr, and
206         strrchr tests.
207
208 Fri Sep  6 21:23:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
209
210         * sysdeps/m68k/fpu/e_acos.c: Deansideclized.  Include
211         "math_private.h" to get prototype.
212         * sysdeps/m68k/fpu/e_fmod.c: Likewise.
213         * sysdeps/m68k/fpu/k_cos.c: Likewise.
214         * sysdeps/m68k/fpu/k_sin.c: Likewise.
215         * sysdeps/m68k/fpu/k_tan.c: Likewise.
216
217         * sysdeps/m68k/fpu/k_sin.c: Remove uneeded indirection of
218         __m81_u.
219         * sysdeps/m68k/fpu/k_tan.c: Likewise.
220
221 Sun Sep  1 18:01:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
222
223         * sysdeps/m68k/fpu/__math.h: Check for __NO_M81_MATH_INLINES
224         instead of __NO_MATH_INLINES.
225         (__M81_MATH_INLINES): Renamed from __MATH_INLINES.
226         * sysdeps/m68k/fpu/e_acos.c: Define __NO_M81_MATH_INLINES.
227         * sysdeps/m68k/fpu/e_fmod.c: Likewise.
228         * sysdeps/m68k/fpu/k_cos.c: Likewise.
229         * sysdeps/m68k/fpu/k_sin.c: Likewise.
230         * sysdeps/m68k/fpu/k_tan.c: Likewise.
231         * sysdeps/m68k/fpu/s_atan.c: Likewise.
232         * sysdeps/m68k/fpu/s_frexp.c: Likewise.
233         * sysdeps/m68k/fpu/s_ilogb.c: Likewise.
234         * sysdeps/m68k/fpu/s_isinf.c: Likewise.
235         * sysdeps/m68k/fpu/s_ldexp.c: Likewise.
236         * sysdeps/m68k/fpu/s_modf.c: Likewise.
237         * sysdeps/m68k/fpu/k_cos.c: Use inline version of __cos.
238         * sysdeps/m68k/fpu/k_sin.c: Likewise.
239         * sysdeps/m68k/fpu/k_tan.c: Likewise.
240
241 Mon Sep  9 12:55:14 1996  Ulrich Drepper  <drepper@cygnus.com>
242
243         * nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): Check for
244         available character before converting number and return with
245         error if none is available.
246
247 Fri Sep  6 22:09:08 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
248
249         * sysdeps/unix/sysv/linux/init-first.h: New file, generic
250         implementation for architectures where parameters are passed on
251         stack.
252         * sysdeps/unix/sysv/linux/m68k/init-first.h: Removed.
253         * sysdeps/unix/sysv/linux/i386/init-first.h: Removed.
254
255 Fri Sep  6 22:05:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
256
257         * configure.in: Remove unneeded sysnames frobbing.
258
259 Mon Sep  9 05:29:09 1996  Ulrich Drepper  <drepper@cygnus.com>
260
261         * time/zic.c: Update from ADO 96l.
262         * time/africa: Update from ADO 96k.
263         * time/antarctica: Likewise.
264         * time/asia: Likewise.
265         * time/australia: Likewise.
266         * time/europe: Likewise.
267         * time/northamerica: Likewise.
268         * time/southamerica: Likewise.
269
270 Mon Sep  9 05:03:47 1996  NIIBE Yutaka  <gniibe@mri.co.jp>
271
272         * sysdeps/unix/sysv/linux/i386/init-first.h: Work around buggy
273         gcc <= 2.7.2.1 which optimizes away address operations on weak
274         objects.
275
276         * nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): New macro.
277         Like INT_FIELD but also accept non-existing field.
278         * shadow/sgetspent_r.c (LINE_PARSER): Use INT_FIELD_MAYBE_NULL
279         for last four fields.
280         * shadow/putspent.c (putspent): Print `:' after numeric value.
281
282 Mon Sep  9 02:42:48 1996  Richard Henderson  <rth@tamu.edu>
283
284         * libio/stdio.h (BUFSIZ): Define using _IO_BUFSIZ.
285
286 Sun Sep  8 16:43:56 1996  Ulrich Drepper  <drepper@cygnus.com>
287
288         * Make-dist: Filter out $(add-ons) from $(subdirs).
289         Don't distribute TAGS files.
290         ($(tardir).tar): Remove dist.tar when all is done.
291         * manual/Makefile (distribute): Add libc.info*.
292         * libio/Makefile (distribute): Add Banner.
293         * inet/Makefile (headers): Add netinet/tcp.h.
294
295         * resolv/Makefile (libresolv-routines): Add getnetnamadr.
296
297         * crypt-README: Removed.
298         * gnu-stabs.h: Removed.
299
300         * sysdeps/alpha/copysign.S: Renamed to...
301         * sysdeps/alpha/s_copysign.S: ...this.
302         * sysdeps/alpha/fabs.S: Renamed to...
303         * sysdeps/alpha/s_fabs.S: ...this.
304
305         * sysdeps/m68k/isinfl.c: Renamed to...
306         * sysdeps/m68k/s_isinfl.c: ...this.
307         * sysdeps/m68k/isnanl.c: Renamed to...
308         * sysdeps/m68k/s_isnanl.c: ...this.
309
310         * sysdeps/sparc/sqrt.c: Renamed to...
311         * sysdeps/sparc/e_sqrt.c: ...this.  Function name now is
312         __ieee754_sqrt.
313
314         * sysdeps/generic/get_str.c: Removed.
315
316         * sysdeps/ieee754/cbrt.c: Removed.
317         * sysdeps/ieee754/drem.c: Removed.
318         * sysdeps/ieee754/logb.c: Removed.
319         * sysdeps/ieee754/sqrt.c: Removed.
320
321         * sysdeps/stub/cbrt.c: Removed.
322         * sysdeps/stub/cos.c: Removed.
323         * sysdeps/stub/drem.c: Removed.
324         * sysdeps/stub/isinf.c: Removed.
325         * sysdeps/stub/isinfl.c: Removed.
326         * sysdeps/stub/isnanl.c: Removed.
327         * sysdeps/stub/logb.c: Removed.
328         * sysdeps/stub/sin.c: Removed.
329         * sysdeps/stub/sqrt.c: Removed.
330
331         * sysdeps/tahoe/log10.c: Removed.
332
333         * sysdeps/vax/index.s: Removed.
334         * sysdeps/vax/rindex.s: Removed.
335         * sysdeps/vax/bcmp.s: Removed.
336         * sysdeps/vax/log10.c: Removed.
337         * sysdeps/vax/infnan.c: Removed.
338         * sysdeps/vax/Dist: Add fl.h.
339
340         * sysdeps/unix/sysv/linux/alpha/Dist: Add llseek.S.
341
342         * inet/rcmd.c (rcmd): Make messages more uniform.
343
344 Sun Sep  8 14:15:42 1996  Ulrich Drepper  <drepper@cygnus.com>
345
346         * po/de.po: Update.
347         * po/es.po: Update.
348         * po/ko.po: Update.
349         * po/pl.po: New file.
350         * po/nl.po: New file.
351
352 Sat Sep  7 18:41:17 1996  Richard Henderson  <rth@tamu.edu>
353
354         * Makeconfig (+link): Filter out start, pre & postinit from the
355         generic depenancies as well.
356         * Rules: Add start, pre & postinit to the dependancies of
357         $(others) and $(tests).
358
359         * configure.in: elf_dirs missing "sysdeps" component.
360
361 Sun Sep  8 02:36:02 1996  Ulrich Drepper  <drepper@cygnus.com>
362
363         * locale/SYS_libc.c (_libc_intl_domainname): Change value to "libc".
364         This is consistent with all other GNU packages.  We shouldn't
365         take care for a possible clash.  Nobody will name the domain
366         of a package libc if it is not the libc itself.
367         * MakeTAGS ($P/SYS_libc.pot): Rename to $P/libc.pot.
368         * po/Makefile (domainname): Change to libc.
369         (distribute): Now ship libc.pot.
370         * catgets/gencat.c (usage): Use `PACKAGE' for package name in
371         version information banner.
372         Change bug report address to bug-glibc@prep not @gnu.
373         * db/makedb.c (PACKAGE): New macro.  Set to _libc_intl_domain.
374         (main): Use `PACKAGE' for package name in version information
375         banner.
376         Change bug report address to bug-glibc@prep not @gnu.
377         * locale/programs/locale.c (main): Use `PACKAGE' for package name
378         in version information banner.
379         Change bug report address to bug-glibc@prep not @gnu.
380         * locale/programs/localedef.c (main): Likewise.
381
382         * version.h (VERSION): Bump to 1.94.
383
384         * locale/Makefile (distribute): Add locale.c and localedef.c.
385
386 Sat Sep  7 14:00:33 1996  David Mosberger-Tang  <davidm@azstarnet.com>
387
388         * catgets/catgets.c (catopen): Allocate sizeof(*result) bytes
389         instead of sizeof(nl_catd) (which is just a pointer!).
390
391 Sat Sep  7 19:39:19 1996  Ulrich Drepper  <drepper@cygnus.com>
392
393         * Makefile ($(objpfx)version-info.h): Generate from Banner files.
394         * version.c (banner): Add contents of version-info.h to string.
395
396         * Makerules: If $($(subdir)-version) is available name versioned
397         shared library according to this value instead of glibc's version.
398
399         * libio/Banner: New file.
400
401         * elf/eval.c (funcall): Write error message in case function is
402         not found.
403         (eval): Recognize `_' in names.
404
405 Sat Sep  7 05:15:45 1996  Ulrich Drepper  <drepper@cygnus.com>
406
407         * libio/iofdopen: Initialize _lock field only if _IO_MTSAFE_IO.
408         * libio/iofopen: Likewise.
409         * libio/iofopncook.c: Likewise.
410         * libio/iopopen.c: Likewise.
411         * libio/iovsprintf.c: Likewise.
412         * libio/iovsscanf.c: Likewise.
413         * libio/memstream.c: Likewise.
414         * libio/vasprintf.c: Likewise.
415         * libio/vdprintf.c: Likewise.
416         * libio/vsnprintf.c: Likewise.
417
418 Sat Sep  7 03:55:47 1996  Ulrich Drepper  <drepper@cygnus.com>
419
420         * Makeconfig (soversions.mk): Also use shlib-versions files
421         in add-on directories.
422         * config.make.in (config-defines): Remove.  Not used anymore.
423         (defines): New variable.  Initiliazed by @DEFINES@.
424         * configure.in: Add AC_SUBST(DEFINES).
425
426         * libio/Makefile (routines): When compiling reentrant libc add
427         clearerr_u, feof_u, ferror_u, fputc_u, getc_u, getchar_u,
428         iofflush_u, putc_u, putchar_u, ioflockfile.
429         (CPPFLAGS): Add -D_IO_MTSAFE_IO for reentrant libc.
430
431         * sysdeps/stub/libc-lock.h: Add stubs for __libc_cleanup_region_start
432         and __libc_cleanup_region_end.
433
434         * sysdeps/unix/i386/sysdep.S [_LIBC_REENTRANT]: Set errno
435         using __errno_location function.
436         * sysdeps/unix/sysv/linux/i386/sysdep.S [_LIBC_REENTRANT]: Set errno
437         using __errno_location function.
438         (__errno_location): New function.
439         * sysdeps/unix/sysv/linux/i386/sysdep.h [PIC]: Add second
440         syscall_error handler for reentrant libc.
441
442         * sysdeps/unix/opendir.c: Remove unneeded `;'.
443
444         * libio.h [_IO_MTSAFE_IO]: Include <pthread.h>.
445         [!_IO_MTSAFE_IO]: Define _IO_flockfile and _IO_funlockfile
446         as empty macros.
447         * libioP.h: Include <libc-lock.h>.
448         * libio/stdio.h: Add prototypes for *_locked and *_unlocked
449         functions.
450
451         * libio/clearerr.c: Use _IO_ protected versions of flockfile
452         and funlockfile to be namespace clean.
453
454         * libio/genops.c: Use __libc_lock_* macros for handling lock.
455
456         * libio/iofdopen: Add initialization of _lock in _IO_FILE.
457         * libio/iofopen: Likewise.
458         * libio/iofopncook.c: Likewise.
459         * libio/iopopen.c: Likewise.
460         * libio/iovsprintf.c: Likewise.
461         * libio/iovsscanf.c: Likewise.
462         * libio/memstream.c: Likewise.
463         * libio/vasprintf.c: Likewise.
464         * libio/vdprintf.c: Likewise.
465         * libio/vsnprintf.c: Likewise.
466
467         * libio/fgetc.c: Use __libc_cleanup_region_* macros instead
468         of flockfile etc.
469         * libio/fputc.c: Likewise.
470         * libio/freopen.c: Likewise.
471         * libio/fseek.c: Likewise.
472         * libio/getc.c: Likewise.
473         * libio/getchar.c: Likewise.
474         * libio/iofclose.c: Likewise.
475         * libio/iofflush.c: Likewise.
476         * libio/iofgetpos.c: Likewise.
477         * libio/iofgets.c: Likewise.
478         * libio/iofputs.c: Likewise.
479         * libio/iofread.c: Likewise.
480         * libio/iofsetpos.c: Likewise.
481         * libio/ioftell.c: Likewise.
482         * libio/iofwrite.c: Likewise.
483         * libio/iogetdelim.c: Likewise.
484         * libio/iogets.c: Likewise.
485         * libio/ioputs.c: Likewise.
486         * libio/iosetbuffer.c: Likewise.
487         * libio/iosetvbuf.c: Likewise.
488         * libio/ioungetc.c: Likewise.
489         * libio/putc.c: Likewise.
490         * libio/putchar.c: Likewise.
491         * libio/rewind.c: Likewise.
492         * stdio-common/vfprintf.c: Likewise.
493         * stdio-common/vfscanf.c: Likewise.
494
495         * libio/clearerr_u.c: Correct alias name.
496         * libio/ferror_u.c: Likewise.
497         * libio/fileno.c: Likewise.
498         * libio/fputc_u.c: Likewise.
499         * libio/getc.c: Likewise.
500         * libio/getc_u.c: Likewise.
501         * libio/getchar.c: Likewise.
502         * libio/getchar_u.c: Likewise.
503         * libio/putc.c: Likewise.
504         * libio/putchar.c: Likewise.
505
506         * libio/feof_u.c: Undefine macro with name of function before
507         definition of function itself.
508
509         * libio/ioflockfile.c: New file.  Implementation of flockfile and
510         funlockfile.
511
512         * libio/putchar_u.c: Fix typo.  Use stdout instead of fp.
513
514         * malloc/malloc.h: Don't include <libc-lock.h> and don't declare
515         _malloc_loc.
516
517         * malloc/free.c: Include <libc-lock.h>.
518         * malloc/realloc.c: Likewise.
519         * malloc/malloc-find.c: Likewise.
520         * malloc/malloc-size.c: Likewise.
521         * malloc/malloc-walk.c: Likewise.
522         * malloc/memalign.c: Likewise.
523         * malloc/malloc.c: Likewise.
524
525         * sysdeps/i386/dl-machine.h: Correct clearing of _dl_starting_up.
526
527 Fri Sep  6 19:38:49 1996  Ulrich Drepper  <drepper@cygnus.com>
528
529         * sysdeps/stub/libc-lock.h: Define __libc_lock_critical_start
530         and __libc_lock_critical_end as empty macros.
531
532         * malloc/malloc.h: Don't include <libc-lock.h> and don't declare
533         __libc_malloc_lock.
534         * malloc/free.c: Include <libc-lock.h>.
535         * malloc/malloc-find.c: Likewise.
536         * malloc/malloc-size.c: Likewise.
537         * malloc/malloc-walk.c: Likewise.
538         * malloc/malloc.c: Likewise.
539         * malloc/memalign.c: Likewise.
540         * malloc/realloc.c: Likewise.
541
542         * Makefile: Undo change from Mon Sep  2 22:15:14 1996.  No more
543         extra_solibs pass.
544         * Rules: Likewise.
545         * extra-lib.mk: Likewise.
546         * manual/Makefile: Likewise.
547
548         * db/Makefile (makedb): Choose dependecies based on build-shared.
549         Patch by Andres Schwab.
550
551         * sysdeps/posix/sysconf.c: Don't use PTHREAD_DESTRUCTOR_ITERATIONS
552         but _POSIX_THREAD_DESTRUCTOR_ITERATIONS.
553
554         * sysdeps/unix/sysv/linux/errnos.h: New file.
555         * sysdeps/unix/sysv/linux/schedbits.h: New file.
556         * sysdeps/unix/sysv/linux/waitflags.h: New file.
557
558         * sysdeps/unix/sysv/linux/gnu/types.h: Add definition of `key_t'.
559
560 Fri Sep  6 08:26:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
561
562         * rpm/template: Fix typo in %build section.
563
564 Fri Sep  6 03:31:07 1996  Ulrich Drepper  <drepper@cygnus.com>
565
566         * sysdeps/unix/sysv/linux/errnos.h: Don't define errno macro when
567         building libc without thread support.
568         * resolv/netdb.h: Likewise for h_errno macro.
569
570 Thu Sep  5 23:01:48 1996  Ulrich Drepper  <drepper@cygnus.com>
571
572         * libc-symbols.h: Add new macro weak_const_function.  It's like
573         weak_function, but the function is additionally marked as const.
574         * features.h: Only include <sys/cdefs.h> if !__ASSEMBLER__.
575
576 Thu Sep  5 22:55:49 1996  Richard Henderson  <rth@tamu.edu>
577
578         * inet/herrno.c (__h_errno_location): New function.
579         (h_errno): Make strong_alias __h_errno so that we can access
580         the variable even if `h_errno' is a macro.
581         * resolv/netdb.h: Define macro h_errno to access thread specific
582         version of h_errno variable.  Declare alias __h_errno for h_errno.
583         * resolv/res_query (h_errno): Remove definition.
584         * sysdeps/unix/sysv/linux/errnos.h [!__ASSEMBLER__ && __USE_REENTRANT]:
585         Add macro `errno' to get thread specific variable.
586         * sysdeps/unix/alpha/sysdep.S [_LIBC_REENTRANT]: Set errno using
587         __errno_location function.
588         (__errno_location): New function.
589
590 Thu Sep  5 21:08:44 1996  Ulrich Drepper  <drepper@cygnus.com>
591
592         * posix/gnu/types.h: Remove definition of key_t.
593         * sysdeps/generic/gnu/types.h: Move it to here.
594         * sysdeps/unix/sysv/linux/gnu/types.h: Add Linux specific
595         definition of key_t.
596
597         * sysdeps/unix/sysv/linux/waitflags.h: New file.  Linux specific
598         definitions.
599         * sysdeps/unix/sysv/linux/schedbits.h: New file.  Include
600         clone prototypes and associated flags.
601
602 Thu Sep  5 13:18:25 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
603
604         * sysdeps/mach/hurd/i386/init-first.c (__libc_argc, __libc_argv):
605         New variables.
606         (init1): Initialize them.
607         * hurd/hurdinit.c (_hurd_setproc): Now that happens to be
608         available, pass __libc_argv in call to __proc_set_arg_locations.
609
610         * gmon/gmon.c (write_hist): Call __profile_frequency instead of
611         hertz.
612         (hertz): Delete function.
613         * gmon/Makefile (routines): Add `prof-freq'.
614         * sysdeps/generic/prof-freq.c: New file.
615         * sysdeps/mach/hurd/prof-freq.c: New (stubby) file.
616         * sysdeps/mach/hurd/profil.c (profile_tick): New variable.
617         (update_waiter): Store frequency in profile_tick.
618         (__profile_frequency): New function.
619
620         * sysdeps/mach/hurd/sendto.c (sendto): Use prototype definition
621         syntax.
622
623         * Rules (generated): Restore reference to $(generated).
624
625         * mach/Machrules (mig.uh, mig.__h): Don't include $(user-MIGFLAGS)
626         here.
627
628         * malloc/free.c (free): __lib_malloc_lock -> __libc_malloc_lock.
629
630         * malloc/free.c: Provide extern decl of __libc_malloc_lock.
631         * malloc/realloc.c: Likewise.
632         * malloc/malloc-find.c: Likewise.
633         * malloc/malloc-size.c: Likewise.
634         * malloc/malloc-walk.c: Likewise.
635         * malloc/memalign.c: Likewise.
636
637 Thu Sep  5 08:58:47 1996  Richard Henderson  <rth@tamu.edu>
638
639         * sysdeps/alpha/elf/start.S: Make _start global again.
640
641 Thu Sep  5 03:20:42 1996  Ulrich Drepper  <drepper@cygnus.com>
642
643         Change configuration and Makefiles to allow add-ons to have a
644         sysdeps/ directory hierachy.
645         * configure.in: Test for sysdeps/ directory in add-ons.  Before
646         all test and searches in these hierachies, too.
647         * Makeconfig (full-config-subdirs): Define based on $(config-sysdirs).
648         Extend with $(..) if not absolute path.
649         Use $(full-config-subdirs) where $(config-sysdirs) was used.
650         * Makefile ($(objpfx)sysd-dirs): Use config-sysdirs.
651         * MakeTAGS: Use $(full-config-subdirs).
652         * Makerules: Change comment to libc.so link script.
653         (sysdirs): Define based on $(full-config-subdirs).
654         (sysd-Makefile): Define using config-sysdirs.
655         (sysd-rules): Likewise.
656         * sysdeps/unix/Makefile (sysd-syscalls): Define based on +sysdep-dirs.
657         * sysdeps/unix/make-syscalls.sh: Remove basedir argument.
658
659 Wed Sep  4 01:32:21 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
660
661         * sysdeps/m68k/fpu/k_cos.c: Rewritten for better accuracy.
662         * sysdeps/m68k/fpu/k_sin.c: Likewise.
663         * sysdeps/m68k/fpu/k_tan.c: Likewise.
664
665 Thu Sep  5 01:06:09 1996  Richard Henderson  <rth@tamu.edu>
666
667         * malloc/free.c (free): Protect by using __libc_malloc_lock.
668         * malloc/malloc-find.c (malloc_find_object_address): Likewise.
669         * malloc/malloc-size.c (malloc_usable_size): Likewise.
670         * malloc/malloc-walk.c (malloc_walk): Likewise.
671         * malloc/memalign.c (memalign): Likewise.
672         * malloc/realloc.c (realloc): Likewise.
673         * malloc/malloc.c: Define __libc_malloc_lock.
674         (_malloc_internal): Don't use `malloc'.  Instead look for
675         `__malloc_hook' or call `_malloc_internal'.
676         (malloc): Protect by using `__libc_malloc_lock'.
677         * malloc/malloc.h: Declare `__libc_malloc_lock'.
678
679 Mon Sep  2 22:42:59 1996  Richard Henderson  <rth@tamu.edu>
680
681         * sysdeps/alpha/elf/start.S: Use weak_alias for __start
682         instead of the hard definition.
683
684         * sysdeps/alpha/dl-machine.h (RTLD_START): Add type info for
685         _start and _dl_start_user.
686
687         * sysdeps/unix/sysv/linux/alpha/init-first.h (SYSDEP_CALL_INIT):
688         Make _dl_starting_up weak.  Add type info for NAME.
689
690 Mon Sep  2 22:15:14 1996  Richard Henderson  <rth@tamu.edu>
691
692         * Makefile (all): Add extra_solibs pass.
693         (+subdir_targets): Same.
694         * Rules (extra_solibs): New phony empty target for subdirs without
695         extra libs.
696         * extra-lib.mk: Build lib*.so* in extra_solibs not lib-noranlib.
697         * manual/Makefile: Add dummy extra_solibs target.
698
699 Sun Sep  1 15:41:22 1996  Richard Henderson  <rth@tamu.edu>
700
701         * Makeconfig (+link): Add $(link-extra-libs).
702         (link-extra-libs): New variable which expands to the full paths of
703         the other libraries needed by a program, as controled by LDLIBS-$(@F).
704         * db/Makefile: Use LDLIBS-makedb to link libdb not a dependency, as
705         the later attempts to install the library before linking it.
706
707         * sysdeps/unix/alpha/sysdep.S: Align errno.
708
709         * sysdeps/unix/sysv/linux/alpha/ioperm.c (struct platform): Add
710         hae_shift entry.
711         (io): Move bus_memory_base and sparse_bus_memory_base into struct.
712         (_hae_shift): New function.
713         * sysdeps/unix/sysv/linux/alpha/sys/io.h: New file.  Prototypes
714         for the bus query functions.
715
716 Sat Aug 31 18:14:54 1996  Richard Henderson  <rth@tamu.edu>
717
718         * elf/dl-close.c (_dl_close): In static executables, map->l_prev
719         can be NULL when unloading a library.
720
721         * elf/dl-open.c (_dl_open): Pass __environ instead of __libc_envp
722         to the library .init function.
723
724         * sysdeps/alpha/dl-machine.h (elf_machine_rela):  Since we omitted
725         part of the COPY reloc processing earlier, omit the rest now --
726         we'll get into less trouble later when some fool does use a COPY.
727
728         * sysdeps/unix/sysv/linux/init-first.c (init): Accept argc et al as
729         parameters.  Move all argc and __libc_multiple_libcs calculation out
730         to init-first.h.  Use __environ not __libc_envp.
731         * sysdeps/unix/sysv/linux/alpha/init-first.h: Rewrite.
732         * sysdeps/unix/sysv/linux/i386/init-first.h: Rewrite.
733
734 Thu Aug 29 20:26:40 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
735
736         * sysdeps/posix/profil.c (profil): Don't clobber saved timer and
737         signal settings when profiling was already turned on.
738
739         * csu/gmon-start.c (__gmon_start__) [HAVE_INITFINI]: Protect from
740         being called twice.
741
742 Wed Sep  4 01:31:50 1996  Ulrich Drepper  <drepper@cygnus.com>
743
744         * sysdeps/unix/sysv/linux/i386/mmap.S: Test for
745         0 < return value < -4096 and not < 0 to decide about failure.
746         Reported by Andreas Jaeger.
747
748 Tue Sep  3 19:04:05 1996  Ulrich Drepper  <drepper@cygnus.com>
749
750         * stdio-common/vfscanf.c (__vfscanf): Don't count EOF char
751         in %c format.
752
753 Sat Aug 31 18:10:51 1996  Ulrich Drepper  <drepper@cygnus.com>
754
755         * wcsmbs/wchar.h: Define prototypes for wcstoq and wcstouq only
756         #ifdef __USE_GNU.
757
758 Sat Aug 31 12:34:29 1996  Ulrich Drepper  <drepper@cygnus.com>
759
760         * version.c: Add missing newline character in banner.
761
762         * sysdeps/unix/sysv/linux/alpha/Dist: Correct typo.
763         * sysdeps/unix/sysv/linux/i386/Dist: Likewise.
764
765 Sat Aug 31 03:07:39 1996  Ulrich Drepper  <drepper@cygnus.com>
766
767         * intl/l10nflist.c (_nl_normalize_codeset): We convert to lower
768         case, so don't prepend uppercase `ISO' for only numeric arg.
769
770 Wed Sep  4 16:16:13 1996  Ulrich Drepper  <drepper@cygnus.com>
771
772         * sysdeps/mach/hurd/send.c (__send): De-ANSI-fy.
773         * sysdeps/mach/hurd/sendto.c (sendto): Likewise.
774
775 Tue Sep  3 11:16:07 1996  Thomas Bushnell/ n/BSG  <thomas@gnu.ai.mit.edu>
776
777         * shadow/lckpwdf.c (__ulckpwdf): Don't take address of LOCK in
778         call to __libc_lock_lock.
779
780         * sysdeps/mach/hurd/send.c (__send): Declare BUF const.
781         * sysdeps/mach/hurd/sendto.c (sendto): Likewise.
782
783         * sysdeps/stub/ustat.c: Include <sys/ustat.h>.
784
785         * misc/syslog.c (vsyslog): Fix typo (`mow_tm' -> `now_tm').
786
787 Fri Aug 30 19:55:27 1996  Ulrich Drepper  <drepper@cygnus.com>
788
789         * libio/genops.c: Make _cleanup an alias of _IO_cleanup.
790         Reported by Erik Troan.
791
792 Fri Aug 30 15:40:04 1996  Ulrich Drepper  <drepper@cygnus.com>
793
794         * sysdeps/unix/sysv/linux/Dist: Add sys/procfs.h and
795         sys/sysmacros.h.  Reported by Curtiss <1CMC3466@IBM.MTSAC.EDU>.
796
797 Fri Aug 30 13:53:32 1996  Andreas Jaeger  <aj@arthur.pfalz.de>
798
799         * sysdeps/unix/mman/syscalls.list: `mmap' has 6 arguments, not 5.
800
801 Fri Aug 30 13:01:10 1996  NIIBE Yutaka  <gniibe@mri.co.jp>
802
803         * sysdeps/i386/fpu/__math.h (tan): Pop 1.0 in ST to get
804         real result.
805
806 Fri Aug 30 03:33:33 1996  Ulrich Drepper  <drepper@cygnus.com>
807
808         * sysdeps/libm-ieee754/s_cbrtl.c: New file.  `long double'
809         implementation.
810
811 Fri Aug 30 13:39:21 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
812
813         * Makerules (BUILD_CFLAGS): Use @(common-objpfx) for config.h, not
814         $(..).  Some rules (like sysdeps/posix/Makefile for mk-stdiolim)
815         do `cd' commands.
816         (sed-remove-objpfx): Don't substitute for $(objpfx) anymore;
817         $(common-objpfx) is good enough.
818         * Rules (common-generated): Provide default (empty) value.
819         (dummy.o, dummy.c, empty.o, empty.c): Put these in
820         $(common-generated), not $(generated), and without $(..).
821         (subdir_echo-distinfo): Treat $(common-generated) just like
822         $(generated).
823         (generated): Depend on the (suitably mutated) $(common-generated)
824         files too.
825         * Makerules (common-clean): Remove common-generated files too.
826         * sysdeps/mach/hurd/Makefile (generated): Don't put errnos.d and
827         stamp-errnos here.
828         (common-generated): Do put errnos.d and stamp-errnos here.
829         (rpath-link): Don't use +=; $(rpath-link) is a colon separated list.
830
831         * sysdeps/mach/hurd/Makefile (before-compile): Add auth; also add
832         auth to following rule to get it built.
833
834 Fri Aug 30 01:26:44 1996  Ulrich Drepper  <drepper@cygnus.com>
835
836         * sysdeps/unix/sysv/linux/i386/Dist: Add clone.S.
837         * sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
838         * sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
839
840         * version.c: Add comment about where to report bugs to.
841         * catgets/gencat.c (usage): Likewise.
842         * db/makedb.c (usage): Likewise.
843         * locale/programs/locale.c (usage): Likewise.
844         * locale/programs/localedef.c (usage): Likewise.
845
846         * manual/socket.texi: A little bit better wording.
847
848 Thu Aug 29 18:03:06 1996  Ulrich Drepper  <drepper@cygnus.com>
849
850         * Makerules: Make sure directory exists before generating stamp file.
851         (BUILD_CFLAGS): Always refer to using $(..).
852         * manual/Makefile: Make sure directory exists before generating
853         stamp file.
854         (make-target-directory): Add macro definition.
855         * sysdeps/generic/Makefile: Make sure directory exists before
856         generating stamp file.
857
858         * Makefile (distribute): Add autolock.sh.  Reported by Fila Kolodny.
859
860 Tue Aug 27 10:06:22 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
861
862         When compiling in separate directory put objects into
863         subdirectories matching the source layout.
864         * Makeconfig (objpfx) [ifdef objdir]: Append $(subdir).
865         When looking for configparms try in $(common-objpfx).
866         Use $(common-objpfx)SUBDIR to find objects from other subdirectory
867         builds.
868         * Makerules: Add $(objpfx) to vpath list.
869         (make-dummy-dep): Use $(common-objpfx) to avoid creating dummy.d
870         more than once.  All uses in dependency lists changed.
871         (+make-deps): Make target directory.
872         (sed-remove-objpfx): Substitute $(common-objpfx).
873         (do-ar, build-extra-lib, $(common-objpfx)stub-$(subdir)): Use
874         $(objpfx) instead of $(objdir) for cd command.
875         (O%-lib): Always find libc relative to $(..).
876         (subdir-stamps): Collect stamp files from subdirs.
877         (common-mostlyclean): Remove stub file in $(common-objpfx).
878         * MakeTAGS ($P/siglist.pot): Find siglist.c in stdio-common.
879         * Rules (dep-dummy-lib): Use $(common-objpfx) to avoid creating to
880         more than once.
881         ($(objpfx)dummy.c, $(objpfx)empty.c): Change target name to use
882         $(common-objpfx).  All uses in dependency lists changed.
883         (generated): Prepend $(..) to names.
884         * bare/Makefile ($(objpfx)lib$(config-vendor).a): Remove $(objpfx)
885         from $@.
886         * nss/Makefile ($(objpfx)libnss_dns.so, $(objpfx)libnss_db.so):
887         Use $(common-objpfx) instead of $(..) in dependencies.
888         * sysdeps/mach/Makefile (mach-objpfx): Unconditionally use
889         $(common-objpfx) instead of $(..) and (objpfx).
890         * sysdeps/mach/hurd/Makefile (hurd-objpfx): Likewise.
891         (rpath-link): Likewise.
892         (rpcuserlibs): Likewise.
893         * sysdeps/unix/Makefile [$(subdir) = stdio-common]: Check for
894         errlist.c in $(objpfx), not $(common-objpfx).
895         ($(common-objpfx)s-proto.d): Special rule not covered by pattern
896         rule.
897         * sysdeps/unix/make-syscalls.sh: Make syscall rules depending on
898         s-proto.d in $(common-objpfx), not $(objpfx).
899
900 Thu Aug 29 17:45:49 1996  Ulrich Drepper  <drepper@cygnus.com>
901
902         * nss/nsswitch.c (nss_dlerror_run): Free returned error
903         string.
904
905 Thu Aug 29 15:53:33 1996  Ulrich Drepper  <drepper@cygnus.com>
906
907         * sysdeps/libm-ieee754/e_acoshl.c: New file. `long double'
908         implementation.
909         * sysdeps/libm-ieee754/e_atanhl.c: Likewise.
910         * sysdeps/libm-ieee754/e_remainderl.c: Likewise.
911         * sysdeps/libm-ieee754/e_scalbl.c: Likewise.
912         * sysdeps/libm-ieee754/s_asinhl.c: Likewise.
913         * sysdeps/libm-ieee754/s_cosl.c: Likewise.
914         * sysdeps/libm-ieee754/s_sinl.c: Likewise.
915         * sysdeps/libm-ieee754/s_tanhl.c: Likewise.
916         * sysdeps/libm-ieee754/s_tanl.c: Likewise.
917
918 Thu Aug 29 12:00:30 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
919         
920         * sysdeps/mach/hurd/setitimer.c (setitimer_locked): Correct
921         spelling error of _hurd_itimerval.
922
923         * mach/Makefile (MIGFLAGS-mach/mach4): Define variable.
924         * mach/Machrules (mig.uh, mig.__h): Include $(user-MIGFLAGS) and
925         $(MIGFLAGS-$*) here too, as well as in the code-generating MiG calls. 
926         
927         * hurd/hurdinline.c: Include "hurd.h" for function definitions too. 
928         
929         * stdio/fseek.c (fseek): Don't assume we know the file position;
930         other handles may have changed it.  So set STREAM.__offset to -1
931         before calling __stdio_check_offset to make sure we have a correct
932         value.
933
934 Thu Aug 29 00:28:08 1996  Ulrich Drepper  <drepper@cygnus.com>
935
936         * stdio-common/printf_fp.c (__printf_fp): Use default value '.' if
937         `decimal' char is 0.
938
939         * C-numeric.c (not_available): New constant.
940         (_nl_C_LC_NUMERIC): Use `not_available' for grouping value.
941
942         * nss/nsswitch.conf: Example configuration file.
943         * nss/db-Makefile: Example Makefile for generation of databases
944         for nss_db.
945         * nss/Makefile (distribute): Add nsswitch.conf and db-Makefile.
946
947 1996-08-28  Paul Eggert  <eggert@twinsun.com>
948
949         * C-messages.c (_nl_C_LC_MESSAGES): Set yesexpr to "^[yY]" and
950         noexpr to "^[nN]"; this conforms to POSIX.2.
951
952         * C-time.c (_nl_C_LC_TIME): Change %d to %e in d_t_format, to
953         conform to POSIX.2.
954
955 1996-08-28  Paul Eggert  <eggert@twinsun.com>
956
957         * C-monetary.c (not_available): New constant.
958         (_nl_C_LC_MONETARY): Set mon_decimal_point to "", and set
959         mon_grouping, int_frac_digits, frac_digits, p_cs_precedes,
960         p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and
961         n_sign_posn to CHAR_MAX, as required by the POSIX Standard.
962
963 Wed Aug 28 23:12:28 1996  Ulrich Drepper  <drepper@cygnus.com>
964
965         * nss/nss_db/db-XXX.c: Correct function names.  They must be
966         `_nss_db_*' instead of `_nss_files_*'.
967         (lookup): `parse_line' returns 1 if succesful.
968         * nss/nss_files/files-service.c (servbyname): Key for database
969         must also contain protocol names.
970         (servbypt): Likewise.
971         Test must also check for protocol.  Add `proto' argument.
972
973 Tue Aug 27 09:56:13 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
974
975         * MakeTAGS ($P/subdirs.pot): Prefix all file names, not only the
976         first one.
977
978 Tue Aug 27 17:45:21 1996  Ulrich Drepper  <drepper@cygnus.com>
979
980         * Makerules: Add some test for correct version of GNU Make.
981
982         * io/fcntl.h: Undo change from Mon Aug 26 22:22:17 1996.
983         * sysdeps/unix/sysv/linux/fcntlbits.h: Place macros here instead.
984
985         * sysdeps/generic/dl-sysdep.c: Initialize break address to
986         avoid overwriting last page (OK, Roland).
987
988 Tue Aug 27 16:20:37 1996  Ulrich Drepper  <drepper@cygnus.com>
989
990         * resolv/resolv.h: Update from BIND-4.9.5-T3A.
991         * resolv/arpa/nameser.h: Likewise.
992         * resolv/res_init.c: Likewise.
993         * resolv/res_debug.c: Likewise.
994         * resolv/res_mkquery.c: Likewise.
995
996 Tue Aug 27 15:47:04 1996  Ulrich Drepper  <drepper@cygnus.com>
997
998         * elf/dl-error.c (catch): Define errstring element not as const.
999         (_dl_catch_error): ERRSTRING argument is not const pointer.
1000         Initialize *ERRSTRING and *OBJNAME separately.
1001         * elf/link.h: Change prototype for `_dl_catch_error'.
1002
1003         * elf/dl-load.c (_dl_map_object): Use separate variable for
1004         copied NAME to avoid `const' warning.
1005
1006         * elf/dlerror.c: Make `last_errstring' variable not const pointer.
1007
1008         * elf/rtld.c: Implement reading of /etc/ld.so.preload.  This
1009         provides preloading even for SUID binaries.
1010         Add some more casts to avoid signed<->unsigned warnings.
1011
1012 Tue Aug 27 15:40:28 1996  NIIBE Yutaka  <gniibe@mri.co.jp>
1013
1014         * posix/sys/types.h: Define loff_t.
1015         * sysdeps/unix/sysv/linux/gnu/types.h: Define __loff_t.
1016
1017 Mon Aug 26 22:22:17 1996  Ulrich Drepper  <drepper@cygnus.com>
1018
1019         * io/fcntl.h: Add definition for BSD F* macros.
1020
1021         * misc/init-misc.c (__init_misc): Make static.
1022         * misc/Makefile: Pass -fkeep-inline-functions flag for init-misc.c.
1023
1024         * configure.in: Add test for -fno-exception option of gcc.
1025         * config.make.in: Add definition of have-no-exceptions.
1026         * Makerules: Define no-exceptions based on have-no-exceptions.
1027         * csu/Makefile: When translating initfini.c pass $(no-exceptions).
1028         This is necessary for gcc >= ss-960816.
1029
1030 Mon Aug 26 17:16:48 1996  Richard Henderson  <rth@tamu.edu>
1031
1032         * sysdeps/alpha/dl-machine.h: Clear startup flag.
1033
1034 Fri Aug 16 21:17:50 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1035
1036         * Makerules (o-iterator-doit): Simplify reference to autolock
1037         script.
1038
1039 Sat Aug 24 15:27:41 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1040
1041         * sysdeps/mach/hurd/getcwd.c
1042         (_hurd_canonicalize_directory_name_internal): After resizing the
1043         buffer move the current contents to the end.  Correctly relocate
1044         file name pointer to upper half of the buffer.
1045
1046 Mon Aug 26 15:49:59 1996  Ulrich Drepper  <drepper@cygnus.com>
1047
1048         * rtld.c (dl_main): Remove code to call ld.so initializer.  This
1049         was introduced for compatibility with Linux ld.so and would not
1050         be used anymore.  Now we don't have any good values to use as the
1051         parameters to the initializer so simply remove it.
1052
1053 Sun Aug 25 18:25:52 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1054
1055         * gmon/gmon.c (ERR): Don't write the terminating NUL.
1056
1057         * sysdeps/posix/profil.c (profil): Disable the profiling timer at
1058         first.
1059         (profil_count): Use 64 bit arithmethic to avoid overflow.
1060
1061         * sysdeps/generic/machine-gmon.h (MCOUNT): Fix argument order.
1062
1063 Mon Aug 26 16:31:33 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
1064
1065         * sysdeps/mach/hurd/setitimer.c (setitimer_locked): Tolerate NEW
1066         being null; in that case don't touch the timer at all (but do
1067         return something in OLD if necessary).
1068
1069 Mon Aug 26 13:35:16 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
1070
1071         * sysdeps/mach/hurd/i386/init-first.c (__libc_multiple_libcs): New
1072         variable.
1073         * sysdeps/i386/init-first.c: Likewise.
1074         * sysdeps/stub/init-first.c: Likewise.
1075
1076 Mon Aug 26 02:01:37 1996  Ulrich Drepper  <drepper@cygnus.com>
1077
1078         * elf/dl-open.c (_dl_open): Call library initializer with
1079         correct command line arguments and environment information.
1080         * elf/rtld.c (dl_main): Provide arguments to initializer of
1081         ld.so itself.
1082
1083 Sun Aug 25 19:15:46 1996  Ulrich Drepper  <drepper@cygnus.com>
1084
1085         * shadow/Makefile (routines): Add lckpwdf.
1086         * shadow/lckpwdf.c: New file.
1087
1088         * sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Force
1089         argument `cw' to be placed in memory.  Patch by Torbjorn Granlund.
1090
1091 Sun Aug 25 12:53:37 1996  Ulrich Drepper  <drepper@cygnus.com>
1092
1093         * configure.in: Add definition for `__eh_pc' and `__throw' in
1094         test for --no-whole-archive.  The compiler generates dependencies
1095         for this but none of the standard librares and startup files
1096         are used.  Necessary for gcc >= ss-960816.
1097
1098 Sun Aug 25 01:31:33 1996  Ulrich Drepper  <drepper@cygnus.com>
1099
1100         * elf/dl-error.c (_dl_signal_error): If error is catched, malloc
1101         return string since string might be on stack.
1102         * elf/dl-lookup.c (_dl_lookup_symbol): Undo change of
1103         Wed Aug 21 10:14:59 1996.
1104         * elf/dlerror.c (dlerror): Free error string after printing.
1105         (_dlerror_run): If error string was not printed since last error
1106         free string.
1107         * rtld.c (dl_main): Free error string in case of error.
1108
1109 Sat Aug 24 03:16:47 1996  Ulrich Drepper  <drepper@cygnus.com>
1110
1111         * misc/syslog.c (vsyslog): Don't use `localtime' or `gmtime' since
1112         this changes the global state for `localtime' and `gmtime'.  Use
1113         `__localtime_r'/`__gmtime_r' instead.
1114         * resolv/res_debug.c (__p_secstodate): Likewise.
1115         * sysdeps/generic/ftime.c: Likewise.
1116         * sysdeps/posix/gettimeofday.c: Likewise.
1117         Reported by Paul Eggert.
1118
1119         * time/gmtime.c: De-ANSI-fy.
1120         * time/strftime.c: Don't call non-reentrant functions which change
1121         state.
1122
1123 Wed Aug 21 10:14:59 1996  Richard Henderson  <rth@tamu.edu>
1124
1125         * elf/dl-lookup.c (_dl_lookup_symbol): Malloc the error string rather
1126         than putting it on the stack.
1127
1128 Wed Aug 21 10:12:42 1996  Richard Henderson  <rth@tamu.edu>
1129
1130         * elf/rtld.c (dl_main): When looking up symbols in response to --list,
1131         don't find .plt entries.
1132
1133 Mon Aug 19 23:18:12 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1134
1135         * sysdeps/m68k/dl-machine.h (RTLD_START): Optimize clearing
1136         _dl_starting_up.
1137
1138 Tue Aug 20 17:42:10 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1139
1140         * stdio/linewrap.c (line_wrap_stream): Initialize D->seek.
1141
1142 Sat Aug 17 12:19:37 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1143
1144         * login/pututline_r.c (__pututline_r): Fix handling of case where
1145         getutid_r() fails with ESRCH.  Reported by Miquel van Smoorenburg.
1146
1147 Wed Aug 14 14:10:54 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1148
1149         * sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Change entry
1150         for "Jensen" so _bus_base() returns 0 on that platform.  Use
1151         _bus_base_sparse() to determine base address of sparse memory.
1152
1153         * sysdeps/unix/sysv/linux/sys/io.h: Enclose #include <asm/io.h>
1154         and declarations in __BEGIN_DECLS/__END_DECLS.
1155
1156 Sun Aug 18 13:37:09 1996  Ulrich Drepper  <drepper@cygnus.com>
1157
1158         * err.h: New file.  Wrapper around misc/err.h.
1159
1160         Correct solution of multiple initialization problem by
1161         Roland McGrath.
1162         * csu/initfini.c: Remove global variable __libc_is_static.
1163         * elf/rtld.c: Introduce new global variable _dl_starting_up.
1164         It's nonzero during the startup.
1165         * elf/dl-open.c (_dl_open): When _dl_start function is not
1166         available (i.e., if in static libc) set `__libc_multiple_libcs'
1167         to nonzero value.
1168         * sysdeps/unix/sysv/linux/init-first.c (__libc_multiple_libc):
1169         New global variable.
1170         (init): Undo change of Fri Aug  2 03:12:40 1996.
1171         Initialize `__libc_multiple_libcs' to nonzero only if this is
1172         a shared lib called from a statically linked program and don't
1173         call `personality' and `setfpucw' in this case either.
1174         * sysdeps/generic/sbrk.c: Undo change of Fri Aug  2 03:12:40 1996.
1175         Don't call brk(0) until `__libc_multiple_libcs' is nonzero.
1176         * sysdeps/i386/dl-machine.h (RTLD_START): Clear _dl_starting_up
1177         before jumping to user code.
1178         * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
1179
1180 Fri Aug 16 04:59:01 1996  Ulrich Drepper  <drepper@cygnus.com>
1181
1182         * sysdeps/unix/sysv/linux/init-first.c: Remove hack from
1183         Thu Aug  8 12:40:20 1996.
1184         * sysdeps/unix/sysv/linux/Makefile [$(subdir) = csu]: Use
1185         -fkeep-inline-functions flag instead.
1186
1187 Fri Aug 16 16:11:25 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>
1188
1189         * nss/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Treat
1190         EPFNOSUPPORT and EAFNOSUPPORT as implying NSS_STATUS_UNAVAIL just
1191         like ECONNREFUSED already does.
1192         (_nss_dns_gethostbyaddr_r): Likewise.
1193         * nss/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise.
1194         (_nss_dns_getnetbyaddr_r): Likewise.
1195
1196         * sysdeps/mach/hurd/socket.c (socket): For message transmission
1197         and RPC errors that indicate that the socket server is not really
1198         present and able to do its job, turn the error into EPFNOSUPPORT.
1199
1200 Fri Aug 16 01:24:33 1996  Ulrich Drepper  <drepper@cygnus.com>
1201
1202         * inet/ruserpass.c (userpass): Allocate buffer for .netrc file
1203         name dynamically.  Reported by Alan Cox.
1204         Uncomment warnings and mark as translatable.
1205
1206         * time/strftime (strftime): Add implementation for %s and %z
1207         format.  Change behaviour for unknown format character: now
1208         simply print it.  This matches the behaviour of printf.
1209         Reported by Jim Meyering.
1210         * manual/time.texi: Document all formats and flags of strftime.
1211
1212 Thu Aug 15 18:02:51 1996  Ulrich Drepper  <drepper@cygnus.com>
1213
1214         * elf/rtld.c (dl_main): Loaded object has type lt_executable,
1215         not lt_library.
1216
1217         * misc/sys/select.h: Define fd_set using typedef, not #define.
1218         Proposed by David Mosberger-Tang.
1219
1220 Thu Aug 15 12:48:21 1996  Ulrich Drepper  <drepper@cygnus.com>
1221
1222         * po/header.pot: Use real description line.
1223
1224 Thu Aug 15 04:42:44 1996  Ulrich Drepper  <drepper@cygnus.com>
1225
1226         * elf/rtld.c (dl_main): When started with --verify prevent
1227         any warning.  Just exit with an error.
1228         * elf/ldd.sh.in: Don't run given object directly.  This fails for
1229         libraries.  Instead use $RTLD again.
1230
1231 Thu Aug 15 02:08:59 1996  Ulrich Drepper  <drepper@cygnus.com>
1232
1233         * manual/nss.texi: New file.  Document NSS.
1234         * manual/nsswitch.texi: New file.  Example configuration.
1235
1236         * manual/string.texi: Document stpncpy, strdupa, and strndupa.
1237         * manual/example/strdupa.c: New file.  Example for strdupa.
1238
1239 Wed Aug 14 21:36:16 1996  Ulrich Drepper  <drepper@cygnus.com>
1240
1241         * stdlib/strtod.c (STRTOD): Correct assertion about size of
1242         wint_t and wchar_t.  Reported by David Mosberger-Tang.
1243
1244 Mon Aug 12 22:40:16 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1245
1246         * elf/dl-lookup.c (_dl_lookup_symbol): Remove fifth parameter
1247         RELOC_ADDR and make NOPLT a set of flags.  All callers
1248         changed.  Delete condition that checks for resolving to the
1249         location being filled in.  Add condition to skip the
1250         executable's symbols if requested.
1251         * elf/link.h: Change declaration of _dl_lookup_symbol
1252         accordingly.
1253         (DL_LOOKUP_NOEXEC, DL_LOOKUP_NOPLT): New definitions.
1254         * elf/dl-reloc.c (RESOLVE): Remove second parameter and rename
1255         NOPLT to FLAGS.
1256         * elf/dl-runtime.c (RESOLVE): Likewise.
1257         * elf/rtld.c (RESOLVE): Likewise.
1258         * sysdeps/m68k/dl-machine.h (elf_machine_rela): Pass
1259         DL_LOOKUP_NOEXEC as second argument to the RESOLVE macro if
1260         processing a copy reloc, DL_LOOKUP_NOPLT for a jump slot
1261         reloc, zero otherwise.
1262         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
1263         * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
1264         * sysdeps/mips/dl-machine.h (elf_machine_rel): Likewise.
1265
1266 Wed Aug 14 17:57:08 1996  Ulrich Drepper  <drepper@cygnus.com>
1267
1268         * MakeTAGS: Clean up use of --omit-header and -n for xgettext.
1269         * po/header.pot: Add empty line at end.
1270
1271 Sun Aug 11 13:45:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1272
1273         * MakeTAGS (all-pot): Remove $P/errlist.pot, all error messages
1274         are now in $P/stdio-common.pot.
1275         (XGETTEXTFLAGS-errlist.pot): Variable removed.
1276
1277 Mon Aug 12 19:25:03 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1278
1279         * Makerules (do-ar, o-iterator-doit): Compute path to autolock
1280         script at run time, not configure time.
1281         * config.make.in, configure.in: Undo previous change.
1282
1283 Wed Aug 14 13:20:02 1996  Ulrich Drepper  <drepper@cygnus.com>
1284
1285         * sysdeps/unix/sysv/linux/i386/close.S: Push return value of thread
1286         on stack as argument for `_exit'.  Reported by Andreas Schwab.
1287
1288 Mon Aug 12 19:36:25 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1289
1290         * sysdeps/unix/sysv/linux/m68k/clone.S: New file.
1291
1292 Wed Aug 14 04:22:35 1996  Richard Henderson  <rth@tamu.edu>
1293
1294         * elf/dl-load.c (_dl_map_object): Save name in malloced memory.
1295         (_dl_map_object_from_fd): Free name on error.
1296
1297 Wed Aug 14 13:00:09 1996  Ulrich Drepper  <drepper@cygnus.com>
1298
1299         * string/strdup.c: Use result of memcpy to avoid reloading.
1300
1301 Tue Aug 13 00:55:03 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1302
1303         * shadow/sgetspent_r.c (__sgetspent_r): Copy string to buffer, not
1304         the other way round.
1305
1306 Tue Aug 13 20:51:21 1996  Ulrich Drepper  <drepper@cygnus.com>
1307
1308         * stdlib/canonicalize.c (canonicalize): Add cast to prevent
1309         warning.
1310
1311         * Makerules (o-iterator-doit): Use autolock.sh when running ranlib.
1312
1313 Tue Aug 13 18:26:45 1996  Ulrich Drepper  <drepper@cygnus.com>
1314
1315         * nss/nsswitch.c (__nss_configure_lookup): Use fact that list is
1316         sorted.
1317
1318         Update from bind-4.9.5-T1A.
1319         * resolv/Makefile (libresolv-routines): Add base64, inet_net_ntop,
1320         inet_net_pton, inet_net.
1321
1322         * resolv/gethnamaddr.c: Include <sys/types.h>.
1323         * resolv/getnetnamadr.c: Likewise.
1324         * resolv/herror.c: Likewise.
1325         * resolv/inet_addr.c: Likewise.
1326         * resolv/nsap_addr.c: Likewise.
1327         * resolv/res_comp.c: Likewise.
1328         * resolv/res_data.c: Likewise.
1329         * resolv/res_init.c: Likewise.
1330         * resolv/res_mkquery.c: Likewise.
1331         * resolv/res_query.c: Likewise.
1332         * resolv/res_send.c: Likewise.
1333
1334         * resolv/gethnamaddr.c [! SPRINTF_CHAR] (SPRINTF): Cast return
1335         value of sprintf.
1336         * resolv/inet_ntop.c: Likewise.
1337
1338         * resolv/gethnamaddr.c [BSD]: Include <stdlib.h>.
1339         Remove prototype of gethostbyname_ipv4.
1340
1341         * resolv/inet_ntop.c, resolv/inet_pton.c: Use ISO C `mem*'
1342         functions instead of BSD `b*' functions.
1343
1344         * resolv/nsap_addr.c: Add copyright message.
1345
1346         * resolv/res_comp.c: Remove comment explaining label format.
1347         (res_mailok): Correct check.
1348
1349         * resolv/res_debug: Include missing headers.
1350         (__fp_nquery): Handle `unused', `ad', and `cd' bits.
1351         (__p_fqnname): New function to print FQDN from compressed name.
1352         (__p_rr): Use __p_fqnname.  Correct printing of ".  Handle T_TXT
1353         correctly.  Add handling of T_KEY and T_SIG.
1354         Handle class and type names by using name arrays instead of
1355         explicit `switch'es.
1356         (__sym_ston, __sym_ntos, __sym_ntop): New functions to use arrays.
1357         (__dn_count_labels, __p_secstodate): New functions.
1358
1359         * resolv/resolv.h (__RES): Update version number.
1360         (res_sym): New type.
1361         Add #defines for new functions.
1362         Declare sym_ntos, sym_ntop, b64_ntop, b64_pton, __p_fqnname,
1363         __p_secstodate, dn_count_labels.
1364
1365         * resolv/arpa/nameser.h (__BIND): Update version number.
1366         Add KEYFLAG_* and ALGORITHM_* symbols.
1367         (HEADER): Add `ad' and `cd' flags.
1368
1369         * inet/ient.h: Add prototypes for inet_neta, inet_net_ntop,
1370         and inet_net_pton.
1371
1372         * manual/maint.texi: Document that we use bind-4.9.5.
1373         * INSTALL: Ditto.
1374
1375 Mon Aug 12 19:03:22 1996  Thomas Bushnell n/BSG  <thomas@psilocin.gnu.ai.mit.edu>
1376
1377         * sysdeps/generic/gnu/types.h: Declare __fd_mask as `unsigned long'.
1378
1379         * mach/Makefile (mach/mach_host.uh): Depend on
1380         $(objpfx)/mach-syscalls.mk.
1381         ($(objpfx)mach-shortcuts.h): Depend on $(objpfx)mach/mach_host.h.
1382         (This fixes a make loop; thanks to Marcus Daniels
1383         <marcus@sysc.pdx.edu> for the patch.)
1384
1385 Mon Aug 12 16:41:52 1996  Thomas Bushnell n/BSG  <thomas@gnu.ai.mit.edu>
1386
1387         * io/getwd.c (getwd) [! PATH_MAX]: Don't assume that the user's
1388         buffer is any longer than the amount necessary to hold the
1389         filename; the Hurd getcwd uses the *entire* contents of the
1390         buffer, however long it is specified to be.
1391
1392 Mon Aug 12 04:33:09 1996  Ulrich Drepper  <drepper@cygnus.com>
1393
1394         * nss/nsswitch.c (__nss_database_lookup): Always release locks
1395         before returning.  Reported by Miles Bader.
1396
1397 Mon Aug 12 03:31:58 1996  Ulrich Drepper  <drepper@cygnus.com>
1398
1399         * nss/nsswitch.c (__nss_configure_lookup):  New function.
1400         Allows to specify services.
1401         * nss/XXX-lookup.h: Rename database variable and make global.
1402         * nss/databases.def: New file.  Real names of all databases.
1403
1404         * nss/nss.h: New file.  Contains declaration useful for users
1405         and service developers.
1406         * nss/nsswitch.h: Move some declarations to nss/nss.h.
1407         * nss.h: New file.  Wrapper around nss/nss.h.
1408
1409         * nss/Makefile (headers): Add nss.h.
1410         (distributes): Add databases.def.
1411
1412 Sun Aug 11 16:19:42 1996  Ulrich Drepper  <drepper@cygnus.com>
1413
1414         Help the poor people with fast machines by making sure only
1415         one `ar' commands works on the library.
1416         * autolock.sh: New file.  Written by Tom Tromey.
1417         * Makerules (do-ar): Call autolock.sh shell script instead of
1418         directly using `ar'.
1419         * config.make.in: Make configuration variable AUTOLOCK which
1420         gets initialized by configure.
1421         * configure.in: Define variable AUTOLOCK to point to autolock.sh
1422         script and mark it to substitute.
1423
1424         * string/Makefile: Add -fno-builtin for tst-strlen.c, too.
1425
1426         * sysdeps/generic/sbrk.c (__sbrk):  Get kernel brk address
1427         always only if in static libc or if statically linked program
1428         uses libc.so.
1429
1430         * sysdeps/generic/sbrk.c (__sbrk):  Get kernel brk address
1431         always only if in static libc or if statically linked program
1432         uses libc.so.
1433
1434 Sun Aug 11 01:12:38 1996  Richard Henderson  <rth@tamu.edu>
1435
1436         * sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Optimize LD_BIND_NOW
1437         startup by moving Icache flush from here ...
1438         (ELF_MACHINE_RUNTIME_TRAMPOLINE): ... to here.
1439         (ELF_MACHINE_USER_ADDRESS_MASK): Delete; it is unused.
1440
1441         * sysdeps/alpha/divrem.h: Update comment to reflect the actual
1442         calling conventions.  The code is already correct.
1443
1444 Sun Aug 11 01:06:42 1996  Richard Henderson  <rth@tamu.edu>
1445
1446         * string/Makefile: Compile tester with -fno-builtin as we want to
1447         test our implementations, not gcc's.
1448
1449 Sat Aug 10 13:17:27 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1450
1451         * shadow.h: New file.
1452
1453         * sysdeps/unix/sysv/linux/netinet/in.h: Move
1454         __BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as
1455         well.
1456
1457         * socket/sys/socket.h [__cplusplus]: Use old-style __SOCKADDR_ARG.
1458         g++ 2.7.2 (and earlier) has no transparent unions support.
1459
1460 Fri Aug  9 18:50:06 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1461
1462         * sysdeps/unix/sysv/linux/alpha/ioperm.c (_bus_base_sparse): New
1463         function to determine the base address of sparse bus memory.
1464         (APECS_*): Rename to CIA_*.
1465         (APECS_SPARSE_MEM, CIA_SPARSE_MEM): New macros.
1466         (platform): Add sparse_bus_memory_base member and initialize.
1467         (sparse_bus_memory_base): New variable.
1468
1469 Tue Aug  6 10:23:18 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1470
1471         * sysdeps/posix/ttyname_r.c (ttyname_r),
1472         sysdeps/posix/ttyname.c (ttyname): Return -1/NULL if
1473         !__isatty(fd) (POSIX.1 says so.)
1474
1475         * sysdeps/unix/getlogin.c (getlogin): Fix to check fd 0 only.
1476         This is not a gross hack, after all---for compatibility,
1477         getlogin() really should check fd 0 only and not try to base its
1478         operation on the controlling tty.
1479
1480 Wed Jul 17 10:54:20 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1481
1482         * sysdeps/unix/getlogin.c (getlogin): Add static variable NAME,
1483         change utmp_data from static to auto.
1484
1485 Sun Aug 11 02:56:08 1996  Ulrich Drepper  <drepper@cygnus.com>
1486
1487         * posix/unistd.h [__USE_MISC]: Add prototype for `nice'.
1488         Reported by David Mosberger-Tang.
1489
1490 Sat Aug 10 02:05:28 1996  Richard Henderson  <richard@twiddle.tamu.edu>
1491
1492         * sysdeps/libm-ieee754/s_isnan.c [NO_LONG_DOUBLE]: Add strong
1493         alias to `__isnanl'.
1494
1495 Fri Aug  9 17:38:58 1996  Ulrich Drepper  <drepper@cygnus.com>
1496
1497         * sysdeps/unix/sysv/linux/sys/timex.h: Include <sys/time.h> to
1498         get `struct timeval'.
1499         * sysdeps/unix/sysv/linux/sys/acct.h: Get time_t from <time.h>.
1500         * sysdeps/unix/sysv/linux/sys/module.h: Get size_t from <stddef.h>.
1501         * sysdeps/unix/sysv/linux/sys/io.h: Get definition of __P.
1502         * sysdeps/unix/sysv/linux/sys/klog.h: Likewise.
1503         * gmon/sys/gmon.h: Include <sys/types.h> to get u_long.
1504         * sysdeps/unix/sysv/linux/direntry.h: Complete types in
1505         <linux/dirent.h>.
1506         * io/fts.h: Include <sys/types.h> to get dev_t.
1507         Reported by Matthias Urlichs.
1508
1509         * sysdeps/posix/tempname.c [USE_IN_LIBIO]: Don't clear
1510         _IO_file_flags.  It's the same as _flags.
1511         Reported by Miquel van Smoorenburg <miquels@Q.cistron.nl>.
1512
1513 Wed Aug  7 19:38:47 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1514
1515         * sysdeps/unix/sysv/linux/m68k/resourcebits.h: Add RLIMIT_AS.
1516
1517 Thu Aug  8 16:17:38 1996  Ulrich Drepper  <drepper@cygnus.com>
1518
1519         * pwd/getpwent.c: Define BUFLEN from NSS_BUFLEN_PASSWD.
1520         * pwd/getpwent_r.c: Likewise.
1521         * pwd/getpwnam.c: Likewise.
1522         * pwd/getpwnam_r.c: Likewise.
1523         * pwd/getpwuid.c: Likewise.
1524         * pwd/getpwuid_r.c: Likewise.
1525
1526         * grp/getgrent.c: Define BUFLEN from NSS_BUFLEN_GROUP.
1527         * grp/getgrent_r.c: Likewise.
1528         * grp/getgrgid.c: Likewise.
1529         * grp/getgrgid_r.c: Likewise.
1530         * grp/getgrnam.c: Likewise.
1531
1532         * pwd/fgetpwent_r.c: New file.  Reentrant version of fgetpwent.
1533         * pwd/fgetpwent.c: Rewrite to use fgetpwent_r.
1534         * pwd/Makefile (routines): Add fgetpwent_r.
1535         * pwd/pwd.h: Add prototypes for __fgetpwent_r and fgetpwent_r.
1536
1537         * grp/fgetgrent_r.c: New file.  Reentrant version of fgetgrent.
1538         * grp/fgetgrent.c: Rewrite to use fgetgrent_r.
1539         * grp/Makefile (routines): Add fgetgrent_r.
1540         * grp/grp.h: Add prototypes for __fgetgrent_r and fgetgrent_r.
1541
1542         Implement shadow password lookup functions.  This is no complete
1543         shadow password suite.
1544         * shadow/Makefile: New file.
1545         * shadow/fgetspent.c: New file.
1546         * shadow/fgetspent_r.c: New file.
1547         * shadow/getspent.c: New file.
1548         * shadow/getspent_r.c: New file.
1549         * shadow/getspnam.c: New file.
1550         * shadow/getspnam_r.c: New file.
1551         * shadow/putspent.c: New file.
1552         * shadow/sgetspent.c: New file.
1553         * shadow/sgetspent_r.c: New file.
1554         * shadow/shadow.h: New file.
1555         * shadow/spwd-lookup.c: New file.
1556         * shadow/nss_files/files-spwd.c: New file.
1557
1558 Thu Aug  8 13:33:45 1996  Ulrich Drepper  <drepper@cygnus.com>
1559
1560         * sysdeps/unix/sysv/linux/ftime.c: New file.  Available system
1561         call is only a stub.
1562         Reported by Matthias Urlichs.
1563
1564         * Makeconfig [!default_cflags]: Change default value from `-g'
1565         to `-g -O'.
1566
1567         * configure.in: Recognize i686.
1568         * sysdeps/i386/i686/Implies: Default on i586 optimized code.
1569
1570 Thu Aug  8 12:40:20 1996  Matthias Urlichs  <smurf@smurf.noris.de>
1571
1572         * Makeconfig [$(build-omitfp) == yes]: Add to CFLAGS-.so
1573         value of CFLAGS-.o, not CFLAGS-o.
1574
1575         * sysdeps/unix/sysv/linux/init-first.c (init): Add volatile
1576         pointer to ourself.  Otherwise `gcc -O3' optimized init away.
1577
1578 Thu Aug  8 01:41:43 1996  Ulrich Drepper  <drepper@cygnus.com>
1579
1580         * elf/Makefile: Undo change of Tue Aug  6 14:27:11 1996.
1581         * elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'.
1582
1583 Thu Aug  8 01:15:59 1996  Ulrich Drepper  <drepper@cygnus.com>
1584
1585         * sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set
1586         to 0x137f to allow long double operations.
1587
1588 Sun Aug  4 13:12:05 1996  Richard Henderson  <rth@tamu.edu>
1589
1590         Bug Fixes:
1591
1592         * nss/nsswitch.c (_res): Remove redundant variable definition.
1593         The real one is in resolve/res_init.c, and having both prevents
1594         using -fno-common when building the shared library.
1595         * sunrpc/rpc_prot.c (_null_auth): Same.  Original is in rpc_common.c.
1596
1597         * sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as
1598         a .bss object not a COMMON symbol.
1599
1600         * sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load
1601         $gp before referencing __sigsetjmp symbol.  Retain LITUSE for same.
1602
1603         Optimizations:
1604
1605         * sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the
1606         main loop for better dual-issue on EV5.  Rearrange binary search to
1607         pipeline better and trim one instruction.
1608
1609         Cosmetic Changes:
1610
1611         * time/localtime.c (localtime_r): Move lock declaration back next to
1612         the comment where it was before the 960724 change.
1613
1614         * INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux.
1615         The second word is supposed to be the hardware manufacturer.
1616
1617         * sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount.
1618         * sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux.
1619
1620         * sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount.
1621
1622         * sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S,
1623         sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S:
1624         Same cleanups as with EV4 GMP stuff.
1625
1626 Tue Jul 25 03:30:56 1996  Richard Henderson  <rth@tamu.edu>
1627
1628         * sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone.
1629         * sysdeps/unix/sysv/linux/alpha/clone.S: New file.
1630         * sysdeps/unix/sysv/linux/i386/clone.S: New file.
1631
1632 Sun Aug  4 00:12:41 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1633
1634         * sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as
1635         `unsigned long'.
1636
1637         * misc/sys/select.h: Declare fd_mask as alias of __fd_mask.
1638
1639 Sat Aug  3 16:20:02 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1640
1641         * sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for
1642         Mikasa.
1643
1644         * socket/sys/socket.h (send, __send, sendto): Declare buffer
1645         pointer as __const.
1646
1647         * string/tester.c (main): Test stpncpy.
1648
1649         * sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without
1650         segfault when called with an N that is not a multiple of four and
1651         src[N-1]=='\0'.
1652
1653         * misc/syslog.c (LogType): New variable.
1654         (openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE,
1655         try again with SOCK_STREAM (the Linux syslogd uses a socket of the
1656         latter type).
1657         (vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL
1658         terminator as a record-delimiter.  If __send(LogFile) fails,
1659         call closelog() so logfile gets re-opened next time.
1660
1661 Wed Aug  7 15:15:14 1996  Ulrich Drepper  <drepper@cygnus.com>
1662
1663         * elf/dl-open (_dl_open): Add cast to avoid warning.
1664
1665         * manual/memory.texi: Improve some examples to give readers better
1666         advice: Use `stpcpy' instead of `strcat' if possible.
1667         * manual/string.texi: Document `strtok_r' and `strtok'.
1668
1669         * sunrpc/Makefile: Move `+gccwarn' definition before inclusion
1670         of Makeconfig.
1671         [$(cross-compiling)=no]: Change test before making librpcsvc
1672         to this from $(cross-compile).
1673         Reported by Andreas Schwab.
1674
1675 Tue Aug  6 14:27:11 1996  Ulrich Drepper  <drepper@cygnus.com>
1676
1677         * elf/Makefile (routines): Move dl-sysdep to here...
1678         (rtld-routines): ...from here.  This should make static linking
1679         work again.
1680
1681         * locale/setlocale.c: Add local variable `lock' and add code to
1682         `setlocale' to avoid simultaneous changing of global data.
1683
1684         * catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'.
1685         * catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open',
1686         `__fstat', `__read', `__mmap', `__munmap' and `__close' instead
1687         of unprotected names.
1688
1689 Tue Aug  6 01:13:56 1996  Ulrich Drepper  <drepper@cygnus.com>
1690
1691         Clean name space according to ISO C, ISO C/Amd 1, and POSIX.1.
1692         This requires to rename several functions to use __ protected
1693         names.
1694         * dirent/dirent.h: Add prototypes of __opendir, __closedir,
1695         and __readdir.
1696         * sysdeps/mach/hurd/closedir.c: Prepend function name with __
1697         and make old name a weak alias.
1698         * sysdeps/mach/hurd/getrlimit.c: Likewise.
1699         * sysdeps/mach/hurd/opendir.c: Likewise.
1700         * sysdeps/mach/hurd/readdir.c: Likewise.
1701         * sysdeps/stub/closedir.c: Likewise.
1702         * sysdeps/stub/opendir.c: Likewise.
1703         * sysdeps/stub/readdir.c: Likewise.
1704         * sysdeps/unix/closedir.c: Likewise.
1705         * sysdeps/unix/opendir.c: Likewise.
1706         * sysdeps/unix/readdir.c: Likewise.
1707
1708         * sysdeps/unix/opendir.c: Call `__fcntl' instead `fcntl'.
1709
1710         * sysdeps/posix/getcwd.c: Call `__opendir', `__readdir',
1711         `__closedir' instead of unprotected names.
1712
1713         * libio/filedoalloc.c (_IO_file_doallocate): Call `__isatty'
1714         instead of `isatty' since later is not part of ISO C.
1715         * libio/fileops.c (_IO_file_fopen): Call `__open' instead of
1716         `open' since later is not part of ISO C.
1717
1718         * login/endutent.c (endutent): Call `__endutent_r', not
1719         `endutent_r'.
1720         * login/endutent_r.c: Rename defined function to `__endutent_r',
1721         make `endutent_r' weak alias.
1722         * login/getutent.c (getutent): Call `__getutent_r', not
1723         `getutent_r'.
1724         * login/getutid.c (getutid): Call `__getutid_r', not `getutid_r'.
1725         * login/getutid_r.c: Rename defined function to `__getutent_r',
1726         make `getutent_r' weak alias.
1727         * login/getutline.c (getutline): Call `__getutline_r', not
1728         `getutline_r'.
1729         * login/getutline_r.c: Rename defined function to `__getutline_r',
1730         make `getutline_r' weak alias.
1731         * login/pututline_r.c: Rename defined function to `__pututline_r',
1732         make `pututline_r' weak alias.
1733         * login/setutent.c (setutent): Call `__setutline_r', not
1734         `setutline_r'.
1735         * login/setutent_r.c: Rename defined function to `__setutline_r',
1736         make `setutline_r' weak alias.
1737         Rename `utmpname' to `__utmpname' and make former weak alias.
1738         (__utmpname): Call `__strdup', not `strdup'.
1739         * login/utmp.h: Add prototypes for name space clean reentrant
1740         versions.
1741         * sysdeps/unix/getlogin.c: Call `__ttyname_r', `__setutent_r',
1742         and `__endutent_r' instead of unprotected names.
1743
1744         * math/math.h: Add prototype for `__matherr'.
1745         * sysdeps/libm-ieee754/k_standard.c: Call `__matherr' instead
1746         of `matherr'.
1747
1748         * nss/getXXbyYY.c: Call __ protected reentrant function.
1749         * nss/getXXent.c: Likewise.
1750         * nss/getXXbyYY_r.c: Define `get*' function with __ protected
1751         name.  Make usual name a weak alias.
1752         * nss/getXXent_r.c: Likewise.
1753
1754         * posix/unistd.h: Add prototype for `__ttyname_r'.
1755         * sysdeps/posix/ttyname_r.c: Rename function to `__ttyname_r'
1756         and make `ttyname_r' a weak alias.
1757
1758         * resource/sys/resource.h: Add prototype for `__getrlimit'.
1759         * sysdeps/stub/getrlimit.c: Prepend function name with __
1760         and make old name a weak alias.
1761         * sysdeps/unix/syscalls.list: Rename system call to `__getrlimit'
1762         and make `getrlimit' weak alias.
1763
1764         * libc/stdio/stdio.h: Add prototype for `__vscanf'.
1765         * libc/stdio/vscanf.c: De-ANSI-fy.
1766         Rename function to `__vscanf' and make `vscanf' a weak alias.
1767         * stdio-common/scanf.c (scanf): Use _IO_vscanf/__vscanf instead
1768         of `vscanf'.
1769
1770         * stdio-common/reg-printf.c: De-ANSI-fy.
1771         Rename function to `__register_printf_function' and make
1772         `register_printf_function' weak alias.
1773
1774         * stdio-common/vfprintf.c: Call `__wcsrtombs' instead of
1775         `wcsrtombs'.
1776
1777         * stdlib/mbstowcs.c: Call `__mbsrtowcs' instead of `mbsrtowcs'.
1778         * stdlib/mbtowc.c: Call `__mbrtowc' instead of `mbrtowc'.
1779         * stdlib/wcstombs.c: Call `__wcsrtombs' instead of `wcsrtombs'.
1780         * stdlib/wctomb.c: Call `__wcrtomb' instead of `wcrtomb'.
1781         * wcsmbs/mbrtowc.c: Prepend function name with __ and make old
1782         name a weak alias.
1783         * wcsmbs/mbsrtowcs.c: Likewise.
1784         * wcsmbs/wcrtomb.c: Likewise.
1785         * wcsmbs/wcsrtombs.c: Likewise.
1786         * wcsmbs/wchar.h: Add prototypes for __ protected versions.
1787
1788         * sysdeps/posix/sigsetmask.c (__sigsetmask): Call `__sigprocmask'
1789         instead of `sigprocmask'.
1790
1791
1792         * grp/grp.h [__USE_REENTRANT]: Add prototypes for reentrant
1793         version getgrent_r, getgrgid_r, and getgrnam_r.
1794         * pwd/pwd.h [__USE_REENTRANT]: Add prototypes for reentrant
1795         version getpwent_r, getpwuid_r, getpwnam_r and __ protected
1796         names.
1797         * resolv/netdb.h: Complete rewrite.  No more BSD ugliness.
1798
1799
1800         * misc/error.c (private_strerror): Translate messages from table,
1801         too.
1802
1803         * io/fcntl.h: Pretty printing.
1804         * misc/fstab.h: Likewise.
1805         * misc/ttyent.h: Likewise.
1806         * resource/sys/resource.h: Likewise.
1807         * string/argz.h: Likewise.
1808         * string/envz.h: Likewise.
1809
1810         Add support for symbols from POSIX.1c (POSIX threads).
1811         * posix/getconf.c: Handle new sysconf symbols.
1812         * posix/posix1_lim.h: Define _POSIX_TTY_NAME_MAX and
1813         _POSIX_LOGIN_NAME_MAX with minimal maximal values.
1814         * sysdeps/generic/confname.h: Define new symbols.
1815         * sysdeps/posix/sysconf.c: Handle new symbols.
1816         * sysdeps/stub/sysconf.c: Ditto.
1817         * sysdeps/unix/sysv/linux/sysconf.c: Removed.  Generic version
1818         is ok now.
1819
1820         * sunrpc/rpc/xdr.h: Move definition of type `xdrproc_t' to
1821         have real prototype.
1822
1823         * sysdeps/generic/resourcebits.h: Add macro definition for
1824         RLIMIT_* values.  Some sources test using #ifdef whether specific
1825         limit is available.
1826         * sysdeps/unix/bsd/sun/sunos4/resourcebits.h: Ditto.
1827         * sysdeps/unix/sysv/linux/resourcebits.h: Removed.  We need
1828         separate files for the architectures.
1829         * sysdeps/unix/sysv/linux/alpha/resourcebits.h: New file.
1830         * sysdeps/unix/sysv/linux/i386/resourcebits.h: New file.
1831         * sysdeps/unix/sysv/linux/m68k/resourcebits.h: New file.
1832         * sysdeps/unix/sysv/linux/mips/resourcebits.h: New file.
1833
1834         * sysdeps/posix/getdtsz.c: Rewrite to use `__getrlimit' function
1835         and only default on `OPEN_MAX'.
1836         * sysdeps/unix/sysv/sysv4/getdtsz.c: Removed.  Default is already
1837         the POSIX version.
1838
1839         * time/Makefile (routines): Add ctime_r.
1840         * time/asctime.c: Add implementation of `asctime_r'.  Make
1841         `asctime' implementation based on reentrant version.
1842         * time/ctime_r.c: New file.
1843         * time/time.h [__USE_REENTRANT]: Add definition of `asctime_r'
1844         and `ctime_r'.
1845
1846 Sat Aug  3 18:41:36 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1847
1848         * locale/C-ctype.c (_nl_C_LC_CTYPE_toupper): Fix EOF entry.
1849         (_nl_C_LC_CTYPE): Fix ordering.
1850         * locale/categories.def (LC_CTYPE): Add missing ctype-class32; fix
1851         typo.
1852
1853 Sat Aug  3 12:31:06 1996  Richard Henderson  <rth@tamu.edu>
1854
1855         * csu/initfini.c: Discover the maximum alignment generated by the
1856         compiler when emitting a function.
1857         (_init): Make sure the end of the crti fragment is aligned.
1858         (_fini): Likewise.
1859
1860 Fri Aug  2 03:12:40 1996  Ulrich Drepper  <drepper@cygnus.com>
1861
1862         * initfini.c: (__libc_is_static): New variable.  Will be
1863         initialized in init-first.c.  Some actions in the libc work
1864         different when libc is static or dynamic.
1865
1866         * sysdeps/unix/sysv/linux/init-first.c (init): Use
1867         `__libc_is_static' variable to determine whether call to
1868         `personality' and `setfpucw' is necessary.  When done set variable
1869         to +-1 depending on library type.
1870
1871         * locale/setlocale.c (setlocale): Use global variable
1872         `__libc_enable_secure' instead of calling `get{,e}{g,u}id()' to
1873         determine whether it's a SET[UG]ID program.
1874
1875 Fri Aug  2 14:40:22 1996  Roland McGrath  <roland@fast.cs.utah.edu>
1876
1877         * Version 1.93 test release.
1878
1879         * manual/Makefile: Use -include for chapters-incl too.
1880
1881         * Makeconfig (+link): Add back start.o, mistakenly removed in last
1882         change.
1883
1884 Fri Aug  2 01:04:02 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1885
1886         * nss/Makefile (generated): Add db-*.c.
1887
1888         * sysdeps/i386/sysdep.h: Get generic/sysdep.h explicitly instead of
1889         using #include_next.
1890
1891         * configure.in (--enable-add-ons): Quote m4 macro args.
1892
1893         * elf/rtld.c (dl_main): For --verify, fail if no dynamic section.
1894
1895 Thu Aug  1 14:40:03 1996  Roland McGrath  <roland@fast.cs.utah.edu>
1896
1897         * sunrpc/Makefile [$(cross-compile)=no]: Test before making librpcsvc.
1898
1899         * Makerules (build-shlib): Add -B$(csu-objpfx) to find crt[in].o there.
1900
1901         * Makeconfig (+preinit, +postinit): Prepend $(csu-objpfx) here.
1902         (+link): Not here.
1903
1904         * stdio-common/_itoa.h (_itoa_word): Declare unused to suppress
1905         warning when inline function is elided.
1906         * sysdeps/i386/dl-machine.h (elf_machine_matches_host): Likewise.
1907         (elf_machine_runtime_setup): Likewise.
1908         * elf/dynamic-link.h (elf_get_dynamic_info): Likewise.
1909         * sysdeps/i386/dl-machine.h (elf_machine_got): Likewise.
1910         (elf_machine_load_address): Likewise.
1911
1912         * catgets/gencat.c: Include <locale.h>.
1913
1914         * sysdeps/unix/mk-local_lim.c (param): Add SYMLOOP_MAX/MAXSYMLINKS.
1915
1916         * login/logwtmp.c (logwtmp): Call time, not __time.
1917
1918         * sysdeps/gnu/utmpbits.h (_HAVE_UT_PID): New macro.
1919         * login/login.c (login): Test [_HAVE_UT_PID] to use ut_pid member.
1920         * login/logwtmp.c (logwtmp): Likewise.
1921
1922         * sysdeps/generic/ioctl-types.h (sizeof): Define to 0 around #if
1923         comparing ioctl macro values.
1924
1925         * sysdeps/i386/sysdep.h: Do `#include_next <sysdep.h>'.
1926
1927         * manual/Makefile: Use -include for chapters to suppress warning.
1928
1929         * sysdeps/stub/socket.c: Fix type of TYPE arg.
1930         * sysdeps/stub/socketpair.c: Likewise.
1931
1932         * sysdeps/stub/_exit.c (_exit): Remove obsolete __NORETURN keyword.
1933
1934         * sysdeps/generic/sysdep.h: New file, broken out of ...
1935         * sysdeps/unix/sysdep.h: ... here.
1936         (C_LABEL): Moved out.
1937
1938         * Makeconfig (soversions.mk): Don't use newfangled ${x%%y} syntax;
1939         stick to sed.  Do `exit 0' at end because while returns nonzero.
1940
1941         * sysdeps/i386/sysdep.h: New file, broken out of ...
1942         * sysdeps/unix/i386/sysdep.h: ... here.  Generic asm macros moved out.
1943
1944         * sysdeps/stub/stdio_lim.h (L_ctermid, L_cuserid): Macros removed.
1945         They are defined unconditionally in libio/stdio.h.
1946
1947         * elf/dl-runtime.c: Include <stddef.h> for `NULL' defn.
1948         * elf/dl-cache.c: Likewise.
1949
1950 Mon Jul 29 19:20:05 1996  Ulrich Drepper  <drepper@cygnus.com>
1951
1952         * sysdeps/unix/sysv/linux/Makefile [$(subdir == misc]
1953         (sysdep_headers): Add sys/sysmacros.h.
1954         * sysdeps/unix/sysv/linux/sys/sysmacros.h: New file.
1955
1956 Wed Jul 31 14:21:36 1996  Ulrich Drepper  <drepper@cygnus.com>
1957
1958         * termios/termios.h [__OPTIMIZE__]: Remove "optimization" for
1959         tcgetattr.  We have weak aliases now.
1960         * stdlib/stdlib.h [__OPTIMIZE__ && __GNUC__ >= 2]: Remove
1961         "optimizations" for random functions.
1962
1963 Mon Jul 29 20:33:42 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1964
1965         * sysdeps/unix/sysv/linux/netinet/in.h (ntohl, ntohs, htonl,
1966         htons) [__BIG_ENDIAN]: #undef them before defining to avoid
1967         redefinition warning.
1968
1969 Mon Jul 29 20:28:27 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1970
1971         * time/time.h: Don't optimize tzset() to __tzset() which bypasses
1972         the __tzset_lock.
1973
1974 Tue Jul 30 15:14:50 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1975
1976         * sunrpc/rpc/pmap_clnt.h: Fix botched patch for multiple inclusion
1977         protection.
1978
1979 Tue Jul 30 02:48:28 1996  Ulrich Drepper  <drepper@cygnus.com>
1980
1981         * locale/loadlocale.c (_nl_load_locale): Change cast to `size_t'
1982         to be 64-bit clean.
1983         Reported by Richard Henderson <rth@tamu.edu>.
1984
1985 Tue Jul 30 15:04:50 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1986
1987         * locale/programs/ld-collate.c (collate_output): Fix typo reported by
1988         David Miller.
1989
1990 Tue Jul 30 13:23:13 1996  Ulrich Drepper  <drepper@cygnus.com>
1991
1992         * locale/setlocale.c (setlocale): Don't try to free C locale
1993         data.
1994         Reported by Matthias Urlichs.
1995
1996 Tue Jul 30 14:35:17 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1997
1998         * sysdeps/mach/hurd/dl-sysdep.c (__open): Use open_file.
1999         (open_file): New function, contents mostly from __open.
2000         (_dl_sysdep_read_whole_file): New function.
2001
2002 Sat Jul 27 11:23:59 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2003
2004         * sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Quote
2005         `..' dots in sed search string.
2006
2007 Mon Jul 29 01:27:07 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2008
2009         * sunrpc/rpc/rpc_msg.h: Fix botched patch for multiple inclusion
2010         protection.
2011
2012 Sun Jul 28 23:46:14 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2013
2014         * configure.in: Grok `--enable-add-ons=DIR1,DIR2,...', and configure
2015         in those directories.
2016         * config.make.in (add-ons): New varaible, set from @subdirs@.
2017         * Makefile (subdirs): Added $(add-ons) at the end.
2018
2019         * time/strftime.c (strftime: do_number): Initialize PRINTED to
2020         MAXDIGITS in case P is null and so sprintf is never actually called.
2021
2022 Mon Jul 29 02:46:23 1996  Ulrich Drepper  <drepper@cygnus.com>
2023
2024         Add support for the to-be-written internationalized regexp.
2025         This code must be able to use collation symbols and collation
2026         equivalent classes.
2027         * locale/C-collate.c (_nl_C_LC_COLLATE_symbol_hash,
2028         _nl_C_LC_COLLATE_symbol_strings, _nl_C_LC_COLLATE_symbol_classes):
2029         New global variables for collation classes.
2030         * locale/categories.def: Add new descriptions for collation symbols
2031         and collation classes.
2032         * locale/langinfo.h: Add constants for collation symbols and
2033         collation classes.
2034         * locale/lc-collate.c: Add new global variables for collation symbols
2035         and collation classes.
2036         (_nl_postload_collate): Initialize new variables.
2037         * locale/programs/ld-collate.c: Add code to emit tables for
2038         collation symbols and collation classes.
2039         * locale/programs/locales.h: Change prototype for `collate_output'.
2040         * locale/programs/locfile.c (write_all_categories): Call
2041         `collate_output' with new argument.
2042         * locale/localeinfo.h: Add declaration for new global vars.
2043         (union locale_data_value): New member wstr for `wchar_t' strings.
2044         * locale/programs/locale-spec.c: Handle `collate-classes'
2045         keyword and print information about available collation classes.
2046         * locale/strlen-hash.h: New file.  Simple hashing function which
2047         takes a string with known length.
2048         * locale/Makefile (distribute): Add strlen-hash.h.
2049         (locale-modules): New var.  Additional files for `locale' program.
2050
2051         * locale/C-ctype.c: Rewrite to avoid using string for giving values
2052         which are of type `u_int32_t'.
2053         Correct entry for EOF in toupper and tolower tables.
2054
2055         * locale/loadlocale.c (_nl_load_locale):  Add cast to prevent
2056         warning.
2057
2058         * locale/programs/ld-ctype.c (ctype_output): Add code to make
2059         sure that all tables in binary file are word-aligned.
2060
2061         * locale/programs/locfile.c (write_locale_data): Correct handling
2062         of LC_MESSAGES locale.  Create directory if necessary.
2063
2064         * locale/setlocale.c (setlocale): Add cast to avoid warning.
2065
2066         * string/string.h: Add prototype for `__strndup'.
2067
2068 Wed Jul 24 19:10:00 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2069
2070         * wcsmbs/mbrtowc.c: Remove unused variable.
2071
2072 Sun Jul 28 22:40:25 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2073
2074         * sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): Update to
2075         2.0.10; some problems were reported with an earlier version, and this
2076         one is known to work.
2077
2078         * sysdeps/generic/dl-sysdep.c (__libc_enable_secure): New variable.
2079         * sysdeps/mach/hurd/dl-sysdep.c: Likewise.
2080
2081 Sat Jul 27 13:02:09 1996  Ulrich Drepper  <drepper@cygnus.com>
2082
2083         * elf/rtld.c (dl_main): Ignore arguments when environment variable
2084         LD_TRACE_LOADED_OBJECTS is set.
2085
2086 Sun Jul 28 19:42:51 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2087
2088         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Initialize
2089         __libc_enable_secure instead of _dl_secure.
2090         * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Likewise.
2091         * elf/dl-load.c (_dl_map_object): Check __libc_enable_secure instead
2092         of _dl_secure.
2093         * elf/Makefile (routines): Add enbl-secure.
2094         (elide-routines.so): Here too.
2095         * sysdeps/generic/enbl-secure.c: New file.
2096         * posix/unistd.h [__USE_GNU]: Declare `__libc_enable_secure' flag.
2097         * elf/dl-support.c (_dl_secure): Variable removed.
2098         * elf/rtld.c: Likewise.  Replace all uses with __libc_enable_secure.
2099
2100 Sun Jul 28 19:26:40 1996  David S. Miller  <dm@neteng.engr.sgi.com>
2101
2102         * sysdeps/mips/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
2103         Declare _dl_runtime_resolve with __attribute__ ((unused)) so the
2104         compiler doesn't elide it.
2105         (elf_machine_rel): Follow Jul 14 change in sysdeps/i386/dl-machine.h.
2106
2107 Sat Jul 27 02:58:49 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2108
2109         * elf/rtld.c (dl_main): Take new option --verify when run directly.
2110         In verify mode, exit with status zero iff the argument object's
2111         PT_INTERP matches argv[0].
2112         * elf/ldd.sh.in: Use ${RTLD} --verify and only run the program if it
2113         exits with zero status.  This makes `ldd' secure again.
2114
2115 Fri Jul 26 22:49:58 1996  Ulrich Drepper  <drepper@cygnus.com>
2116
2117         * elf/rtld.c (dl_main): Implement LD_TRACE_LOADED_OBJECTS
2118         environment variable handling.  This makes the dynamic linker
2119         only print loaded libraries and quit.
2120
2121         * elf/ldd.sh.in: Don't use `rtld --list' but instead
2122         LD_TRACE_LOADED_OBJECTS environment variable to print needed
2123         objects.
2124
2125 Sat Jul 27 02:03:26 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2126
2127         * db/makedb.c (main): Print version on stdout, not stderr.  Don't exit
2128         after printing version until after doing usage for --help.
2129         (long_options, main, usage): Rename -l/--lowercase option to
2130         -f/--fold-case (-f matches sort).
2131
2132 Sat Jul 27 04:32:31 1996  Ulrich Drepper  <drepper@cygnus.com>
2133
2134         * db/makedb.c: New file.  Implement program to create simple <db.h>
2135         database from textual input.  This will be used for nss_db.
2136
2137 Sat Jul 27 01:24:05 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2138
2139         * sunrpc/rpc/auth_unix.h: Fix misapplied patches in last changes.
2140         * sunrpc/rpc/pmap_clnt.h: Likewise.
2141         * sunrpc/rpc/auth.h: Likewise.
2142         * sunrpc/rpc/pmap_rmt.h: Likewise.
2143         * sunrpc/rpc/rpc_msg.h: Likewise.
2144
2145 Sat Jul 27 04:37:34 1996  Ulrich Drepper  <drepper@cygnus.com>
2146
2147         * string/string.h (strndupa): Change to use return value of
2148         `memcpy' for more performance.
2149         * string/strndup.c: Likewise.
2150
2151         * string/string.h (strdupa): Don't call __builtin_alloca in argument.
2152         This might lead to problems.
2153         (strndupa): Likewise.
2154
2155 Fri Jul 26 15:24:25 1996  Ulrich Drepper  <drepper@cygnus.com>
2156
2157         * sunrpc/rpc/auth.h: Add protection against multiple inclusion
2158         and change K&R prototypes to ANSI prototypes.
2159         * sunrpc/rpc/auth_unix.h: Ditto.
2160         * sunrpc/rpc/clnt.h: Ditto.
2161         * sunrpc/rpc/pmap_clnt.h: Ditto.
2162         * sunrpc/rpc/pmap_prot.h: Ditto.
2163         * sunrpc/rpc/pmap_rmt.h: Ditto.
2164         * sunrpc/rpc/rpc_msg.h: Ditto.
2165         * sunrpc/rpc/svc.h: Ditto.
2166         * sunrpc/rpc/svc_auth.h: Ditto.
2167         * sunrpc/rpc/xdr.h: Ditto.
2168
2169 Fri Jul 26 20:39:42 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2170
2171         * ctype/test_ctype.c: Test EOF too.
2172
2173 Fri Jul 26 18:06:58 1996  Ulrich Drepper  <drepper@cygnus.com>
2174
2175         * sunrpc/rpc/auth.h: Add __BEGIN_DECLS and __END_DECLS.
2176         * sunrpc/rpc/auth_unix.h: Likewise.
2177         * sunrpc/rpc/clnt.h: Likewise.
2178         * sunrpc/rpc/netdb.h: Likewise.
2179         * sunrpc/rpc/pmap_clnt.h: Likewise.
2180         * sunrpc/rpc/pmap_prot.h: Likewise.
2181         * sunrpc/rpc/rpc_msg.h: Likewise.
2182         * sunrpc/rpc/svc.h: Likewise.
2183         * sunrpc/rpc/svc_auth.h: Likewise.
2184         * sunrpc/rpc/xdr.h: Likewise.
2185
2186         * sunrpc/rpc/pmap_clnt.h: Move definition of type `resultproc_t'
2187         to here from...
2188         * sunrpc/pmap_rmt.c: ...here.
2189
2190 Fri Jul 26 16:10:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2191
2192         * login/pututline_r.c (pututline_r): Only call getutid_r if ID has a
2193         valid ut_id field.
2194         * login/getutid_r.c (getutid_r): Mark UTMP_DATA->loc_utmp invalid
2195         if a search fails.
2196
2197 Fri Jul 26 00:36:50 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2198
2199         * sysdeps/mips/dl-machine.h: New file, contributed by Kazumoto Kojima
2200         <kkojima@info.kanagawa-u.ac.jp>.
2201
2202 Fri Jul 26 04:41:28 1996  Ulrich Drepper  <drepper@cygnus.com>
2203
2204         * intl/libintl.h: Define optimizing macros if __OPTIMIZE__ is
2205         defined, not __OPTIMIZED.
2206         (_nl_msg_cat_cntr): Move declaration outside macro definition
2207         to prevent "nested extern" warning.
2208         (dcgettext): Rename local variable `result' to `__result'.
2209
2210 Thu Jul 25 22:46:30 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2211
2212         * locale/programs/localedef.c (__progname): Remove decl.
2213         (main): Use program_invocation_short_name instead of __progname.
2214         (usage): Use program_invocation_name instead of __progname.
2215
2216 Fri Jul 26 03:46:08 1996  Ulrich Drepper  <drepper@cygnus.com>
2217
2218         * catgets/gencat.c: Use "libc" instead of PACKAGE.
2219         * locale/localedef.c: Ditto.
2220         * locale/locale.c: Ditto.
2221
2222         * locale/findlocale.c (_nl_find_locale): Little optimization.
2223         Use new function `strndup'.
2224
2225         * locale/loadlocale.c: Little optimization.  Use constant value
2226         from `_nl_category_num_items' instead of byte-order dependend
2227         value from file.
2228
2229         * locale/programs/ld-time.c (time_add): Correct string constant.
2230
2231         * locale/programs/locale-spec.c: New file.
2232         * locale/programs/locale.c: Call `locale_special' function if
2233         no other field matches.
2234
2235         * locale/programs/localedef.c: No need to define `program_name'.
2236         Use global variable `__progname'.
2237
2238         * locale/programs/locfile.c (write_locale_data): Always write
2239         LC_MESSAGES data in LC_MESSAGES/SYS_LC_MESSAGES file.  This is
2240         necessary since message catalogs are also installed in the
2241         LC_MESSAGES/ directory.
2242
2243         * locale/programs/stringtrans.c (ADDC): Correctly use `encode_char'
2244         function instead of writing single bytes.
2245         (encode_char): Also handle little endian.
2246
2247         * locale/setlocale.c (new_composite_name): Little optimization.
2248         Use return value of `memcpy'.
2249
2250         * misc/ttyent.h: Pretty print prototypes, add missing parameter
2251         names, prepend parameter names with __  and use `__const' instead
2252         of `const'.
2253         * posix/unistd.h: Ditto.
2254         * stdlib/stdlib.h: Ditto.
2255         * string/string.h: Ditto.
2256
2257         * posix/getconf.c: De-ASNI-fy.  Recognize POSIX.2 constant names.
2258         Use `error' function instead of doing it by hand.
2259         * sysdeps/posix/sysconf.c: De-ANSI-fy.
2260         Handle _SC_COLL_WEIGHTS_MAX.
2261         * sysdeps/stub/sysconf.c: Handle _SC_CHARCLASS_NAME_MAX,
2262         _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_2_LOCALEDEF
2263         since these do depend on the platform.
2264         Add POSIX.4 symbols.
2265
2266         * posix/posix2_lim.h: Add missing definition of
2267         _POSIX2_COLL_WEIGHTS_MAX.
2268         Change _POSIX2_EQUIV_CLASS_MAX and _POSIX2_CHARCLASS_NAME_MAX
2269         to high values since we have no fixed limit.
2270
2271         * sysdeps/generic/confname.h: Add _SC_PAGE_SIZE as alias for
2272         _SC_PAGESIZE for buggy systems (= HP UX) out there.
2273
2274         * wcsmbs/Makefile (routines): Add mbsnrtowcs and wcsnrtombs.
2275         * wcsmbs/mbsnrtowcs.c: New file.  Non-standard implementation.
2276         * wcsmbs/wcsnrtombs.c: Ditto.
2277         * wcsmbs/wchar.h [__USE_GNU]: Add prototypes for mbsnrtowcs and
2278         wcsnrtombs.
2279
2280 Thu Jul 25 00:25:54  Richard Henderson  <rth@tamu.edu>
2281
2282         * nss/nss_db/db-XXX.c: Kill trailing ; from lock defn as a matter of
2283         course.
2284         * nss/getXXent_r.c: Likewise.
2285         * nss/nsswitch.c: Likewise.
2286         * nss/nss_files/files-XXX.c: Likewise.
2287         * sysdeps/mach/hurd/dirstream.h (struct __dirstream): Likewise.
2288         * sysdeps/unix/bsd/telldir.c (struct record): Likewise.
2289         * sysdeps/unix/dirstream.h (struct __dirstream): Likewise.
2290
2291 Thu Jul 25 00:53:06 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2292
2293         * sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): New
2294         macro, now put the needed Linux version just once, here; update to
2295         needing linux-2.0.3 headers.
2296         (libc_cv_linuxVER): New macro derived from that.
2297         (kernel header check): Use those macros and some m4 magic to replace
2298         hard-coded `201' and `2.0.1' in several places.
2299
2300         * Makerules ($(libdir)/libc.so): Fix typos in generated comment.
2301
2302 Wed Jul 24 17:02:30 1996  Ulrich Drepper  <drepper@cygnus.com>
2303
2304         * time/localtime.c: Move lock variable declaration to end of
2305         variable declarations since if is a dummy macro the ; at the
2306         end terminates the variable section of the function.
2307
2308         * time/tzset.c: Undefine `tzset' before function declaration.
2309         Use `weak_function' macro instead of `weak_symbol'.
2310
2311 Wed Jul 24 18:57:33 1996  Ulrich Drepper  <drepper@cygnus.com>
2312
2313         * stdlib/strtouq.c: Additional weak alias is `strtoull', not
2314         `strotull'.
2315
2316 Wed Jul 24 18:26:23 1996  Ulrich Drepper  <drepper@cygnus.com>
2317
2318         * locale/C-ctype.c: Increment number of fields after change
2319         from Wed Jun 19 03:24:58 1996.
2320
2321 Tue Jul 23 18:13:37 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2322
2323         * sysdeps/mach/hurd/Makefile (rpcuserlibs): New variable.
2324         ($(common-objpfx)libc.so): Move deps into that, use it.
2325         [$(subdir) = elf] ($(objpfx)librtld.so): Depend on
2326         $(rpcuserlibs:.so=_pic.a).
2327         * elf/Makefile ($(objpfx)librtld.so): Just depend on libc_pic.a; don't
2328         use $(LDLIBS-c.so).
2329
2330 Thu Jul 18 21:41:25 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2331
2332         * sysdeps/generic/stpncpy.c: Fix semantics to make `stpncpy (d, s,
2333         n)' equivalent to `strncpy (d, s, n), d += strnlen (d, n)'.
2334
2335 Tue Jul 23 02:49:58 1996  Ulrich Drepper  <drepper@cygnus.com>
2336
2337         * locale/iso-4217.def: Add India to comment for symbol "INR ".
2338         Reported by Raja R Harinath  <harinath@cs.umn.edu>.
2339
2340 Sat Jul 20 14:03:45 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2341
2342         * sysdeps/m68k/dl-machine.h (elf_machine_rela): Remove bogus
2343         #undef RESOLVE.
2344
2345 Sun Jul 21 06:48:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2346
2347         * time/tzset.c: Include <libc-lock.h>.
2348         (__tzset_lock): New lock variable.
2349         (tzset): New function (weak defn), no longer weak alias for __tzset.
2350         Call __tzset while holding __tzset_lock.
2351         * time/localtime.c: Include <libc-lock.h>.
2352         (__localtime_r): Hold __tzset_lock while doing the work.
2353
2354         * sysdeps/generic/setenv.c (__environ): Change conditional for #define
2355         from [!HAVE_GNU_LD] to [!_LIBC].
2356         [_LIBC]: Include <libc-lock.h> and define a lock.
2357         (LOCK, UNLOCK): New macros, no-ops for [! _LIBC].
2358         (setenv, unsetenv): Use them.
2359
2360 Sun Jul 21 01:44:39 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2361
2362         * locale/programs/locfile.c (write_locale_data): Deal with missing
2363         UIO_MAXIOV.
2364
2365         * sysdeps/mach/hurd/socket.c (socket): Make TYPE an int.
2366         * sysdeps/mach/hurd/socketpair.c (socketpair): Likewise.
2367
2368 Sat Jul 20 21:55:31 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2369
2370         Win32 hacks from <Rob_Tulloh@tivoli.com>.
2371         * posix/glob.c [WIN32]: Don't include <pwd.h>; don't use d_ino;
2372         use void * for my_realloc; include <malloc.h> for alloca.
2373         (glob) [WIN32]: Use "c:/users/default" for ~ if no HOME variable.
2374         * posix/fnmatch.h [WIN32]: Use prototypes even if [!__STDC__].
2375         * posix/glob.h: Likewise.
2376
2377 Sat Jul 20 13:28:52 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2378
2379         * sysdeps/mach/hurd/select.c (__select): Don't poll on the last
2380         call __io_select unless there's only a single descriptor, as each
2381         descriptor now has its own reply port.
2382         If there is only a single descriptor, just use its reply port for
2383         everything and don't bother creating the port set.
2384
2385         * sysdeps/mach/hurd/uname.c (uname): Deref UNAME to get nodename.
2386         <unistd.h>: New include.
2387
2388         * sysdeps/mach/libc-lock.h (__libc_lock_define): Backslashify
2389         continuation line.
2390
2391 Sat Jul 20 07:15:33 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2392
2393         * crypt/Makefile, crypt/nocrypt.c: Removed.  It is illegal to export
2394         from the USA any software that even makes it easy to drop in an
2395         encryption module of foreign origin.
2396         * Makerules (cryptobjdir): Variable removed.
2397         ($(libdir)/libc.so): Remove dep on libcrypt.so$(libcrypt.so-version).
2398         * Makefile (subdirs): Remove crypt.
2399
2400 Fri Jul 19 15:45:20 1996  Ulrich Drepper  <drepper@cygnus.com>
2401
2402         * locale/C-messages.c (_nl_C_LC_MESSAGES): Add missing Kleene
2403         operator to yesexpr and noexpr string.
2404
2405 Fri Jul 19 15:10:37 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2406
2407         * sunrpc/xdr_mem.c (xdrmem_putlong): Don't cast LP to int32 (the
2408         old code would have failed on a big-endian 64-bit architecture).
2409         * sunrpc/xdr_stdio.c (xdrstdio_putlong): Ditto.
2410
2411         * sunrpc/xdr.c (xdr_int): Handle XDR_FREE case.
2412         (xdr_u_long): Use switch instead of chain of if-statements.
2413         Remove gratitous parentheses around return expressions.
2414         (xdr_enum): Open code case where INT_MAX<LONG_MAX.
2415
2416         * sunrpc/svc.c (svc_getreqset): Increment SOCK by 32, not NFDBITS.
2417
2418         * sunrpc/portmap.c (reg_service): Declare ANS and PORT as long,
2419         not int.
2420
2421 Fri Jul 19 16:56:41 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2422
2423         * dlfcn.h, db.h: New wrapper headers.
2424
2425         * posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA]
2426         for `struct stat;' forward decl.
2427
2428 Fri Jul 19 22:25:19 1996  Ulrich Drepper  <drepper@cygnus.com>
2429
2430         * locale/iso-4217.def: Add some more standardized currency
2431         symbols.
2432
2433 Fri Jul 19 13:18:02 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2434
2435         * hurd/report-wait.c (describe_number): Use unsigned long int for J.
2436
2437 Thu Jul 18 12:33:57 1996  Roland McGrath  <roland@baalperazim.frob.com>
2438
2439         * Rules (dummy.o, empty.o): Targets removed.
2440         (dummy.c, empty.c): New targets replace them.
2441
2442 Thu Jul 18 11:42:39 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2443
2444         * crypt/Makefile (lib-noranlib): Depend on
2445         $(objpfx)libcrypt.so$(libcrypt.so-version).
2446         (subdir): Fix name.
2447
2448 Thu Jul 18 04:33:21 1996  Roland McGrath  <roland@baalperazim.frob.com>
2449
2450         * sysdeps/mach/hurd/errnos.awk: Move EWOULDBLOCK check before errno==0
2451         check.  mib's clueless hacking broke it.
2452
2453 Thu Jul 18 04:27:21 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2454
2455         * Makerules ($(libdir)/libc.so): Add missing / after $(cryptobjdir).
2456
2457 Wed Jul 17 10:54:20 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2458
2459         * misc/sys/ustat.h: New file.
2460         * misc/ustat.h: Ditto.
2461         * sysdeps/generic/ustatbits.h: Ditto.
2462         * sysdeps/stub/ustat.c: Ditto.
2463         * sysdeps/unix/sysv/linux/ustatbits.h: Ditto.
2464         * misc/Makefile (headers): Mention ustat.h, sys/ustat.h, and
2465         ustatbits.h.
2466         (routines): Mention ustat.
2467
2468         * sysdeps/unix/sysv/linux/alpha/start.S: Move to ...
2469         * sysdeps/alpha/elf/start.S: here.
2470
2471         * sysdeps/unix/sysv/linux/syscalls.list: Mention klogctl in
2472         alphabetically correct place.  Mention ustat.
2473
2474         * sysdeps/unix/alpha/sysdep.S: Make errno a bss symbol, not a
2475         common symbol (makes errno accessible from gdb).
2476
2477         * login/pututline_r.c (pututline_r): Test ut_id in repositioning
2478         test, not ut_type.
2479
2480         * login/logwtmp.c (logwtmp): Reimplemented.  Must ensure that a
2481         record always gets appended at end of file (wtmp is a log file,
2482         after all).  Set ut_type to DEAD_PROCESS if name is empty.
2483
2484         * login/getutid_r.c (getutid_r): Handle search for UT_TYPE in
2485         separate loop from search for UT_ID.  Fix code so it is in
2486         sync with Unix man page.
2487
2488         * login/getutline_r.c (getutline_r): Stop searching only if
2489         ut_line matches and type is either USER_PROCESS or LOGIN_PROCESS.
2490
2491 Tue Jul 16 15:06:18 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2492
2493         * sysdeps/unix/sysv/linux/netinet/in.h: Base on <linux/in.h> to
2494         avoid duplicate declarations.
2495
2496 Sun Jul 14 19:08:55 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2497
2498         * manual/maint.texi (Supported Configurations): Add alpha-gnu-linux
2499         and alpha-gnu-linuxecoff targets.
2500
2501 Fri Jul 12 16:58:44 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2502
2503         * sysdeps/unix/sysv/linux/netinet/in.h: Declare bindresvport().
2504
2505 Sat Jun 22 23:30:07 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2506
2507         * resolv/res_send.c (res_send): Declare FROMLEN as size_t instead
2508         of int.
2509
2510         * resolv/res_comp.c (res_hnok): Use empty statement in place
2511         of NULL (which generates a "useless expression" warning in
2512         gcc).
2513
2514 Wed Jul 17 23:56:35 1996  Roland McGrath  <roland@baalperazim.frob.com>
2515
2516         * sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Replace ../
2517         with $(..) in output.
2518
2519 Wed Jul 17 21:53:45 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2520
2521         * elf/Makefile (dl-routines): Add dl-cache.
2522         * elf/dl-cache.c: New file.
2523         * elf/dl-load.c (_dl_map_object): Check cache before default path.
2524
2525 Wed Jul 17 20:41:30 1996  Ulrich Drepper  <drepper@cygnus.com>
2526
2527         * stdio-common/vfscanf.c: Major change.  Now read character
2528         from stream only if needed.  Before it was read after the
2529         previous character was used.
2530         Bug reported by Martin Goik <goma0002@FH-Karlsruhe.DE>
2531
2532         * stdio-common/tstscanf.c: Change test program so that return
2533         value is != 0 if one test failed.
2534
2535 Wed Jul 17 17:08:48 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2536
2537         * sysdeps/m68k/Makefile (crypt): Variable removed.
2538         * sysdeps/sparc/Makefile: Likewise.
2539
2540         * version.h (VERSION): Update to 1.93.
2541
2542         * Makerules ($(libdir)/libc.so): Depend on
2543         $(common-objpfx)libcrypt.so$(libcrypt.so-version).
2544
2545         * crypt/nocrypt.c: New file.
2546         * Makefile (subdirs): Add crypt.
2547         * crypt/Makefile: New file.
2548
2549         * Makerules (soversions.mk): Move this target, include of it, and
2550         include of version.mk to ...
2551         * Makeconfig: ... here.
2552         (soversions.mk): Depend on Makeconfig instead of Makerules.
2553
2554         * shlib-versions (*-*-*): Set libcrypt=0.
2555
2556 Wed Jul 17 11:29:26 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2557
2558         * stdio/linewrap.c (lwupdate): Fix boundary condition where a
2559         word extends right up to rmargin.
2560
2561         * stdio/linewrap.c (lwupdate): When we've done a word wrap and
2562         output the wrap margin, set point_col to wmargin.
2563         Use negative point_col to deal with a wmargin of 0.
2564         (line_wrap_point): Return 0 for a negative point_col.
2565         (line_wrap_stream): Make wmargin ssize_t.
2566         * stdio/linewrap.h (struct line_wrap_data): Make wmargin &
2567         point_col ssize_t.
2568         (line_wrap_stream): Make wmargin ssize_t.
2569         (line_wrap_point): Return 0 for a negative point_col.
2570
2571 Wed Jul 17 02:43:28 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2572
2573         * shlib-versions (*-*-gnu*): Set libc=0.0
2574
2575 Tue Jul 16 01:52:42 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2576
2577         * sysdeps/m68k/dl-machine.h: Follow Jul 14 change in
2578         sysdeps/i386/dl-machine.h.
2579
2580 Tue Jul 16 00:18:19 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2581
2582         * stdio/linewrap.c (__line_wrap_update): Add hackery from flshfp
2583         to fiddle __put_limit in conjunction with __linebuf_active.
2584
2585 Tue Jul 16 00:14:07 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2586
2587         * sysdeps/unix/inet/syscalls.list (connect, send): Add underscores
2588         to the strong name, not the file name.
2589
2590 Tue Jul 16 16:43:58 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2591
2592         * csu/initfini.c: More magic.  Detect if .end is produced and put it
2593         in the output iff the compiler does.
2594
2595         * elf/dl-lookup.c (_dl_lookup_symbol): Avoid sizeof dynamic auto array
2596         because that is broken on alpha.
2597
2598         * sysdeps/mach/hurd/mmap.c: Use same inheritance arg in second vm_map
2599         call as in first.
2600
2601         * Makerules (make-link): Install the new link with atomic mv -f in
2602         case ln itself requires the library being installed.
2603
2604 Tue Jul 16 00:31:31 1996  Richard Henderson  <rth@tamu.edu>
2605
2606         * sysdeps/alpha/dl-machine.h: Mirror Roland's changes to
2607         i386/dl-machine.h of 960713.
2608
2609         * sysdeps/generic/dl-sysdep.c:  Include <sys/mman.h>.
2610         (_dl_sysdep_read_whole_file): Fix result variable declaration.
2611
2612 Tue Jul 16 00:53:57 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2613
2614         * sysdeps/mach/hurd/uname.c: Call __gethostname to fill in the
2615         `nodename' member.
2616
2617 Mon Jul 15 17:23:53 1996  Ulrich Drepper  <drepper@cygnus.com>
2618
2619         * stdio-common/vfprintf.c (vfprintf): Call parse_one_spec
2620         with pointer to local variable instead of NULL.
2621
2622 1996-07-15  Paul Eggert  <eggert@twinsun.com>
2623
2624         * time/strftime.c (strftime): Don't pass empty macro argument to `add'.
2625
2626 Sat Jul 13 09:53:39 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2627
2628         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove names
2629         that are already added by other means.
2630
2631         * sysdeps/unix/sysv/linux/syscalls.list: Add more EXTRA's in the
2632         caller column to get those syscalls added automagically.
2633
2634 Mon Jul 15 12:24:54 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2635
2636         * login/logout.c (logout): Initialize DATA to a state that will
2637         make setutent_r happy.
2638
2639 Sun Jul 14 01:51:39 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2640
2641         * elf/rtld.c (dl_main) [ELF_MACHINE_DEBUG_SETUP]: Use this macro
2642         instead of setting the DT_DEBUG pointer.
2643
2644         * csu/initfini.c (_init, _fini): Generate .end directives after
2645         standalone prologues and filter them out from epilogues.
2646
2647         * Makeconfig (rtld-installed-name): Set to ld.so.1.
2648         * sysdeps/unix/sysv/linux/Makefile (rtld-installed-name): Variable
2649         removed.
2650
2651         * manual/Makefile (glibc-targets): Remove subdir_ from elts.
2652
2653         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_read_whole_file): New fn.
2654
2655         * MakeTAGS (extract): Pass --add-comments=TRANS.
2656         * sysdeps/gnu/errlist.awk: Write comments into the output with the
2657         descriptive paragraphs from the manual preceded by TRANS.
2658
2659         * elf/rtld.c (RESOLVE): Use the dl's load address, not a constant zero!
2660         (_dl_start): Move RESOLVE defn inside this function and #include
2661         "dynamic-link.h" a second time there.
2662         [RTLD_START]: Move use of this after _dl_start function.
2663
2664         * elf/dl-reloc.c: Include "dynamic-link.h" at file scope.
2665
2666         * elf/rtld.c: Include <string.h>.
2667
2668         * elf/dynamic-link.h (ELF_DYNAMIC_DO_REL, ELF_DYNAMIC_DO_RELA,
2669         ELF_DYNAMIC_RELOCATE): No longer take RESOLVE argument.
2670         Conditionalize defns on [RESOLVE].
2671         * elf/do-rel.h (elf_dynamic_do_rel): Likewise.
2672         * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
2673         Instead use RESOLVE macro with same args.
2674         (elf_machine_rel): Conditionalize defn on [RESOLVE].
2675         * elf/dl-reloc.c (RESOLVE): New macro, define before including
2676         "dynamic-link.h".  It replaces `resolve' local function.
2677         * elf/dl-runtime.c: Likewise.
2678         * elf/rtld.c: Likewise.
2679
2680         * elf/dl-deps.c (_dl_map_object_deps): Start TAILP at last preload.
2681
2682         * elf/dl-open.c (_dl_open): Force an indirect call for
2683         _dl_relocate_object so there is no chance a PLT fixup will be done
2684         and clobber _dl_global_scope before our call happens.
2685
2686         * sysdeps/i386/fpu/__math.h (tan): Correct output constraint from =u
2687         to =t; must operate on top of fp reg stack, not second from top.
2688         Correct input constraint to 0 from t; must be explicit when input and
2689         output are the same register.
2690         (floor): Use __volatile instead of volatile.
2691         (ceil): Likewise.
2692
2693         * manual/Makefile ($(objpfx)stamp%-$(subdir)): Separate rule from
2694         other targets.
2695
2696 Sat Jul 13 23:50:17 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2697
2698         * manual/Makefile (lib): New phony target.  Depend on stamp files.
2699         ($(objpfx)stamp%-$(subdir)): New rule to create them when necessary.
2700
2701 1996-07-13  Paul Eggert  <eggert@twinsun.com>
2702
2703         * time/strftime.c (strftime): Use space padding for %e, %k, %l,
2704         to match Emacs format-time-string specification.
2705         (DO_NUMBER_SPACEPAD): Renamed from DO_NUMBER_NOPAD.
2706
2707 Sat Jul 13 20:17:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2708
2709         * elf/dl-deps.c (_dl_map_object_deps): Take new args PRELOADS and
2710         NPRELOADS, vector of `struct link_map *'s; add them to the searchlist
2711         between MAP and its deps.
2712         * elf/link.h: Fix decl.
2713         * elf/rtld.c (dl_main): If not secure, parse LD_PRELOAD for
2714         colon-separated list of names, map those and pass vector of ptrs as
2715         PRELOADS list to _dl_map_object_deps.
2716         * elf/dl-runtime.c (_dl_object_relocation_scope): Pass new args to
2717         _dl_map_object_deps with empty preload list.
2718         * elf/dl-open.c (_dl_open): Likewise.
2719
2720         * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Function
2721         removed.
2722         (__mmap): Pass MACH_PORT_NULL for memobj port when (flags & MAP_ANON).
2723         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill):
2724         Conditionalize defn on [! MAP_ANON].
2725         * elf/dl-minimal.c (malloc): Conditionalize use of _dl_zerofd
2726         on [! MAP_ANON].
2727         * elf/rtld.c (dl_main): Likewise.
2728         * elf/dl-load.c (_dl_zerofd): Conditionalize defn on [! MAP_ANON].
2729         (_dl_map_object_from_fd): Conditionalize initialization of _dl_zerofd.
2730
2731         * elf/dl-fini.c (_dl_fini): Skip finalizer for executable itself.
2732
2733 Sat Jul 13 02:47:53 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2734
2735         * stdlib/random.c (__random): Declare as int32_t to be in sync
2736         with declaration.
2737
2738         * socket/Makefile (headers): Add socketbits.h.
2739
2740         * misc/mntent.c (endmntent): Allow for NULL stream.  SunOS does
2741         it that way.
2742
2743         * grp/initgroups.c (initgroups): Add groups that user is a member
2744         of, not the ones he is _not_ a member of.
2745
2746         * nss/nsswitch.c (known_compare): Make known_compare() a static
2747         instead of a local function.  The latter are difficult to debug
2748         and slow to execute on certain platforms.
2749
2750         * sysdeps/posix/ttyname_r.c (ttyname_r): Use sizeof (dev) - 1 in
2751         place of sizeof (dev).  The size of a literal string includes the
2752         NUL byte.
2753
2754         * sysdeps/unix/getlogin.c (getlogin): Initialize ut_fd with -1.
2755
2756 Thu Jul 11 16:59:10 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2757
2758         * misc/mntent.c (addmntent): Seek to end of file before writing
2759         entry.  Return 1 on error, not -1.
2760
2761 Tue Jul  9 19:08:05 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2762
2763         * sysdeps/unix/sysv/linux/syscalls.list: Mark bdflush as EXTRA
2764         syscall.
2765
2766 Fri Jul  5 18:44:55 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2767
2768         * sysdeps/unix/sysv/linux/alpha/ioperm.c (port_to_cpu_addr): Size
2769         shift amount for Jensen must be 5 not 4.
2770
2771 Sat Jul 13 20:04:28 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2772
2773         * socket/sys/socket.h (struct osockaddr): New type.
2774
2775 Sat Jul 13 03:50:53 1996  Ulrich Drepper  <drepper@cygnus.com>
2776
2777         * misc/Makefile (routines): Add qefgcvt and qefgcvt_r.
2778         * misc/efgcvt.c, misc/efgcvt_r.c: Change code so that the `double'
2779         and `long double' versions can be generated.
2780         * misc/qefgcvt.c, misc/qefgcvt_r.c: New files.  Define macros
2781         so that included efgcvt{,_r}.c file generate `long double'
2782         versions.
2783         * stdlib/stdlib.h: Add prototypes for q[efg]cvt() and q[ef]cvt_r()
2784         functions.
2785
2786         * manual/startup.texi: Document new getsubopt function.
2787         * manual/examples/subopt.c: New example program for documenting
2788         getsubopt function.
2789
2790 Fri Jul 12 23:58:37 1996  Ulrich Drepper  <drepper@cygnus.com>
2791
2792         * stdlib/Makefile (routines): Add getsubopt.
2793         * stdlib/stdlib.h: Add prototype for getsubopt.
2794         * stdlib/getsubopt.c: New file.  Implement getsubopt function
2795         to handle suboption parsing.
2796
2797 Thu Jul 11 20:09:55 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2798
2799         * inet/getnetent_r.c: Define NEED_H_ERRNO.
2800         * inet/getnetbynm_r.c: Likewise.
2801         * inet/getnetent.c: Likewise.
2802         * inet/getnetbyad_r.c: Likewise.
2803         * inet/getnetbyad.c: Likewise.
2804         * inet/getnetbynm.c: Likewise.
2805
2806         * sysdeps/generic/pselect.c: Include <sys/time.h>.
2807
2808         * misc/sys/select.h: Include <time.h> instead of <sys/time.h> for
2809         `struct timespec'.
2810
2811         * math/Makefile (calls): Add s_frexp, s_ldexp.
2812         (routines): Remove them and &f from here.
2813
2814         * sys/socket.h: New file, wrapper for socket/sys/socket.h.
2815
2816         * nss/nss_files/files-service.c (getservbyname): Take second arg PROTO
2817         and check it.
2818
2819         * nss/nss_files/files-XXX.c: Comment fix.
2820
2821 Fri Jul 12 01:28:35 1996  Ulrich Drepper  <drepper@cygnus.com>
2822
2823         * nss/getXXent_r.c (GETFUNC_NAME_STRING): Define with name
2824         of reentrant function.
2825         (setup): Pass additional argument with function name we are
2826         looking for.
2827         (SETFUNC_NAME, ENDFUNC_NAME, GETFUNC_NAME): Call setup with
2828         new argument {SET,END,GET}FUNC_NAME_STRING.
2829
2830         * nss/getXXent.c (GETFUNC_NAME): RESULT must be static because
2831         we return a pointer.
2832
2833 Thu Jul 11 18:20:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2834
2835         * nss/nss_files/files-parse.c: Add comment about things to #define.
2836
2837         * nss/nss_files/files-hosts.c (NEED_H_ERRNO): Define it.
2838
2839         * nss/nss_files/files-parse.c (STRING_FIELD): Don't flag NUL before
2840         terminator char as an error.
2841
2842         * nss/getXXbyYY_r.c (REENTRANT_NAME): Set *H_ERRNOP, not h_errno.
2843
2844 Thu Jul 11 03:21:10 1996  Ulrich Drepper  <drepper@cygnus.com>
2845
2846         * catgets/gencat.c (write_out): Move code to determine new
2847         best size out of inner loop.
2848
2849 Thu Jul 11 00:22:40 1996  Ulrich Drepper  <drepper@cygnus.com>
2850
2851         * sysdeps/libm-ieee754/s_frexpl.c: New file.  `long double'
2852         implementation of frexp() function.
2853         * sysdeps/libm-ieee754/s_ldexpl.c: New file.  `long double'
2854         implementation of ldexp() function.
2855
2856         * sysdeps/libm-i387/s_isnanl.c (isnanl): Mask explicit one
2857         out before or'ing.
2858
2859 Wed Jul 10 05:24:40 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2860
2861         * misc/mntent.c: Include <sys/types.h>.
2862         (endmntent): Return 1 one success, 0 on failure.
2863         (getmntent): Chop newline and ignore empty lines.
2864
2865 Mon Jul  8 21:18:40 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2866
2867         * sysdeps/m68k/dl-machine.h (RESOLVE): New macro, defined
2868         differently based on [RTLD_BOOTSTRAP].
2869         (elf_machine_rela): Use it instead of the fn ptr arg directly.
2870
2871 Tue Jul  9 09:37:55 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2872
2873         * posix/glob.h (__glob_opendir_hook, __glob_readdir_hook,
2874         __glob_closedir_hook): Remove decls.
2875
2876         * sysdeps/generic/machine-gmon.h: Declare mcount_internal.
2877
2878         * sysdeps/unix/inet/syscalls.list: Define __ names with weak aliases
2879         for send and connect syscalls.
2880
2881         * socket/sys/socket.h: New file, taken from non-sysdep parts of
2882         linux/sys/socket.h; break sysdeps parts out into socketbits.h.
2883         Declare __ names for send and connect.
2884         * sysdeps/generic/socketbits.h: New file.
2885         * sysdeps/unix/sysv/linux/socketbits.h: New file.
2886         * sysdeps/unix/sysv/linux/sys/socket.h: File removed.
2887         * sysdeps/generic/sys/socket.h: File removed.
2888
2889         * sysdeps/mach/hurd/connect.c: Define __ name and weak alias.
2890         * sysdeps/mach/hurd/send.c: Likewise.
2891
2892         * sysdeps/mach/libc-lock.h: New file.
2893         * sysdeps/unix/readdir.c: Do locking.
2894         * sysdeps/unix/seekdir.c: Likewise.
2895         * sysdeps/unix/rewinddir.c:  Likewise.
2896         * sysdeps/unix/closedir.c: Likewise.
2897         * sysdeps/unix/bsd/telldir.c: Likewise.
2898         * sysdeps/mach/hurd/seekdir.c: Likewise.
2899         * sysdeps/mach/hurd/readdir.c: Likewise.
2900         * sysdeps/mach/hurd/closedir.c: Likewise.
2901         * sysdeps/mach/hurd/opendir.c: Initialize the lock.
2902         * sysdeps/unix/opendir.c: Likewise.
2903         * sysdeps/mach/hurd/dirstream.h: Include <libc-lock.h>.
2904         (struct __dirstream): Add lock member using __libc_lock_define.
2905         * sysdeps/unix/dirstream.h: Likewise.
2906
2907         * sysdeps/stub/libc-lock.h (__libc_lock_fini): New macro.
2908
2909         * stdlib/mbstowcs.c: Pass address of pointer to mbsrtowcs.
2910
2911         * stdlib/wcstombs.c: Use wcsrtombs instead of mbsrtowcs.
2912
2913 Thu Jul  4 01:34:04 1996  Ulrich Drepper  <drepper@cygnus.com>
2914
2915         * locale/programs/stringtrans.c: Fix typo in copyright.
2916
2917         * stdio-common/printf-prs.c: Add casts to prevent
2918         signed<->unsigned warnings.
2919
2920         * stdio-common/printf-parse.h: Initialize state variable before
2921         calling mbrlen.
2922         * stdio-common/printf-prs.c: Don't initialize state variable here.
2923         * stdio-common/vfprintf.c: Don't initialize state variable.
2924         (vfprintf): While determining length of multibyte string don't
2925         try to be clever in determining characters to use for first
2926         call.
2927
2928         Add real implementation of multibyte<->wide char conversion
2929         functions.  The functions always convert between the fixed wide
2930         char format (ISO 10646 in UCS4) and the UTF8 representation of
2931         this character set.  Conversion between the currently used
2932         8bit character set and ISO 10646 will not take place.  This is
2933         what iconv() is for.
2934         * wcsmbs/wchar.h (mbstate_t): Define as structure to replace
2935         dummy definition.
2936         Add optimized version of `mbrlen' function.
2937         * wcsmbs/btowc.c (btowc): Restrict range of legal characters
2938         to 0...0x7f.
2939         * wcsmbs/wctob.c (wctob): Restrict range of legal characters
2940         to 0..0x7f.
2941         * wcsmbs/mbrlen.c: Make mbrlen a weak alias of __mbrlen.
2942         This is needed in the wchar.h header.
2943         * wcsmbs/mbrtowc.c: Replace dummy implementation.  Convert UTF8
2944         encoded character to UCS4.
2945         * wcsmbs/mbsinit.c: Replace dummy implementation.  Test COUNT
2946         element of `mbstate_t' for initial state.
2947         * wcsmbs/mbsrtowcs.c: Replace dummy implementation.  Convert UTF8
2948         encoded string to UCS4 string.
2949         * wcsmbs/wcrtomb.c: Replace dummy implementation.  Convert UCS4
2950         character to UTF8 encoded form.
2951         * wcsmbs/wcsrtombs.c: Replace dummy implementation.  Convert UCS4
2952         encoded string to UTF8 encoded form.
2953
2954 Tue Jul  9 06:19:29 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2955
2956         * sysdeps/unix/sysv/linux/configure.in: Use version number in cache
2957         variable name, so new a libc with new requirements won't fail to
2958         notice an insufficient Linux version.
2959
2960         * sysdeps/unix/sysv/linux/direntry.h: New file from David Mosberger.
2961
2962         * sysdeps/unix/sysv/linux/configure.in: Check for Linux 2.0.1 headers,
2963         instead of 2.0 headers.
2964
2965         * sysdeps/mach/hurd/Makefile (stamp-errnos): Uncomment CVS commit cmds.
2966
2967         * sysdeps/gnu/errlist.awk: Undo mib's bogus changes.  The
2968         sysdeps/mach/hurd/errnos.awk bug fix was the only correct change.
2969
2970         * sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Declare _mcount
2971         before using it in lhs of weak_alias.
2972
2973         * nss/getXXent_r.c (setup): New function, broken out of SETFUNC_NAME.
2974         Call __nss_lookup when not setting STARTP.
2975         (SETFUNC_NAME, ENDFUNC_NAME, REENTRANT_GETNAME): Call it to set up for
2976         function-calling loop.
2977
2978 Tue Jul  9 00:14:52 1996  Michael I. Bushnell p/BSG  <mib@gnu.ai.mit.edu>
2979
2980         * sysdeps/mach/hurd/ioctls.h (MDMBUF, ECHO, TOSTOP, FLUSHO,
2981         PENDIN, NOFLSH): Undefine these at start if they are already
2982         defined to avoid collision with termbits.h.
2983         * sysdeps/generic/termbits.h (ECHO, TOSTOP, NOFLSH): Likewise.
2984         (MDMBUF, FLUSHO, PENDIN) [__USE_BSD]: Likewise.
2985
2986 Mon Jul  8 13:37:40 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2987
2988         * math/math.h (_Mfloat_, _Mlong_double_): New macros, defined iff not
2989         already defined to float, long double.  Use those macros for _Mdouble_
2990         defns when including mathcalls.h.
2991         * math/Makefile [$(long-double-fcts) != yes] (CPPFLAGS): Append
2992         -D_Mlong_double_=double.
2993
2994         Add more -lm functions to -lc because ldexp uses them.
2995         * math/Makefile (calls): Add s_finite, s_copysign, s_scalbn, s_modf.
2996         (routines): Remove s_modf, add s_frexpf, s_ldexpf; all but frexp and
2997         ldexp have both f and l code, and those have f though not l code.
2998
2999 Mon Jul  8 13:10:50 1996  Michael I. Bushnell p/BSG  <mib@gnu.ai.mit.edu>
3000
3001         * sysdeps/mach/hurd/errnos.awk: Skip entries where the
3002         error is 0.  The "placeholder" entries recently added to
3003         errno.texi convert to zero since `???/' is at the front of them.
3004         * sysdeps/gnu/errlist.awk (errnoh): Likewise.
3005
3006         * sysdeps/stub/setdomain.c (setdomainname): Declare NAME parm
3007         __const to conform with unistd.h.
3008
3009         * stdlib/stdlib.h (random): Declare return type to be int32_t.
3010
3011         * string/argz-delete.c (argz_delete): Use memmove instead of
3012         memcpy for possibly overlapping strings.
3013
3014 Mon Jul  8 02:14:25 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3015
3016         * libc-symbols.h [GCC >= 2.7] (strong_alias, weak_alias): Use extern
3017         storage class.  GCC gives an error for non-extern data defns with the
3018         alias attribute.
3019
3020 Mon Jul  8 01:37:34 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
3021
3022         * string/argz-insert.c (__argz_insert): (__argz_insert): Use
3023         memmove instead of memcpy for possible overlapping strings.
3024
3025 Mon Jul  8 00:11:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3026
3027         * libc-symbols.h (weak_function): New macro.
3028         For GCC 2.7+ define as __attribute__ ((weak)).
3029         * elf/dl-minimal.c: Use weak_function as keyword in function defns
3030         instead of weak_symbol (NAME) after the defn.
3031         * stdlib/strtol.c: Likewise.
3032         * stdlib/strtod.c: Likewise.
3033         * sysdeps/mach/hurd/dl-sysdep.c: Likewise.
3034
3035         * sysdeps/alpha/dl-machine.h (elf_machine_rela) [RTLD_BOOTSTRAP]:
3036         If this is defined, don't declare _dl_rtld_map as weak, and
3037         don't check for MAP pointing to it.  RESOLVE is always null in this
3038         case, so test with #ifdef instead of if.
3039
3040         * libc-symbols.h (symbol_set_declare): Use weak_extern instead of
3041         weak_symbol.
3042         * csu/initfini.c (_init): Likewise.
3043         * locale/setlocale.c (DEFINE_CATEGORY): Likewise.
3044         * misc/efgcvt_r.c: Likewise.
3045         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
3046         * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
3047
3048         * libc-symbols.h [ASSEMBLER] (weak_symbol): Macro removed.
3049         It was not used in any assembler code.
3050         (weak_symbol_asm): Renamed to weak_extern_asm.
3051         (weak_extern): New macro replaces weak_symbol for weak extern refs;
3052         define to weak_extern_asm for [!ASSEMBLER].
3053
3054 Sun Jul  7 18:42:06 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3055
3056         * libc-symbols.h [! ASSEMBLER] [HAVE_WEAK_SYMBOLS] (weak_symbol_asm,
3057         weak_alias_asm): New macros, renamed from weak_symbol/weak_alias;
3058         define those now as aliases.
3059         Change conditional to use __attribute__ syntax for GCC 2.7+, not 2.8+
3060         [GCC >= 2.7] [HAVE_WEAK_SYMBOLS] (weak_symbol): Do weak_symbol_asm
3061         after GCC weak attribute decl.
3062
3063         * sysdeps/gnu/errlist.awk (BEGIN): Initialize associative array ALIAS,
3064         map EWOULDBLOCK->EAGAIN, EDEADLOCK->EDEADLK.
3065         (element printer): Check for elt in ALIAS, instead of special case
3066         for EWOULDBLOCK.
3067
3068         * io/Makefile (headers): Add sys/vfs.h.
3069         * io/sys/vfs.h: New file.
3070
3071         * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Don't unlock the
3072         critical section lock before unlinking dying active resources.
3073         The unlock just before return is right (i.e. old code unlocked twice).
3074
3075 Sun Jun  2 22:28:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3076
3077         * stdio/linewrap.c (lwupdate): Update D->point_offs when done.
3078         Use memmove instead of memcpy where overlap is possible (not
3079         necessary using current implementation of memcpy, but...).
3080         (__line_wrap_update): Don't update D->point_offs (lwupdate does it).
3081
3082 Fri May 31 11:48:46 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3083
3084         * stdio/linewrap.c (lwupdate): New function, mostly was
3085         __line_wrap_update.  Use POINT_COL field instead of POINT.
3086         (__line_wrap_output): Use lwupdate.
3087         (__line_wrap_update): New function.
3088         (ensure_unwrapped, ensure_wrapped): New functions.
3089         (line_wrap_set_lmargin, line_wrap_set_rmargin,
3090         line_wrap_set_wmargin, line_wrap_point): Use __line_wrap_update.
3091
3092         * stdio/linewrap.h (struct line_wrap_data): Rename POINT field to
3093         POINT_COL. Add POINT_OFFS field.
3094         (__line_wrap_update): New decl.
3095         (line_wrap_set_lmargin, line_wrap_set_rmargin,
3096         line_wrap_set_wmargin, line_wrap_point): Use __line_wrap_update.
3097
3098 Fri Jul  5 17:34:47 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3099
3100         * login/logout.c (logout): Do nothing if getutline_r returns ESRCH.
3101
3102         * login/pututline_r.c (pututline_r): Since we assign RESULT from
3103         lseek now, check that it's >= 0, not == 0.
3104
3105 Wed Jul  3 13:28:04 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3106
3107         * login/login.c (login): Make a copy of *UT, fill in various
3108         fields that we supply (ut_line, ut_type, ut_pid), and use the copy
3109         in place of UT.
3110
3111         * login/getutline_r.c (getutline_r): When we return ESRCH, mark
3112         UTMP_DATA->ubuf invalid (by setting UTMP_DATA->loc_utmp to 0).
3113
3114 Fri Jul  5 12:22:51 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3115
3116         * hurd/hurdsig.c (_hurd_internal_post_signal): In case of handled
3117         signal during critical section doing interruptible RPC, if
3118         _hurdsig_abort_rpcs wants to change thread state, do thread_set_state
3119         before thread_resume.  If in critical section, pass 0 for SIGNO to
3120         _hurdsig_abort_rpcs so rpc is interrupted regardless of SA_RESTART.
3121
3122         * extra-lib.mk: Fix typo in $(extra-libs-others) conditional.
3123
3124         * sysdeps/unix/sysv/linux/sys/user.h: New file.
3125         * sysdeps/unix/sysv/linux/Dist: Add it.
3126         * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add sys/user.h.
3127
3128         * nss/nss_files/files-parse.c (parse_list): Set EOL from LINE if it
3129         points within DATA->linebuffer; otherwise use all of DATA->linebuffer
3130         itself, no need to skip past a NUL.
3131
3132         * nss/nsswitch.h (known_function): Comment fix.
3133         * nss/nsswitch.c (nss_lookup_function): Rewritten using __tsearch
3134         directly.  Do the lookup and insertion with a single call, and fill in
3135         the tree node afterwards if new.
3136         (known_compare, nss_find_entry, nss_insert_entry): Functions removed.
3137
3138         * misc/sys/select.h: #define __need_timespec before <sys/time.h> incl.
3139         (struct timeval): Add bodiless decl for scope.
3140
3141         * time/time.h (struct timespec): Rename members from `ts_*' to `tv_*'.
3142         Move struct timespec defn outside [_TIME_H] so it can be got with
3143         #define __need_timespec.
3144
3145         * time/sys/time.h (TIMEVAL_TO_TIMESPEC): Use `tv_*' instead of `ts_*'
3146         for `struct timespec' member names.
3147         (TIMESPEC_TO_TIMEVAL): Likewise.
3148
3149         * nss/Makefile (extra-libs-others): New variable.
3150
3151         * extra-lib.mk: Don't test for $($(lib)-no-lib-dep).  Instead match
3152         $(lib) in $(extra-libs-others).
3153         * sunrpc/Makefile (extra-libs-others): New variable.
3154         (librpcsvc-no-lib-dep): Variable removed.
3155
3156         * elf/rtld.c: Define RTLD_BOOTSTRAP before #include "dynamic-link.h".
3157         * sysdeps/i386/dl-machine.h (elf_machine_rel): Remove weak decl for
3158         _dl_rtld_map.
3159         (RESOLVE): New macro, defined differently based on [RTLD_BOOTSTRAP].
3160         (elf_machine_rel): Use it instead of testing fn ptr arg at runtime.
3161         (elf_machine_rel: case R_386_32) [! RTLD_BOOTSTRAP]: Declare
3162         _dl_rtld_map weak only here.
3163
3164         * posix/unistd.h [__USE_BSD]: Declare getdomainname, setdomainname.
3165
3166 Thu Jul  4 05:21:59 1996  David Mosberger-Tang  <davidm@azstarnet.com>
3167
3168         * login/utmp.h: Fix typos.
3169
3170         * misc/syslog.c (vsyslog): Use __send instead of send and
3171         __connect instead of connect to avoid name-space collisions (e.g.,
3172         with psgetty).
3173
3174 Wed Jul  3 16:29:41 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3175
3176         * nss/getXXbyYY_r.c (REENTRANT_NAME): Cast FCT in __nss_next call.
3177
3178         * sysdeps/generic/sbrk.c: Always call __brk (0) to update __curbrk.
3179
3180         * malloc/malloc-size.c (malloc_usable_size): Renamed from
3181         malloc_object_allocation_size.
3182         * malloc/malloc.h: Fix decl.
3183
3184         * sys/select.h: New file, wrapper header.
3185
3186         * posix/sys/types.h [__USE_BSD]: Include <sys/select.h>; remove
3187         fd_set, associated macros, and select decl.
3188
3189         * sysdeps/posix/isfdtype.c: New file.
3190
3191 Tue Jul  2 23:45:14 1996  Ulrich Drepper  <drepper@cygnus.com>
3192
3193         The latest Japanese proposal for POSIX locales renames the
3194         CHARMAP keyword in locale definition files to CHARCONV.
3195         * locale/programs/ld-ctype.c, locale/programs/locales.h: Rename
3196         function ctype_is_charmap to ctype_is_charconv.
3197         * locale/programs/locfile-kw.gperf: Replace charmap keyword with
3198         charconv.
3199         * locale/programs/locfile-token.h: Add definition of token
3200         charconv.
3201         * locale/programs/locfile.c: Recognize charconv keyword.  Rename
3202         lables according to this.
3203
3204         * locale/weight.h (get_weight): Cast constants to prevent
3205         warnings.
3206
3207         * stdlib/strtod.c, stdlib/strtol.c, string/strcoll.c,
3208         string/strxfrm.c: Add some more casts to prevent signed<->unsigned
3209         warnings.
3210
3211         New stuff described in P1003.1g.
3212         * misc/Makefile (headers): Add sys/select.h.
3213         (routines): Add pselect.
3214         * misc/sys/select.h: New file.  Declare select functions and
3215         needed data types and macros.
3216         * sysdeps/generic/pselect.c: New file.  Add generic implementation
3217         of pselect() function which uses select().
3218
3219         * posix/getconf.c: Recognize new variables from P1003.1g.
3220         * posix/posix1_lim.h: Define _POSIX_FD_SETSIZE, _POSIX_QLIMIT,
3221         _POSIX_HIWAT, and _POSIX_UIO_MAXIOV.
3222         * posix/unistd.h: Add description of the P1003.1g variables.
3223         * sysdeps/generic/confname.h: Define _SC_* values for new
3224         variables.
3225         * sysdeps/posix/fpathconf.c (fpathconf): Add handling of
3226         _PC_SOCK_MAXBUF.
3227         * sysdeps/stub/fpathconf.c (fpathconf): Ditto.
3228         * sysdeps/posix/sysconf.c (sysconf): Add handling of new
3229         P1003.1g variables.
3230         * sysdeps/stub/sysconf.c (sysconf): Ditto.
3231         * sysdeps/unix/sysv/linux/posix_opt.h: Define _POSIX_POLL and
3232         _POSIX_SELECT since Linux has this.
3233
3234         * socket/Makefile (routines): Add isfdtype.
3235         * sysdeps/generic/sys/socket.h: Add prototype for isfdtype.
3236         * sysdeps/stub/isfdtype.c: New file.  Stub implementation of
3237         isfdtype.
3238
3239         * wcsmbs/wcrtomb.c (wcrtomb): Fix typo.
3240
3241 Wed Jul  3 11:26:28 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3242
3243         * elf/Makefile (LDFLAGS-dl.so): New variable.
3244         (libdl.so): Depend on eval.so.
3245         (distribute): Add eval.c.
3246         * elf/eval.c: New file.
3247
3248         * time/strftime.c (strftime: do_number): Adjust P and I after sprintf
3249         in case it wrote fewer than MAXDIGITS chars.
3250
3251         * stdio/fwrite.c (fwrite: fill_buffer): Separate flushing for last
3252         newline from flushing full buffer in loop, fix test so no fflush is
3253         done when last byte written exactly fills the buffer.
3254
3255         * nss/Makefile ($(services:%=$(objpfx)libnss_%.so)): Depend on libc.so.
3256
3257         * sysdeps/mach/hurd/Makefile (LDLIBS-c.so): Variable removed.
3258         (libc.so): Instead, give this deps on lib{mach,hurd}user.so.
3259
3260         * elf/dl-debug.c (_dl_debug_initialize): Use LDBASE arg instead of
3261         extracting _dl_rtld_map.l_addr.
3262
3263         * sysdeps/i386/dl-machine.h (elf_machine_rel): Declare _dl_rtld_map as
3264         weak.
3265         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
3266
3267         * shlib-versions (*-*-*): Set libnss_db=1.
3268
3269 Tue Jul  2 10:44:37 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3270
3271         * elf/rtld.c (dl_main): Set _dl_rtld_map's DT_DEBUG location too.
3272
3273         * rpm/template (%build): Use @prefix@ instead of always /usr.
3274         Set up configparms only if @prefix@ is in fact /usr.
3275         * rpm/Makefile ($(config)): Substitute $(prefix) for @prefix@.
3276
3277         * elf/Makefile: Add missing endif.
3278
3279         * nss/nss_files/files-ethers.c (ntohost): Fix db key.
3280
3281         * nss/nss_files/files-network.c: Pass empty for new DB_LOOKUP args.
3282         (DATABASE): Define this instead of DATAFILE.
3283         * nss/nss_files/files-hosts.c: Likewise.
3284         (hostbyname): Use LOOKUP_NAME macro.
3285
3286         * nss/nss_db/db-XXX.c: New file.
3287         * nss/Makefile (services): Add db.
3288         (libnss_db-inhibit-o): New variable.
3289         (libnss_db-routines): New variable.
3290         (distribute): Append db-XXX.c.
3291         (libnss_db.so): Depend on libdb.so and libnss_files.so.
3292         ($(libnss_db-routines:%=$(objpfx)%.c)): New static pattern rule.
3293
3294         * nss/nss_files/files-XXX.c (DB_LOOKUP): Add KEYSIZE and KEYPATTERN
3295         args, ignored.
3296         (DATAFILE): New macro.
3297         * nss/nss_files/files-parse.c (GENERIC): If undefined, define to
3298         "files-XXX.c".
3299         * nss/nss_files/files-rpc.c: Include GENERIC instead of "files-XXX.c".
3300         Pass db key args to DB_LOOKUP.
3301         (DATAFILE): Macro removed.
3302         (DATABASE): New macro replaces it, lacks "/etc/" prefix.
3303         * nss/nss_files/files-service.c: Likewise.
3304         * nss/nss_files/files-pwd.c: Likewise.
3305         * nss/nss_files/files-proto.c: Likewise.
3306         * nss/nss_files/files-grp.c: Likewise.
3307         * nss/nss_files/files-ethers.c: Likewise.
3308
3309         * elf/linux-compat.c: File removed.
3310         * elf/Makefile (distribute): Remove linux-compat.c.
3311         (ld-linux.so.1): Remove target and associated variables.
3312
3313         * sunrpc/xdr.c: Remove malloc decl.
3314         * sunrpc/portmap.c: Likewise.
3315
3316         * sunrpc/svc_tcp.c (abort): Don't declare.  Instead define as macro
3317         casting abort to fn returning bool_t.
3318
3319         * nss/nss_files/files-parse.c [EXTERN_PARSER]: Do an extern decl of
3320         the parser function.
3321         [EXTERN_PARSER] (LINE_PARSER): Define to empty.
3322         * nss/nss_files/files-pwd.c (EXTERN_PARSER): Define it.
3323         * nss/nss_files/files-grp.c: Likewise.
3324
3325         * Makeconfig (BUILD_CC): If undefined, define to $(CC).
3326
3327         * sunrpc/rpc/types.h: Include stdlib.h instead of declaring malloc.
3328
3329         * Makeconfig (built-program-cmd): Use $(rtld-installed-name) in place
3330         of ld.so so lookups for that soname find it.
3331
3332         * nss/Makefile (libnss_dns.so): Depend on libresolv.so.
3333         (resobjdir, LDLIBS-nss_dns.so): Variables removed.
3334
3335         * pwd/fgetpwent.c: Don't include ../nss/nss_files/files-parse.c to
3336         define parse_line function.
3337         (parse_line): #define to _nss_files_parse_pwent and
3338         add extern decl for that.
3339
3340         * nss/nss_files/files-XXX.c (internal_getent): Return
3341         NSS_STATUS_TRYAGAIN for ERANGE error.
3342
3343         * sysdeps/i386/strtok.S (LreturnNULL): Save current state ptr instead
3344         of null, so next round returns null again instead of bombing.  Fix
3345         from drepper.
3346
3347         * nss/nss_files/files-parse.c (LINE_PARSER): Take new first arg EOLSET.
3348         Remove ; after `ENTDATA_DECL (data)'.
3349         Truncate line at strpbrk (line, EOLSET "\n").
3350         (ENTDATA_DECL): Put ; at end.
3351         (MIDLINE_COMMENTS): Macro removed.
3352         * nss/nss_files/files-ethers.c: Pass new argument.
3353         * nss/nss_files/files-hosts.c: Likewise.
3354         * nss/nss_files/files-network.c: Likewise.
3355         * nss/nss_files/files-parse.c: Likewise.
3356         * nss/nss_files/files-proto.c: Likewise.
3357         * nss/nss_files/files-rpc.c: Likewise.
3358         * nss/nss_files/files-service.c: Likewise.
3359         * grp/fgetgrent.c: Likewise.
3360         * pwd/fgetpwent.c: Likewise.
3361         * nss/nss_files/files-pwd.c: Get parse_line with extern decl, since
3362         fgetpwent.c already defines it.
3363         * nss/nss_files/files-grp.c: Likewise.
3364
3365         * elf/dl-load.c (_dl_map_object): Use any object with matching l_name
3366         as well as any matching with l_libname.  Fix DT_SONAME lookup to use
3367         string table properly.
3368
3369         * elf/rtld.c (dl_main): Set _dl_rtld_map.l_name from _dl_argv[0] when
3370         invoked directly, and l_libname from that if PT_INTERP missing.
3371         Set l_name from l_libname only if not set from argv.
3372
3373         * time/europe, time/northamerica: Updated from ADO 96i.
3374
3375 Mon Jul  1 15:44:34 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3376
3377         * stdio-common/tst-ungetc.c: Include unistd.h.
3378
3379         * inet/Makefile (routines): Change getnetbypt to getnetbyad.
3380
3381 Mon Jul  1 13:32:42 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3382
3383         * hurd/report-wait.c (describe_number): Make I unsigned long.
3384
3385         * login/login.c (login): Only Frob OLD->ut_type if getutline_r
3386         actually found any entry.
3387
3388         * login/pututline_r.c (pututline_r): If not located after any
3389         entry don't use UTMP_DATA->ubuf, and seek to the end before adding.
3390         Lock the file before stating.
3391
3392 Mon Jul  1 12:29:50 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3393
3394         * nss/Makefile (databases): Change host to hosts.
3395         * nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
3396
3397         * nss/nsswitch.c (nss_parse_service_list): Use const for NAME.
3398
3399         * nss/nss_files/files-parse.c (parse_list): Correct alignment fixup.
3400
3401         * string/string.h (strndupa): Pass missing arg to strnlen.
3402
3403         * inet/getnetbypt_r.c: Renamed to ...
3404         * inet/getnetbyad_r.c: this; fixed function name.
3405         * inet/getnetbypt.c: Renamed to ...
3406         * inet/getnetbyad.c: this; fixed function name.
3407
3408 Sat Jun 29 01:08:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3409
3410         * grp/getgrgid_r.c (LOOKUP_TYPE): Define to struct group, not
3411         struct passwd.
3412
3413 Fri Jun 28 23:25:35 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3414
3415         * login/login.c (login): Initialize DATA so that setutent_r will
3416         actually do something.
3417
3418 Fri Jun 28 16:53:01 1996  David Mosberger-Tang  <davidm@azstarnet.com>
3419
3420         * resolv/res_hconf.c (strndup): Remove function.
3421
3422         * nss/nsswitch.c (nss_lookup_function): Declare loadbase and ref
3423         using ElfW() instead of Elf32_*.
3424
3425         * sysdeps/unix/sysv/linux/alpha/init-first.h,
3426         sysdeps/unix/sysv/linux/m68k/init-first.h,
3427         sysdeps/unix/sysv/linux/i386/init-first.h: New files.
3428         * sysdeps/unix/sysv/linux/init-first.c: Use platform-dependent
3429         init-first.h to make abstract machine dependent parts of
3430         initialization.
3431
3432         * sysdeps/unix/alpha/sysdep.h: Undo PIC-optimization of syscall
3433         error handling.  It's safer that way.
3434
3435         * sysdeps/unix/alpha/sysdep.S: Make ldgp part of the prologue.
3436         Fix by Richard Henderson.
3437
3438         * sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Fix
3439         typo/extraneous whitespace.
3440
3441         * sunrpc/xdr.c (xdr_int, xdr_u_int): Use <limits.h> to test
3442         determine what integer sizes we're dealing with.
3443
3444 Fri Jun 28 15:46:02 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
3445
3446         * hurd/hurdsig.c (_hurd_internal_post_signal): In pending signal
3447         check for signal zero, repair logical sense of test by
3448         parenthesizing correctly.
3449
3450         * hurd/hurdsig.c (_hurd_internal_post_signal): In
3451         check-for-pending signals code, release _hurd_siglock before
3452         jumping to deliver_pending.
3453
3454 Thu Jun 27 04:04:27 1996  David Mosberger-Tang  <davidm@azstarnet.com>
3455
3456         * configure.in (config_machine): Make ELF the default even for
3457         Linux/Alpha unless a configuration of the form *-*-linux*ecoff
3458         is specified.
3459
3460 Fri Jun 28 07:27:10 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3461
3462         * nss/nss_files/files-hosts.c (ENTDATA): Define it.
3463         * nss/nss_files/files-parse.c (struct parser_data): Define entdata
3464         member only #ifdef ENTDATA.
3465         (ENTDATA_DECL): New macro.
3466         (LINE_PARSER): Use it for entdata decl.
3467         (parse_list): Find the space for LIST from DATA->linebuffer instead of
3468         from the input LINE, which might not be writable buffer space.
3469         (LINE_PARSER): Use `parser_stclass' in place of `static inline'.
3470         [ENTDATA] (parser_stclass): #define to `static inline'.
3471         [!ENDATA] (parser_stclass): #define to empty.
3472         [!ENTDATA] (parse_line): #define to _nss_files_parse_ENTNAME; the
3473         function is exported to -lnss_files users.
3474
3475         * string/strndup.c: Add missing arg.
3476
3477         * string/string.h (strndupa): Likewise.
3478         * string/strndup.c (strndup): Always terminate the string.
3479
3480 Thu Jun 27 14:22:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3481
3482         * stdio/Makefile (routines): Add vscanf.
3483         * stdio-common/Makefile (routines): Remove vscanf.
3484         * stdio-common/vscanf.c: Move to ...
3485         * stdio/vscanf.c: here.
3486
3487         * rpm/Makefile (headers, install-lib, install-lib.so,
3488         versioned, install-bin, install-sbin, install-data,
3489         install-others): Add $(-VARIABLE).
3490
3491 Fri Jun 28 02:41:08 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3492
3493         * nss/Makefile (databases): New variable.
3494         (routines, libnss_files-routines): Use it.
3495         (subdir-dirs): Compute from $(services).
3496
3497         * sysdeps/unix/sysv/linux/syscalls.list (create_module, delete_module,
3498         init_module, klogctl): Use EXTRA in the "caller" column so these get
3499         added to unix-extra-syscalls and thus compiled in misc.
3500
3501         * string/Makefile (routines): Add strndup.
3502