.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 Wed Jun  5 00:01:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2
3         * elf/dl-lookup.c (_dl_lookup_symbol): Fix typos in last change.
4         Comment out ref to nonexistent _dl_close.
5
6 Tue Jun  4 21:01:20 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
7
8         * math/Makefile (libm-support, libm-calls): New variables.
9         (libm-routines): Construct this from those.
10         (calls): New variable.
11         (routines): Construct this from it.
12
13         * resolv/res_debug.c: Add missing #include <ctype.h>.
14
15         * sysdeps/unix/getlogin.c: Must pass struct utmp ptr to getutline_r.
16         * sysdeps/unix/getlogin_r.c: Likewise.
17
18         * sysdeps/libm-ieee754/w_hypotl.c: Fix typo.
19
20         * sysdeps/libm-ieee754/w_cabsl.c: __cabsl_complex -> __cabs_complexl
21
22         * math/Makefile (long-m-routines): Define recursive variable as
23         $(long-m-$(long-double-fcts)).
24         (long-m-yes): Put list of routines here.
25         (long-c-routines, long-c-yes): Likewise.
26
27         * sysdeps/unix/sysv/linux/schedbits.h: File removed.
28
29         * sysdeps/i386/Makefile (long-double-fcts): New variable, set to yes.
30         * sysdeps/m68k/Makefile: Likewise.
31
32         * math/Makefile [$(long-double-fcts)!=yes] (CPPFLAGS): Append
33         -DNO_LONG_DOUBLE.
34
35         * sysdeps/mach/hurd/getlogin_r.c: New file.
36
37 Wed Jun  5 02:11:30 1996  Ulrich Drepper  <drepper@cygnus.com>
38
39         * io/Makefile (routines): Add ttyname_r.
40
41         * resolv/res_debug.c, resolv/resolv.h: Update from bind-4.3.4-T4A.
42
43         * sysdeps/libm-i387/e_asinl.S, sysdeps/libm-i387/e_atan2l.S,
44         sysdeps/libm-i387/e_expl.S, sysdeps/libm-i387/e_fmodl.S,
45         sysdeps/libm-i387/e_log10l.S, sysdeps/libm-i387/e_logl.S,
46         sysdeps/libm-i387/e_remainderl.S, sysdeps/libm-i387/e_scalbl.S,
47         sysdeps/libm-i387/e_sqrtl.S, sysdeps/libm-i387/s_atanl.S,
48         sysdeps/libm-i387/s_cosl.S, sysdeps/libm-i387/s_ilogbl.S,
49         sysdeps/libm-i387/s_log1pl.S, sysdeps/libm-i387/s_logbl.S,
50         sysdeps/libm-i387/s_scalbnl.S, sysdeps/libm-i387/s_sinl.S,
51         sysdeps/libm-i387/s_tanl.S: New files.  i387 assembler versions
52         of `long double' math functions.
53
54         * sysdeps/libm-ieee754/k_standard.c: Add handling for errors
55         in long double functions.
56
57         * sysdeps/libm-ieee754/s_ilogbl.c, sysdeps/libm-ieee754/s_logbl.c,
58         sysdeps/libm-ieee754/s_modfl.c:  New files.  Generic versions
59         of `long double' math functions.
60
61         * sysdeps/libm-ieee754/s_isinf.c [NO_LONG_DOUBLE]: Add string
62         alias for __isinfl.
63
64         * sysdeps/libm-ieee754/w_acoshl.c, sysdeps/libm-ieee754/w_acosl.c,
65         sysdeps/libm-ieee754/w_asinl.c, sysdeps/libm-ieee754/w_atan2l.c,
66         sysdeps/libm-ieee754/w_atanhl.c, sysdeps/libm-ieee754/w_cabsl.c,
67         sysdeps/libm-ieee754/w_coshl.c, sysdeps/libm-ieee754/w_dreml.c,
68         sysdeps/libm-ieee754/w_expl.c, sysdeps/libm-ieee754/w_fmodl.c,
69         sysdeps/libm-ieee754/w_gammal.c, sysdeps/libm-ieee754/w_gammal_r.c,
70         sysdeps/libm-ieee754/w_hypotl.c, sysdeps/libm-ieee754/w_j0l.c,
71         sysdeps/libm-ieee754/w_j1l.c, sysdeps/libm-ieee754/w_jnl.c,
72         sysdeps/libm-ieee754/w_lgammal.c, sysdeps/libm-ieee754/w_lgammal_r.c,
73         sysdeps/libm-ieee754/w_log10l.c, sysdeps/libm-ieee754/w_logl.c,
74         sysdeps/libm-ieee754/w_powl.c, sysdeps/libm-ieee754/w_remainderl.c,
75         sysdeps/libm-ieee754/w_scalbl.c, sysdeps/libm-ieee754/w_sinhl.c,
76         sysdeps/libm-ieee754/w_sqrtl.c: New files.  Wrapper functions
77         around long double function implementations.
78
79         * sysdeps/posix/ttyname_r.c (ttyname_r): Use _D_EXACT_NAMLEN
80         to determine length of directory entry name.
81
82         * posix/Makefile (routines): Add getlogin_r.
83         * posix/unistd.h: Add prototype for getlogin_r.
84         * sysdeps/stub/getlogin_r.c: New file.  Reentrant version of
85         getlogin function, specified in P1003.1c/D6.  Stub version.
86         * sysdeps/unix/getlogin.c (getlogin): Use ttyname_r instead of
87         ttyname.  This avoids saving and restoring the old content.
88         Also use setutent_r, getutline_r and endutent_r instead of
89         accing UTMP file directly.
90         * sysdeps/unix/getlogin_r.c: New file.  Reentrant version of
91         getlogin function, specified in P1003.1c/D6.
92
93 Tue Jun  4 20:10:09 1996  J.T. Conklin  <jtc@cygnus.com>
94
95         * sysdeps/libm-i387/s_finitef.S: Fix mask for exponent.
96
97 Tue Jun  4 18:57:57 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
98
99         * elf/dl-lookup.c (_dl_lookup_symbol): Grok magical undefined symbols
100         _GNU_libc_dl_{open,close,symbol} and resolve them to dl functions.
101
102         * elf/rtld.c (rtld_map): Renamed to _dl_rtld_map, made global.
103         * elf/link.h: Declare _dl_rtld_map.
104
105         * elf/dl-lookup.c (_dl_symbol_value): New function.
106         * elf/link.h: Declare it.
107
108         * elf/dladdr.c: Remove #include <setjmp.h>, we don't use it.
109
110         * shlib-versions: Set libdl=2.
111
112         * elf/dl-deps.c (_dl_map_object_deps): Use a linked list of alloca'd
113         elements and then scan it to fill the single malloc'd array, instead
114         of using realloc to grow the array in the first pass.  _dl_map_object
115         may do some mallocs that break our stream of reallocs, and the minimal
116         realloc can't handle that.
117
118         * elf/dl-init.c (_dl_init_next): Take argument, link_map whose
119         searchlist describes the piece of the DT_NEEDED graph to be
120         initialized.
121         * elf/link.h: Update prototype.
122         * sysdeps/i386/dl-machine.h (RTLD_START): Pass _dl_loaded as argument
123         to _dl_init_next.
124         * sysdeps/m68k/dl-machine.h: Likewise.
125         * elf/dl-deps.c (_dl_open): Pass new object as arg to _dl_init_next.
126
127         * elf/link.h (struct link_map): Add `l_reserved' member, soaking up
128         extra bits in last byte.
129         * elf/dl-deps.c (_dl_map_object_deps): Use that for mark bit to avoid
130         putting dup elts in search list.
131
132         * elf/dlclose.c: Use MAP->l_searchlist to find deps to close.
133
134         * elf/dlsym.c: Don't tweak linked list.  Scope array given to
135         _dl_lookup_symbol does the right thing.
136
137         * elf/Makefile (subdir_lib): Change this target to lib-noranlib.
138         (lib-noranlib): Depend on on $(extra-objs).
139
140         * errno.h: Move __END_DECLS out of #ifdef's so it matches
141         __BEGIN_DECLS.
142
143 Tue Jun  4 02:25:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
144
145         * stdio-common/vfprintf.c [USE_IN_LIBIO] (size_t): Don't define as
146         macro.  _IO_size_t is just an alias for the real size_t anyway.
147
148         * elf/Makefile (libdl-routines): Add dladdr.
149         * elf/dladdr.c: New file.
150         * elf/dlfcn.h (Dl_info): New typedef.
151         (dladdr): Declare it.
152
153         * sysdeps/libm-i387/s_finite.S: Use `setne' instead of `setnel'.
154
155         * intl/l10nflist.c: Fix conditional on #include <argz.h>.
156
157         * libio/stdio.h (FOPEN_MAX, FILENAME_MAX, TMP_MAX, L_tmpnam): Macros
158         removed.  Instead, include <stdio_lim.h>.
159
160         * libio/_G_config.h: New file.
161         * libio/Makefile (headers): Add _G_config.h.
162
163         * MakeTAGS (po/errlist.pot): Extract from sysdeps/gnu/errlist.c.
164
165         * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Define
166         this macro too; current Linux kernels test that instead of
167         _LINUX_TYPES_DONT_EXPORT.
168
169         * elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol.
170
171         * elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist.
172
173         * elf/dl-deps.c: New file.
174         * elf/Makefile (rtld-routines): Add dl-deps.
175         * elf/link.h: Declare _dl_map_object_deps, _dl_open.
176         * elf/rtld.c (dl_main): Use _dl_map_object_deps.
177         * elf/dlopen.c: Use _dl_open.
178
179         * elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list
180         frobnication based on its value.  Detach RTLD_MAP from the chain if
181         its l_opencount is zero after loading deps.
182
183         * elf/dlfcn.h (RTLD_BINDING_MASK): New macro.
184
185         * elf/link.h (struct link_map): Replace l_deps_loaded flag member with
186         `struct link_map **l_searchlist' and `unsigned int l_nsearchlist'.
187         * elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array
188         of two link_map ptrs.  Search the maps in the l_searchlist of each
189         elt that is not null.
190         * elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array.
191         * elf/dl-runtime.c: Likewise.
192         * elf/dlsym.c: Likewise.
193         * elf/rtld.c (dl_main): Likewise.
194
195         * elf/dl-minimal.c (realloc): Support realloc of the block most
196         recently returned by the minimal malloc.
197
198 Tue Jun  4 00:16:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
199
200         * sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("...").
201
202         * intl: Updated from gettext-0.10.13.
203         * intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.
204
205         * signal/siggetmask.c: New file.  Wrapper around sigblock with
206         link_warning about obsolescence.
207         * signal/Makefile (routines): Add siggetmask.
208
209         * sysdeps/gnu/errlist.awk: New file, adapted from ...
210         * sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it.
211         * sysdeps/mach/hurd/Makefile (errlist.c): Target removed.
212         * sysdeps/gnu/Makefile: New file.
213         (sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this.
214
215 Mon Jun  3 21:03:54 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
216
217         * manual/errno.texi (Error Codes): Add placeholder items for missing
218         Linux/i386 errno codes, with perror text but no documentation.
219         Some existing perror texts changed.
220
221         * malloc/mcheck.c (freehook, reallochook): Handle null pointer args.
222
223         * hurd/hurdsig.c (_hurd_internal_post_signal): When setting ACT to
224         `ignore, resume the thread if SS_SUSPENDED, regardless of old action.
225
226 Sun Jun  2 20:14:30 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
227
228         * locale/programs/linereader.c (lr_open): Don't pass NULL to
229         xstrdup; fix memory leak.
230         (lr_close): Fix memory leak.
231
232 Mon Jun  3 15:58:22 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
233
234         * hurd/hurdsig.c (_hurd_internal_post_signal): When turning the action
235         for a HANDLE signal to IGNORE because the signal is blocked, clean
236         up any pending suspension left over from a call to resume.
237
238 Mon Jun  3 00:30:35 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
239
240         * elf/dl-lookup.c (_dl_lookup_symbol): Take new arg RELOC_ADDR and
241         don't allow a defn resolving to that address.
242
243         * elf/link.h: Update prototype and comment.
244         * elf/dl-runtime.c (fixup): Define local `resolve' function and pass
245         it to elf_machine_relplt.
246         * elf/dl-reloc.c (_dl_relocate_object: resolve): Take new arg
247         RELOC_ADDR and pass it through to _dl_lookup_symbol.
248         * elf/do-rel.h (elf_dynamic_do_rel): Pass RESOLVE to elf_machine_rel
249         instead of calling it ourselves and passing its results.
250         (elf_dynamic_do_rel): RESOLVE fn takes new arg RELOC_ADDR.
251         * elf/rtld.c (dl_main): Pass 0 for RELOC_ADDR to _dl_lookup_symbol.
252         * sysdeps/i386/dl-machine.h (elf_machine_rel): Remove SYM_LOADADDR
253         arg.  Add RESOLVE function ptr arg.  Call *RESOLVE as necessary.
254         * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
255         * sysdeps/stub/dl-machine.h: Likewise.
256
257 Sun Jun  2 14:56:49 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
258
259         * csu/initfini.c (_fini): Add extern decl for i_am_not_a_leaf.
260
261         * elf/dlfcn.h (dl_open_mode): Enumerated type removed.
262         (RTLD_LAZY, RTLD_NOW): Define these as macros instead.
263         (RTLD_GLOBAL): New macro.
264         (dlopen): Take arg of type int instead of dl_open_mode.
265         * elf/dlopen.c: Likewise.
266
267         * math/math.h (_Mldbl): New macro, either produces L suffix or not.
268         (M_*): Use it for these constants.
269
270         * elf/dl-lookup.c (_dl_lookup_symbol): Arg NOSELF renamed to NOPLT.
271         Reject SHN_UNDEF defns iff NOPLT is nonzero.
272         * elf/link.h (_dl_lookup_symbol): Update prototype and comment.
273         * elf/dl-runtime.c (fixup): Pass 1 to _dl_lookup_symbol for NOPLT.
274         * elf/dlsym.c (dlsym): Pass 0.
275         * elf/rtld.c (dl_main): Likewise.
276         * elf/dl-reloc.c (_dl_relocate_object: resolve): Second arg R_OFFSET
277         replaced with NOPLT flag.  Pass it through to _dl_lookup_symbol.
278         * elf/do-rel.h (elf_dynamic_do_rel): Update prototype of RESOLVE arg.
279         Pass `elf_machine_pltrel_p (R->r_type)' result as NOPLT flag value.
280         * sysdeps/i386/dl-machine.h (elf_machine_pltrel_p): New macro.
281         * sysdeps/m68k/dl-machine.h (elf_machine_pltrel_p): Likewise.
282         * sysdeps/stub/dl-machine.h (elf_machine_pltrel_p): Likewise.
283
284         * login/pututline_r.c: Fix typo in sizeof for DATA_TMP alloca.
285
286         * sysdeps/generic/gnu/types.h (__clock_t): New type.
287
288 Wed May 29 00:57:37 1996  David Mosberger-Tang  <davidm@azstarnet.com>
289
290         * sysdeps/unix/sysv/linux/gnu/types.h (__clock_t, __fsid_t): Define
291         using kernel types.
292         * time/time.h (clock_t): Include <gnu/types.h> and define using
293         __clock_t.
294
295         * time/Makefile (tests): Add test-tz.
296
297         * time/test-tz.c: New test.
298
299         * time/clocktest.c: Rewrite to test more meaningfully.
300
301         * sysdeps/unix/sysv/linux/syscalls.list: Add bdflush,
302         create_module, delete_module, get_kernel_syms, init_module,
303         klogctl.
304
305         * sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Define as 5
306         instead of SYMLOOP_MAX, which is nowhere to be found.
307
308         * sysdeps/unix/sysv/linux/sys/msq_buf.h,
309         sysdeps/unix/sysv/linux/sys/sem_buf.h,
310         sysdeps/unix/sysv/linux/sys/shm_buf.h [__USE_MISC]: Add more
311         control ops and datastructures.
312
313         * sysdeps/unix/sysv/linux/sys/io.h: New file declaring low-level
314         I/O related functions.
315
316         * sysdeps/unix/sysv/linux/sys/kdaemon.h: New file declaring kernel
317         daemon related functions/operations.
318
319         * sysdeps/unix/sysv/linux/sys/klog.h: New file declaring kernel
320         logging related functions/operations.
321
322         * sysdeps/unix/sysv/linux/sys/module.h: New file declaring kernel
323         module related functions/operations.
324
325         * sysdeps/unix/sysv/linux/speed.c: Only do "mention this twice" hack
326         for non-Alpha based Linux systems.
327
328         * sysdeps/unix/sysv/linux/alpha/speed.c: Remove.
329
330         * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/module.h,
331         sys/io.h, sys/klog.h, and sys/kdaemon.h.
332
333         * sysdeps/unix/sysdep.h (END): Define empty END macro for
334         platforms that don't need some sort of end directive at the
335         end of functions.
336
337         * sysdeps/unix/make-syscalls.sh: Emit END($strong) at end of
338         syscall wrapper to allow correct generation of debugging
339         information.
340
341         * sysdeps/unix/alpha/sysdep.h (END): Redefine to use .end
342         directive for both ELF and ECOFF.
343         (ret): Delete macro.  It was a dangerous macro and unnecessary
344         since the Alpha assemblers recognizes "ret" as a macro themselves.
345
346         * sysdeps/gnu/utmpbits.h (struct utmp): Move ut_tv behind
347         ut_session to guarantee long alignment.  This is important for
348         Linux/Alpha since ut_tv.tv_sec is 32 bits and time_t is 64 bits.
349         This will all get cleaned up as programs start to use ut_tv
350         instead ut_time.
351
352         * sysdeps/alpha/divrem.h: Include <sysdep.h> instead of <*/regdef.h>.
353
354         * sysdeps/alpha/bsd-_setjmp.S (setjmp): Renamed entry point to
355         _setjmp.
356
357         * sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S,
358         sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S,
359         sysdeps/alpha/copysign.S, sysdeps/alpha/divrem.h,
360         sysdeps/alpha/fabs.S, sysdeps/alpha/ffs.S, sysdeps/alpha/htonl.S,
361         sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S,
362         sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S,
363         sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
364         sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
365         sysdeps/unix/sysv/linux/alpha/llseek.S,
366         sysdeps/unix/sysv/linux/alpha/pipe.S,
367         sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
368         sysdeps/unix/sysv/linux/alpha/sysdep.S: Use END macro instead of
369         .end directive.
370
371         * csu/initfini.c (_fini): Tell gcc that _fini is not a leaf
372         function by having it contain a dummy function call.
373
374         * configure.in (config_machine): Don't make ELF the default for
375         Linux/Alpha just yet (use --with-elf instead).
376         (.init/.fini check): Generate .text to ensure function start and
377         end are in same section.
378
379         * sysdeps/unix/bsd/osf/alpha/brk.S,
380         sysdeps/unix/sysv/linux/alpha/brk.S (__curbrk): Store the entire
381         break value, not just the low 32 bits to accomodate large
382         memories.
383
384 Tue May 28 10:46:04 1996  Richard Henderson  <rth@tamu.edu>
385
386         * sysdeps/unix/sysv/linux/alpha/brk.S: Rather than attempt to
387         dynamically resolve _end for initializing __curbrk, support the
388         brk(0) query idiom.
389
390         * sysdeps/alpha/bb_init_func.S: Don't make `init' an external symbol.
391
392         * sysdeps/alpha/bsd-_setjmp.S: The function is _setjmp not setjmp.
393
394 Sun May 26 22:17:38 1996  Richard Henderson  <rth@tamu.edu>
395
396         * stdlib/lcong48_r.c, stdlib/seed48_r.c, stdlib/strtod.c,
397         stdlib/strtol.c: Include <string.h> for mem* and str* fns used.
398
399 Thu May 23 02:15:56 1996  David Mosberger-Tang  <davidm@azstarnet.com>
400
401         * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/io.h,
402         sys/klog.h, and sys/kdaemon.h.
403
404         * sysdeps/unix/sysv/linux/sys/io.h: New file.
405         * sysdeps/unix/sysv/linux/sys/klog.h: Ditto.
406         * sysdeps/unix/sysv/linux/sys/kdaemon.h: Ditto.
407
408         * sysdeps/unix/alpha/sysdep.h (ret): Remove macro.  It is
409         dangerous and unnecessary since both OSF/1 as and gas define "ret"
410         as a pseudo-instruction.
411
412 Sat Jun  1 17:18:21 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
413
414         * time/tzset.c (__tzset): Clear tz_rules name pointers after freeing
415         them.  Bug found by David Mosberger-Tang.
416
417         * sysdeps/posix/tempname.c (__stdio_gen_tempname): Use __ptr_t instead
418         of PTR.
419
420         * extra-lib.mk (extra-objs): Use patsubst intead of $(A:=B) syntax
421         to work around Make bug when A contains var ref.
422
423 Fri May 31 18:27:52 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
424
425         * string/string.h [__USE_MISC]: Declare basename; OSF/1 puts it here.
426
427         * sysdeps/unix/sysv/linux/syscalls.list (getpgid, setpgid): Define __
428         strong names and [gs]etpgid as weak aliases.
429
430 Thu May 30 11:24:05 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
431
432         * math/math_private.h (GET_LDOUBLE_EXP): Add missing backslash.
433
434         * po/header.pot: Replace with exact boilerplate pinard dictates.
435
436         * sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set
437         errno and the check that jumped to it.
438
439         * sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx).
440
441 Thu May 30 03:21:57 1996  Ulrich Drepper  <drepper@cygnus.com>
442
443         * FAQ: Document need of gperf program for developers.
444
445         * elf/elf.h: Fix typos in comments.
446
447         * libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add
448         prototypes for `ctermid' and `cuserid'.
449
450         * locale/programs/locale.c: Switch to user selected locale
451         before printing variables.
452
453         * math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines
454         and long-c-routines.  Only if the `long double' data type is
455         available we need to compile the functions.
456         (libm-routines): Add $(long-m-routines).
457         (routines): Remove isinfl, isnanl.  Use new file s_isinfl and
458         s_isnanl instead if `long double' is available.
459
460         * math/math.h: Include <mathcalls.h> again to define `long double'
461         functions.
462
463         * math/math_private.h: Define data types, prototypes and access
464         macros for `long double'.
465
466         * stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'.
467         [GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which
468         calls __strto{,u}q_internal.
469
470         * stdlib/strfmon.c: Replace PTR by `void *'.
471
472         * stdlib/strtoq.c: Define strtoll as weak alias.
473         * stdlib/strtouq.c: Define strtoull as weak alias.
474
475         * string/tester.c: Correct `strsep' test.
476
477         * sysdeps/generic/strsep.c: Make compatible with BSD version.
478         Trailing characters of skip set are not skipped.  In this case
479         empty tokens are returned.
480
481         * sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c,
482         sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c,
483         sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed.  We
484         now use the versions part of libm.
485
486         * sysdeps/i386/strsep.S: Removed.  Generic C version is of
487         similar speed.
488         * sysdeps/i386/strtok.S: Remove support for `strsep'.
489
490         * sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S,
491         sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S,
492         sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c,
493         sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c,
494         sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S:
495         New i387 specific math functions implementing `long double'
496         versions.
497
498         * sysdeps/libm-ieee754/s_ceill.c,
499         sysdeps/libm-ieee754/s_copysignl.c,
500         sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c,
501         sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c,
502         sysdeps/libm-ieee754/s_isnanl.c,
503         sysdeps/libm-ieee754/s_nextafterl.c,
504         sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c,
505         sysdeps/libm-ieee754/s_significandl.c: New generic `long double'
506         versions of libm functions.
507
508         * sysdeps/libm-i387/e_exp.S: Add a few comments to explain the
509         Intel FPU nonsense.
510
511         * sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S,
512         sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct
513         handling of local variables.  The old version created a stack
514         frame but stored the values outside.
515
516         * sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c
517         [!NO_LONG_DOUBLE]: Define alias with `long double' versions name.
518
519 Wed May 29 12:53:10 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
520
521         * login/pututline_r.c: Include sys/stat.h.  Fix typos.
522
523         * version.h (VERSION): Set to 1.90.
524
525         * Makerules (distinfo-vars): Write extra-libs and *-routines for each
526         of its elts.
527         * MakeTAGS (sources): Add those sources.
528
529         * MakeTAGS (all-sources): Add $(others:=.c) and $(tests:=.c).
530
531 Wed May 29 08:53:08 1996  Miles Bader  <miles@gnu.ai.mit.edu>
532
533         * hurd/report-wait.c (_S_msg_report_wait): Return `itimer' for the
534         itimer thread.
535
536         * hurd/hurdinit.c (_hurd_init): Set _HURDSIG_TRACED before calling
537         _hurd_proc_init.
538
539 Wed May 29 00:52:20 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
540
541         * string/tester.c (main): Fix strsep tests 6, 7, 20 to expect null
542         token instead of it being implicitly skipped.
543
544         * sysdeps/i386/fpu/__math.h (logb): Correct contraint from =u to =t.
545         Must operate on top of fp reg stack, not second from top.
546
547         * extra-lib.mk (alltypes-$(lib)): Don't append $(objpfx)$(lib).so.
548         (others): Instead, make this depend on it.
549
550 Tue May 28 04:38:10 1996  Ulrich Drepper  <drepper@cygnus.com>
551
552         * limits.h: Change MB_LEN_MAX to 6.  A 31-bit ISO 10646
553         character in UTF-8 encoding has that many bytes.
554
555         * locale/langinfo.h: New element _NL_CTYPE_MB_CUR_MAX.
556         * locale/categories.def: Add description of field _NL_CTYPE_MB_CUR_MAX.
557         * locale/Makefile (routines): Add mb_cur_max.
558         * locale/mb_cur_max.c: New file.  This function gets called
559         when the macro MB_CUR_MAX is used.
560         * locale/C-ctype.c: Initialize new mb_cur_max field.
561         * locale/localeinfo.h: Change magic value because of incompatible
562         change.
563         * locale/programs/ld-ctype.c: Determine value of mb_cur_max
564         according to current character set and write it out with the rest.
565         * stdlib/stdlib.h (MB_CUR_MAX): Not constant anymore.  Get value
566         according to currently used locale for category LC_CTYPE by
567         calling the function __ctype_get_mb_cur_max.
568
569 Tue May 28 03:27:46 1996  Ulrich Drepper  <drepper@cygnus.com>
570
571         * FAQ:  Fix some typos.
572         Tell that for Linux the kernel header files are necessary.
573
574         * PROJECTS: New file.  List of open jobs for glibc.
575         * Makefile (distribute): Add PROJECTS.
576
577         * crypt/GNUmakefile (headers): New variable.  Mention crypt.h.
578         * crypt/crypt.h: Header for crypt functions.
579
580         * elf/elf.h: Add some new constants from recent Cygnus ELF
581         header files.
582
583         * login/getutid_r.c: Test for correct type.
584         Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and
585         _HAVE_UT_ID resp. are defined.
586         Make really compliant with specification.
587
588         * login/getutline_r.c, login/pututline_r.c: Don't depend on
589         ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are
590         defined.
591         Make really compliant with specification.
592
593         * login/setutent_r.c: Don't depend on ut_type and ut_id unless
594         _HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined.
595
596         * login/login.c, login/logout.c, login/logwtmp.c: Complete
597         rewrite.  Now based on getut*/setut* functions.
598
599         * stdlib/strtol.c: Undo changes of Wed May 22 01:48:54 1996.
600         This prevented using this file in other GNU packages.
601
602         * sysdeps/gnu/utmpbits.h: Define _HAVE_UT_TYPE, _HAVE_UT_ID,
603         and _HAVE_UT_TV because struct utmp has these members.
604
605         * sysdeps/libm-i387/e_exp.S: Correct exp(+-Inf) case.
606
607         * utmp.h: New file.  Wrapper around login/utmp.h.
608
609 Tue May 28 13:11:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
610
611         * elf/dl-error.c (struct catch): New type.
612         (catch): New static variable, struct catch *.
613         (catch_env, signalled_errstring, signalled_objname): Variables removed.
614         (_dl_signal_error): If CATCH is non-null, set its errstring and
615         objname members and jump to CATCH->env.  If it is null, call
616         _dl_sysdep_fatal with a standard message.
617         * elf/rtld.c (dl_main): Explode `doit' function into dl_main's body.
618         No longer use _dl_catch_error.
619
620         * Makerules (sed-remove-objpfx): Avoid extra space in regexp due to
621         continuation line.
622
623         * sysdeps/unix/sysv/linux/i386/socket.S: Fix off-by-one error in
624         setting %ecx to 2nd syscall arg: we have pushed nothing, so function
625         args are found at 4(%esp), not 8(%esp).
626
627 Mon May 27 10:10:00 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
628
629         * Makefile ($(includedir)/stubs.h): Add missing backslash.
630
631         * sysdeps/unix/sysv/linux/i386/brk.c (__curbrk): Initialize it so it
632         can be aliased.
633
634         * sysdeps/unix/sysv/linux/Makefile [$(subdir)=termios] (headers):
635         Append termio.h.
636
637         * Makefile ($(includedir)/stubs.h): Print a msg if we do nothing.
638
639         * misc/sgtty.h: Add forward decl of struct sgttyb in case it is never
640         defined.
641
642         * sysdeps/unix/sysv/linux/termio.h: New file.
643         * sysdeps/unix/sysv/linux/Dist: Add it.
644
645         * sysdeps/unix/sysv/linux/ioctl-types.h: New file, wrapper around
646         kernel header <asm/termios.h>.
647
648         * misc/Makefile (headers): Add ioctl-types.h.
649         * sysdeps/generic/ioctl-types.h: New file.
650         * misc/sys/ioctl.h: Include <ioctl-types.h>.
651         (struct tchars, struct ltchars, struct sgttyb, struct winsize,
652         struct ttysize): Types moved there.
653
654         * Makefile ($(includedir)/stubs.h): Don't touch target if new one is
655         identical.
656
657         * time/Makefile (z.% rule): Generate generic zone%/ rule after
658         zone%/right/ and zone%/posix/ rules so they match first.
659
660 Sun May 26 15:15:08 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
661
662         * features.h [_GNU_SOURCE] (_BSD_SOURCE, _SVID_SOURCE,
663         _POSIX_SOURCE, _POSIX_C_SOURCE): Define these.
664
665         * time/Makefile (tzcompile): Add missing backslash.
666
667         * stdlib/ldiv.c: Deansideclized.
668
669         * wctype/wctype.h (__need_wint_t): Define this and include stddef.h.
670         [! _WINT_T] (wint_t): Conditionalize typedef on this in case pre-2.7.3
671         stddef.h doesn't define it.
672         * wcsmbs/wchar.h: Likewise.
673         * stdlib/strtod.c: Likewise.
674
675         * wcsmbs/wcstok.c: Fix argument name typo.
676
677 Sun May 26 19:39:53 1996  Ulrich Drepper  <drepper@cygnus.com>
678
679         * intl/loadmsgcat.c (_nl_load_domain): Test correct variable
680         after malloc.
681
682         * string/Makefile (tester-ENV): New variable to suppress message
683         translation in test.
684
685         * string/tester.c: Add tests for strtok_r and strsep.
686
687         * sysdeps/i386/i486/strcat.S: Correct some more 8bit operation
688         <-> 32 bit operand conflicts.
689
690         * sysdeps/i386/strsep.S: Wrapper around <sysdeps/i386/strtok.S>
691         to produce strsep function.
692         * sysdeps/i386/strtok.S: Optimized implementation of strtok
693         function.
694         * sysdeps/i386/strtok_r.S: Wrapper around <sysdeps/i386/strtok.S>
695         to produce strtok_r function.
696
697         * sysdeps/generic/strtok.c: Moved here from string/strtok.c.
698         Corrected example in comment.
699
700         * string/Makefile (routines): Add strtok_r.
701         * sysdeps/generic/strtok_r.c: New file.  Implement reentrant version
702         of strtok_r.
703         * string/string.h: Add prototype for strtok_r.
704         * wcsmbs/wcstok.c: Handle illegal SAVE_PTR argument the same
705         as in strtok_r.
706
707 Sun May 26 13:28:23 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
708
709         * time/tzset.c (__tzset): Ignore leading : in $TZ; always try tzfile
710         first and fall back to 1003.1 syntax only if it fails.
711
712         * time/Makefile (install-others): Also install posix/ZONE and
713         right/ZONE for each ZONE in $(zonenames).
714         (z.% rule): Generate rules for right/ZONE and posix/ZONE targets too,
715         the difference begin leapseconds vs /dev/null as 3rd dep.  For
716         original ZONE targets use $(leapseconds), to be set in Makeconfig.
717         (target-zone-flavor): New variable.
718         (tzcompile): Use it to get the right -d for posix/ and right/ flavors.
719         * Makeconfig (leapseconds): New variable.
720
721         * mach/Machrules (%.udeps rule): Depend on Machrules.
722         Emit deps for .uh and .__h files.
723         (%.uh, %.__h rules): Don't depend on %.defs; use #include <$*.defs>
724         instead.
725
726 Sun May 26 01:06:47 1996  Ulrich Drepper  <drepper@cygnus.com>
727
728         * stdlib/Makefile (routines): Add llabs, lldiv.
729         * stdlib/llabs.c: New file.  Implementation of return
730         absolute value of long long argument.
731         * stdlib/lldiv.c: New file.  Implementation of division with remainder
732         of long long argument.
733         * stdlib/stdlib.h [__USE_GNU] (lldiv_t): New type for lldiv
734         function.
735         Define prototypes for lldiv and llabs functions.
736
737         * locale/C-collate.c: Initialize _NL_COLLATE_NRULES element.
738
739         * stdlib/strtod.c: Replace wchar_t with wint_t.  The later is
740         really the type for a single wide character.
741
742         * string/strxfrm.c (print_val): Define separate version for
743         use as wcsxfrm.  Here we don't need UTF8 encoding.
744
745         * wcsmbs/wchar.h:  gcc-2.7.2-960517 finally introduces wint_t
746         in <stddef.h>.  Use this value and only for older gcc version
747         define in place.
748         (uwchar_t): Remove definition.
749
750         * wcsmbs/wcscmp.c, wcsmbs/wcscoll.c, wcsmbs/wcsncmp.c,
751         wcsmbs/wcsxfrm.c, wcsmbs/wmemcmp.c: : Don't use uwchar_t as unsigned
752         type.  wint_t is intended for this.
753
754 Sat May 25 14:10:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
755
756         * sysdeps/unix/bsd/direntry.h: Use [1] instead of [0] for d_name to
757         quiet -ansi -pedantic.
758         * sysdeps/unix/common/direntry.h: Likewise.
759
760         * login/Makefile (headers): Add lastlog.h.
761         * login/lastlog.h: New file.
762
763         * login/Makefile (CFLAGS): Don't append -D_THREAD_SAFE.
764         * login/utmp.h [_REENTRANT || _THREAD_SAFE]: Replace this conditional
765         with #ifdef __USE_REENTRANT.
766
767         * features.h (__GNU_LIBRARY__): Set to 6.
768         [_GNU_SOURCE] (_POSIX_SOURCE, _POSIX_C_SOURCE, _BSD_SOURCE,
769         _SVID_SOURCE): Make sure they are all defined.
770
771         * sysdeps/unix/sysv/linux/gnu/types.h: Instead of including
772         <linux/posix_types.h>, define _LINUX_TYPES_DONT_EXPORT and then
773         include <linux/types.h>.
774
775         * resource/sys/resource.h: Remove trailing commas from enums.
776
777 Fri May 24 17:30:50 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
778
779         * sysdeps/generic/netinet/in.h: Remove trailing commas from enums.
780         * sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
781
782         * login/getutline_r.c: Include string.h.
783
784         * Rules (static-only-routines): Restore the rule to make these .so's
785         empty objects.
786
787         * login/pututline_r.c: Use struct assignment instead of memcpy.
788
789         * login/getutline_r.c: Use strncmp instead of comparing two pointers
790         that will only be equal if you are overwriting the data and screwing
791         yourself anyway.
792
793 Fri May 24 02:31:36 1996  Ulrich Drepper  <drepper@cygnus.com>
794
795         * sysdeps/unix/sysv/linux/speed.c: Add new speed value 460800.
796
797 Thu May 23 23:09:33 1996  Ulrich Drepper  <drepper@cygnus.com>
798
799         * FAQ: Add answer for 100% source code compatibility to Linux
800         libc by David Mosberger-Tang.
801
802         Update from bind-4.3.4-T3B.
803         * inet/arpa/inet.h: Add prototypes for inet_pton, inet_ntop,
804         inet_nsap_addr, and inet_nsap_ntoa.
805         * resolv/gethnamaddr.c: Correct compatibility problems (sprintf),
806         remove fourth argument to inet_pton and correct handling of
807         host_addr passing.
808         * resolv/inet_ntop.c: Correct compatibility problems (sprintf).
809         * resolv/inet_pton.c: Remove fourth argument.
810         * resolv/resolv.h: Remove prototypes for inet_nsap_addr and
811         inet_nsap_ntoa.  Now in <arpa/inet.h>.
812
813         * stdlib/gmp-impl.h: Add prototypes for internal functions.
814
815 Thu May 23 22:49:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
816
817         * Rules (subdir_install): Remove dep on sor-$(subdir).
818         (static-only-routines): Removed variable and associated rules.
819
820 Wed May 22 00:40:50 1996  David Mosberger-Tang  <davidm@azstarnet.com>
821
822         * sysdeps/unix/sysv/linux/alpha/speed.c (speeds): Add entry for
823         460800 baud.
824
825         * sysdeps/unix/sysv/linux/alpha/statbuf.h: New file.
826
827         * sysdeps/unix/sysv/linux/alpha/Makefile (headers): Add
828         alpha/ptrace.h.
829         * sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h: New file.
830
831         * sysdeps/libm-ieee754/s_scalbnf.c: Call __scalbnf instead of
832         scalbnf.
833
834         * sysdeps/generic/sigset.h (__sigismember, __sigaddset,
835         __sigdelset): Add declaration to keep ANSI compilers quiet.
836
837         * sysdeps/alpha/__math.h (cabs): Remove underscores from struct
838         __cabs_complex member names in call to __hypot().
839
840         * sysdeps/alpha/copysign.S, sysdeps/alpha/fabs.S: New files.
841
842         * sysdeps/alpha/divrem.h: Renamed from sysdeps/alpha/divrem.S to avoid
843         name collision with math library.
844
845         * sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
846         sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
847         sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Include divrem.h instead
848         of divrem.S.
849
850         * sysdeps/unix/alpha/sysdep.h: Include regdef.h.  Define LEAF macro
851         to simplify declaration of leaf functions.
852
853         * sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S,
854         sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/ffs.S,
855         sysdeps/alpha/htonl.S, sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S,
856         sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S,
857         sysdeps/alpha/udiv_qrnnd.S, sysdeps/unix/sysv/linux/alpha/brk.S,
858         sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
859         sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
860         sysdeps/unix/sysv/linux/alpha/pipe.S,
861         sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
862         sysdeps/unix/sysv/linux/alpha/syscall.S,
863         sysdeps/unix/sysv/linux/alpha/start.S,
864         sysdeps/unix/sysv/linux/alpha/sysdep.S: Remove include of regdef.h.
865         sysdep.h includes it now. Replace ENTRY by LEAF with appropriate
866         framesize declaration.  Replace "lda pv,sym/jsr pv" by "jsr sym".
867
868         * sysdeps/unix/sysv/linux/alpha/sysdep.h (NO_UNDERSCORES): Don't
869         define.
870
871         * sysdeps/unix/sysv/linux/alpha/syscalls.list: Added getsockopt,
872         ptrace, and sysctl.
873
874         * sysdeps/unix/sysv/linux/alpha/profil-counter.h: File removed.
875
876         * sysdeps/unix/sysv/linux/alpha/ioperm.c: Modify to support
877         dynamic recognition of platform type.
878         (_bus_base): New function.
879
880         * sysdeps/unix/sysv/linux/alpha/llseek.S: New file.
881
882         * sunrpc/rpc/rpc.h, sunrpc/rpc/svc.h: Avoid nested comments since
883         they produce ugly warnings by gcc.
884
885         * posix/sys/types.h [__USE_MISC]: Add typedef for ulong.
886
887 Wed Mar 27 10:26:21 1996  David Mosberger-Tang  <davidm@azstarnet.com>
888
889         * sysdeps/alpha/setjmp.S: Must establish global pointer before
890         address of __sigsetjmp_aux can be loaded.
891
892 Wed May 22 22:10:01 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
893
894         * stdlib/canonicalize.c: New file.
895         * stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
896         * stdlib/Makefile (routines): Add canonicalize.
897
898         * posix/unistd.h: Declare __canonicalize_directory_name_internal.
899
900 Thu May 23 00:01:10 1996  Ulrich Drepper  <drepper@cygnus.com>
901
902         * db/recno/rec_seq.c: Prevent `sccsid' definition by using the
903         same #if condition as in the other db files.
904
905         * intl/Makefile: Add -Wno-unused CFLAGS for compilation of
906         bindtextdom.c, finddomain.c, and localealias.c.
907
908         * intl/dcgettext.c: Don't define prototype for getcwd() when
909         compiling in glibc.
910
911         * libio/cleanup.c: Add prototype for _IO_register_cleanup.
912
913         * libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
914         define _POSIX_SOURCE unconditionally.
915
916         * libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
917         compiling in glibc.
918
919         * libio/fileops.c (_IO_file_close_it): Don't sync file, call
920         flush instead.  This relaxes the rules from POSIX.1 about
921         changing the active handle a bit.
922
923         * libio/iofopncook.c (struct _IO_cookie_file): Move definition
924         into <libio.h>.
925         Add prototypes for local functions to prevent warnings.
926
927         * libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
928         _IO_dup2 to contain complete parameter list.
929
930         * libio/libio.h: Add definition of struct _IO_cookie_file.
931
932         * libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
933         and _IO_vsnprintf.
934
935         * libio/memstream.c: Include <stdio.h>.
936
937         * libio/stdio.h: Add prototypes for fopencookie,
938         __stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
939
940         * libio/strops.c: Avoid useless expression in `for' initializer.
941
942         * locale/findlocale.c: Add some casts to prevent warnings.
943
944         * locale/programs/locfile.c (write_locale_data): Don't use
945         double `/' in locale binary file.
946
947         * posix/unistd.h: Remove prototype for `reboot'.
948
949         Update from bind-4.9.4-T1A.
950         * resolv/Makefile (routines): Add inet_ntop and inet_pton.
951         * resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
952         * resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
953         resolv/res_debug.c, resolv/res_init.c
954
955         * resolv/inet_ntop.c, resolv/inet_pton.c: New files.
956
957         * resolv/resolv.h: Add RES_USE_INET6 flag.
958         (__dn_isvalid): Renamed to __res_dnok.
959         Add prototypes for __res_ownok and __res_mailok.
960
961         * stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
962
963         * stdio-common/getline.c, stdio-common/vfscanf.c,
964         sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
965
966         * sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
967         (sysdep_routines): Add s_reboot.
968         (install-others): Add $(includedir)/sys/syscall.h.
969         New rule for $(includedir)/sys/syscall.h to produce from
970         <asm/unistd.h>.
971
972         * sysdeps/unix/sysv/linux/reboot.c: New file.  Make single
973         argument function call 3 argument system call.
974
975         * sysdeps/unix/sysv/linux/sys/reboot.h: New file.  Linux specific
976         definition for reboot function.
977
978         * sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
979         comment.
980
981         * sysdeps/unix/sysv/linux/syscalls.list: Rename function for
982         reboot syscall to __syscall_reboot.
983
984         * wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
985         __USE_GNU, not USE_GNU.
986
987 Tue May 21 21:55:49 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
988
989         * locale/programs/charset.c, locale/programs/ld-collate.c:
990         Add casts to prevent warnings on 64-bit machines.
991
992         * locale/programs/ld-monetary.c: Don't do unnecessary tests for
993         int_frac_digits and frac_digits which only produce warnings.
994
995 Mon May 13 23:45:29 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
996
997         * inet/arpa/inet.h: Backup return type of inet_addr to u_long.
998         * resolv/inet_addr.c: Likewise.
999
1000         * resolv/Makefile (distribute): Add res_hconf.h
1001         (routines): Add res_hconf.
1002
1003         * resolv/gethnamaddr.c: Add support for /etc/host.conf.
1004
1005         * resolv/res_init.c: Initialize /etc/host.conf reader.
1006
1007         * resolv/res_hconf.c, resolv/res_hconf.h: New files.
1008         Implementation of reading /etc/host.conf.
1009
1010 Wed May 22 21:21:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1011
1012         * Rules (%.out rules): Prepend $($*-ENV) to the command.
1013
1014         * sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
1015         alias for __curbrk.
1016
1017 Wed May 22 19:37:27 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1018
1019         * hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
1020         * hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
1021
1022 Wed May 22 18:47:31 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1023
1024         * sysdeps/mach/hurd/getcwd.c
1025         (_hurd_canonicalize_directory_name_internal): New function, broken out
1026         of __getcwd.
1027         (__getcwd): Use it.
1028         (__canonicalize_directory_name_internal): New function using it.
1029
1030         * sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
1031         function, broken out of __getcwd.
1032         (__getcwd): Use it.
1033
1034 Wed May 22 18:14:05 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1035
1036         * string/argz-create.c (__argz_create): Correctly calculate length.
1037
1038         * string/argz-extract.c (__argz_extract): Add terminating 0 entry.
1039         * hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
1040
1041 Wed May 22 17:22:14 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1042
1043         * posix/glob.c [VMS]: Don't include <pwd.h>.
1044         [HAVE_VMSDIR_H]: Include "vmsdir.h".
1045         (glob) [VMS]: Don't grok ~.
1046
1047 Wed May 22 14:46:53 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1048
1049         * hurd/hurdstartup.c (_hurd_startup): Terminate the vectors we get
1050         back from argz_extract.
1051
1052 Wed May 22 13:56:42 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1053
1054         * configure.in: Remove checks for objdump, objcopy, and awk.
1055         * config.make.in (OBJDUMP, OBJCOPY, AWK): Variables removed.
1056         * Makefile (distribute): Remove extract-dynsym.
1057         * extract-dynsym: File removed.
1058
1059 Tue May 21 22:17:45 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1060
1061         * termios/cfmakeraw.c: Set MIN to 1 and TIME to 0.
1062
1063 Wed May 22 01:48:54 1996  Ulrich Drepper  <drepper@cygnus.com>
1064
1065         * stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
1066         macros if they are not available.
1067         (WEAKNAME): New macro to declare argument as weak.
1068         Define function with __ prefix and add normal name as weak alias.
1069
1070         * sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
1071         these macros if not already available based on R_OK, W_OK, and
1072         X_OK.
1073
1074 Tue May 21 18:48:46 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1075
1076         * misc/sys/syslog.h (__need___va_list): Define this instead of
1077         __need_va_list before including <stdarg.h>.
1078
1079         * Makerules (o-iterator): Use $(object-suffixes-left) instead
1080         of $(object-suffixes) to produce repetitions; this is used for other
1081         lists than just that one.
1082         [versioned]: Use $(o-iterator) properly.
1083
1084         * sysdeps/unix/sysv/linux/Implies: Include `gnu'.
1085         * sysdeps/mach/hurd/Implies: Likewise.
1086
1087 Sat May 18 02:57:46 1996  Ulrich Drepper  <drepper@cygnus.com>
1088
1089         * login/Makefile: New file.  This directory contains functions
1090         for user administration.
1091         * Makefile (subdirs): Add login.
1092
1093         * misc/Makefile (headers): Remove utmp.h.  Now in login/utmp.h.
1094         (extra-libs, libutil-routines): Ditto.
1095         * misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
1096         misc/utmp.h: Moved to misc/.
1097         * login/login.c, login/login_tty.c, login/logout.c,
1098         login/logwtmp.c, login/utmp.h: Moved to here from misc/.
1099
1100         * login/utmp.h: Split file.  Definitions of data structures
1101         and constants are now in the system dependent utmpbits.h file.
1102
1103         * login/setutent_r.c, login/setutent.c, login/endutent_r.c,
1104         login/endutent.c, login/getutent_r.c, login/getutent.c,
1105         login/getutid_r.c, login/getutid.c, login/getutline_r.c,
1106         login/getutline.c, login/pututline_r.c, login/pututline.c:
1107         New files.  Routines to handle utmp-style files.
1108
1109         * sysdeps/gnu/utmpbits.h: New file.  Contains GNU/Linux
1110         specific definitions of utmp data structures and constants.
1111
1112         * sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
1113
1114         * sysdeps/generic/utmpbits.h: New file.  Generic (BSDish) version of
1115         definitions of utmp data structures and constants.
1116
1117 Fri May 17 00:01:31 1996  Ulrich Drepper  <drepper@cygnus.com>
1118
1119         * locale/C-monetary.c: Default value for mon_decimal_point should be
1120         '.'.
1121
1122         * stdio-common/printf.h: Remove Linux libc compatibility stuff.
1123         Add `extra' flag.  Currently used in __printf_fp.
1124
1125         * stdio-common/printf_fp.c (__guess_grouping): Renamed from
1126         `guess_grouping' and extend visibility to extern.  This function
1127         is now used in `strfmon'.
1128         (__printf_fp): Recognize new bit flag in info struct.  This
1129         triggers to use the grouping information and decimal point from
1130         the LC_MONETARY category instead of the LC_NUMERIC category.
1131
1132         * stdio-common/vfprintf.c (process_arg): Correct major bug.  In
1133         `complicated' loop we must not use the varargs because the args
1134         are already available in the ARGS_VALUE array.
1135
1136         * stdlib/Makefile (headers): Add monetary.h.
1137         (routines): Add strfmon.
1138         * stdlib/monetary.h: New file.  Header for strfmon function.
1139         * stdlib/strfmon.c: New file.  Implement strfmon function to print
1140         monetary amounts according to current locale's rules.
1141
1142         * sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
1143         now (>= Linux-1.3.100) called <asm/vm86.h>.
1144
1145 Thu May 16 00:31:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1146
1147         * Makerules [versioned]: Make symlinks in the build directory, because
1148         the versioned names might be referenced by a DT_NEEDED in another
1149         library.
1150
1151 Wed May 15 18:59:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1152
1153         * manual/examples/longopt.c: Include stdlib.h and getopt.h.
1154
1155 Tue May 14 03:36:21 1996  Ulrich Drepper  <drepper@cygnus.com>
1156
1157         * sysdeps/unix/sysv/linux/Makefile [$subdir == misc] (headers):
1158         Add sys/acct.h and sys/sysctl.h.
1159
1160 Tue May 14 19:42:04 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1161
1162         * sysdeps/generic/strrchr.c: Deansideclized.
1163
1164         * elf/Makefile (ldd): Depend on Makefile.
1165         Find ld.so in $(slibdir) instead of $(libdir).
1166
1167         * sysdeps/i386/strrchr.S: Use `testl $3, %esi' instead of `testb $3,
1168         %esi'; gas misassembles the latter into `testb $3, %dh'.
1169
1170         * mach/Machrules (%.udeps rule): Do $(make-target-directory) first.
1171
1172 Tue May 14 16:38:44 1996  David Mosberger-Tang <davidm@AZStarNet.com>
1173
1174         * sunrpc/getrpcent.c (interpret): Declare args.  Rewrite parsing using
1175         strpbrk.
1176
1177 Tue May 14 20:18:38 1996  Ulrich Drepper  <drepper@cygnus.com>
1178
1179         * time/Makefile (routines): Add strptime.
1180         * time/time.h: Add prototype for strptime.
1181         * time/strptime.c: New file.  Implementation according to XPG4.
1182
1183 Tue May 14 14:07:10 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1184
1185         * libc-symbols.h (lint): Macro removed.  The sunrpc code does some
1186         really stupid things #ifdef lint.
1187
1188         * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Fix
1189         struct member name: sc_eip -> eip.
1190
1191 Mon May 13 19:52:33 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1192
1193         * Makerules (stub-$(subdir)): Put cmds including cd inside (...) with
1194         output redirect outside it.
1195
1196         * elf/Makefile (subdir_lib): Depend on ld.so.
1197
1198 Sun May 12 22:52:22 1996  Bruce Elliott  <belliott@accessone.com>
1199
1200         * stdio-common/vfprintf.c: Correct handling of unsigned short
1201         values.
1202
1203 Mon May 13 12:03:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1204
1205         * extra-lib.mk (alltype-$(lib)): Put libs in $(objpfx) instead of
1206         $(common-objpfx).
1207         * Makerules [install-lib.a]: Find them there.
1208
1209         * sysdeps/unix/sysv/linux/i386/profil-counter.h: New file.
1210
1211         * extra-lib.mk: Skip the hair if $(object-suffixes-$(lib)) is empty.
1212
1213         * posix/glob.h [_AMIGA]: Remove `struct stat;' forward decl.
1214
1215         * configure.in (--with-fp): Note in help string that it's the default.
1216
1217         * locale/programs/ld-ctype.c (struct locale_ctype_t): Use u_int32_t
1218         instead of unsigned int for map_collection_max and map_collection_act.
1219
1220         * stdio-common/vfprintf.c [USE_IN_LIBIO] (flockfile, funlockfile):
1221         Macros removed; they are in <stdio.h>.
1222         * stdio-common/vfscanf.c: Likewise.
1223
1224         * posix/glob.c [_AMIGA]: Don't include <pwd.h>.
1225         (glob): Remove bogus & in call to globfree.
1226         [_AMIGA]: Use AmigaDOS file name conventions.
1227
1228         * time/Makefile (zonenames): Target removed.
1229         (extra-objs): Remove it from here.
1230         Include the z.* files directly instead of including zonenames; use
1231         `-include' to not complain before they exist.
1232
1233         * sysdeps/unix/Makefile: Find sysd-syscalls and s-proto.d with
1234         $(common-objpfx) instead of $(objpfx).
1235
1236         * sysdeps/unix/bsd/telldir.c (seekdir, telldir): Use new struct member
1237         names without __.
1238
1239         * Makerules [install-lib-non.a]: Find these things with $(objpfx)
1240         instead of $(common-objpfx).
1241
1242         * Makeconfig (sysdep-configures): New variable.
1243         (config.status): Depend on $(sysdep-configures).
1244
1245 Fri May 10 20:07:52 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1246
1247         * sysdeps/unix/sysv/linux/profil.c: New file.
1248
1249 Fri May 10 19:59:50 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1250
1251         * sysdeps/m68k/Makefile (CFLAGS-setjmp.c): New variable.
1252
1253 Fri May 10 19:55:42 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1254
1255         * shlib-versions: Use libm=6 and libc=6 for m68k-linux.
1256
1257 Sun May 12 11:16:58 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1258
1259         * string/envz.c: Fix uses of unsigned to size_t.
1260
1261         * Makerules ($(libdir)/libc.so): Make the file an ld script.
1262
1263         * sysdeps/mach/hurd/configure.in: Don't grok --with-hurd option.
1264
1265         * sysdeps/mach/configure.in: File removed.
1266         * sysdeps/mach/configure: File removed.
1267
1268         * mach/Machrules (%.udeps rule): Write deps for %_server.[ch] too.
1269         (%_server.[ch] rule): Don't depend on %.defs; use #include to get
1270         installed .defs file.
1271
1272         * stdio-common/vfprintf.c (flockfile, funlockfile): Define to
1273         nothing for stdio.  Fix fUNlockfile -> funlockfile for libio.
1274         * stdio-common/vfscanf.c: Likewise.
1275
1276 Sat May 11 13:43:41 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1277
1278         * hurd/hurdfault.c: Include faultexc_server.h instead of faultexc.h.
1279
1280         * mach/Machrules (%.ir rule): Don't produce deps for imports.
1281
1282         * elf/dl-fini.c (_dl_fini): Clear L->l_init_called after calling fn.
1283
1284         * Makerules (install): Depend on $(slibdir)/libc.so$(libc.so-version).
1285         [!subdir] ($(libdir)/libc.so, $(common-objpfx)/libc-syms.so): Protect
1286         these targets and install dep on $(libdir)/libc.so with this.
1287
1288         * hurd/Makefile: Removed all rules and defns for using code from Hurd
1289         sources and installing headers from there.
1290
1291         * sysdeps/mach/hurd/errnos.awk: Set in_mach_errors to FILENAME when we
1292         set it.  In Mach error matching clause, only match if FILENAME is
1293         still the same value.
1294
1295         * sysdeps/mach/hurd/Makefile: Don't include sysdeps/mach/Makefile;
1296         $(mach-srcdir) no longer exists.
1297         (hurd-srcdir): Variable removed.
1298         (includes): Don't append -I$(hurd-srcdir).
1299         (last-includes): Variable removed.
1300         Remove vpath specs using $(hurd-srcdir).
1301         (mach-errno-h): New canned sequence.
1302         ($(common-objpfx)errnos.d): New target, generated included makefile
1303         to determine absolute file names of Mach headers to search for error
1304         codes and set variable mach-errnos-deps.
1305         ($(common-objpfx)stamp-errnos): Depend on $(mach-errnos-deps) instead
1306         of prior explicit list.
1307         (generated): Add errnos.d, stamp-errnos.
1308
1309         * mach/Machrules (some-if-rtn): New variable and target; compute deps
1310         of some if routine and make all if routines depend on that .d file
1311         instead of static list of .h files.
1312
1313         * mach/Makefile (mach/mach_interface.defs,
1314         mach/memory_object_user.defs): Targets removed.
1315         ($(objpfx)mach-syscalls.mk): Tweak this kludge so it doesn't depend
1316         directly on Mach sources.
1317
1318         * sysdeps/mach/Makefile (mach-srcdir): Variable removed.
1319         (includes): Don't append -I$(mach-srcdir).
1320         Remove vpath specs using $(mach-srcdir).
1321
1322         * hurd/Makefile (server-interfaces): Add faultexc.
1323         (sig): Remove it from here.
1324         (fault%.[ch]): Rule removed.
1325         (MIGFLAGS-faultexc): New variable.
1326
1327         * hurd/faultexc.defs: New file.
1328
1329         * mach/Machrules (%.ustamp rule): Pass $(MIGFLAGS-$*) to mig.
1330         (%_server.[ch] rule): Likewise.
1331
1332         * mach/Makefile: Removed all rules and defns for using code from Mach
1333         sources and installing headers from there.
1334
1335         * Makeconfig [$(build-shared)=yes] (link-libc): Append
1336         $(libc.so-version) to libc.so.
1337
1338 Fri May 10 18:36:14 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1339
1340         * mach/Machrules (%.ustamp rule): Don't depend on %.defs.
1341         (%.udeps): New rule parallel to that one, generating included
1342         makefiles with -M output from `#include <%.defs>'.
1343
1344         * Makerules (sed-remove-objpfx): Remove space before \ at eol.
1345
1346         * Makefile (distribute): Add FAQ.
1347         * FAQ: New file contributed by drepper.
1348
1349         * time/Makefile (headers): Add timebits.h.
1350         * sysdeps/unix/sysv/linux/timebits.h: New file.
1351         * sysdeps/stub/timebits.h: New file.
1352         * time/time.h (CLK_TCK): Define to CLOCKS_PER_SEC.
1353         (CLOCKS_PER_SEC): Remove this macro.  Instead #include <timebits.h>.
1354
1355 Fri May 10 16:22:44 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
1356
1357         * string/argz-create.c (__argz_create): Restore const keyword to
1358         ARGV parm.
1359         * string/argz.h (__argz_create, argz_create): Restore const
1360         keyword.
1361         * string/envz.c (envz_get): Don't declare ENTRY const.
1362
1363 Fri May 10 11:48:03 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1364
1365         * string/argz.h (argz_create): Fix param type.
1366         * string/argz-create.c (__argz_create): Remove const from param type.
1367         * string/envz.c (envz_get): Remove const from return type.
1368
1369 Fri May 10 09:41:54 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
1370
1371         * string/argz.h (__argz_create, argz_create): Omit const keyword
1372         from declaration of ARGV.
1373         * string/envz.h (envz_get): Omit const from declaration of return
1374         type.
1375
1376 Thu May  9 09:17:46 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1377
1378         * aclocal.m4 (AC_FD_MSG, AC_FD_CC): Fix these for autoconf weirdness.
1379
1380         Cleanups in sunrpc code from NIIBE Yutaka <gniibe@mri.co.jp>.
1381         * sunrpc/clnt_tcp.c (clnttcp_create): Don't close *SOCKP if it's -1.
1382         * sunrpc/clnt_simp.c (callrpc): Don't close CRP->socket if it's
1383         RPC_ANYSOCK.
1384         * sunrpc/pmap_clnt.c (pmap_set): Don't close SOCKET, since
1385         CLNT_DESTROY already has.
1386         (pmap_unset): Likewise.
1387         * sunrpc/pm_getmaps.c (pmap_getmaps): Likewise.
1388         * sunrpc/pm_getport.c (pmap_getport): Likewise.
1389         * sunrpc/pmap_rmt.c (pmap_rmtcall): Likewise.
1390         * sunrpc/portmap.c (callit): Likewise.
1391
1392         * Makerules (versioned): Strip whitespace.
1393
1394         * Rules (static-only-routines rule): Remove spurious space in dep.
1395
1396         * misc/getusershell.c: Undo changes of 7 May 96 (rev 1.6).
1397         Cast string constants to char *.
1398
1399         * posix/glob/SMakefile, posix/glob/SCOPTIONS, posix/glob/Makefile.ami:
1400         New files, AmigaDOS support from Aaron Digulla.
1401         * posix/Makefile (glob.tar): Add AmigaDOS support files.
1402
1403         * sysdeps/unix/sysv/linux/net/if.h: New file.
1404         * sysdeps/unix/sysv/linux/Dist: Add it.
1405         * sysdeps/unix/sysv/linux/Makefile [$(subdir)=socket] (headers): Add
1406         net/if.h.
1407
1408         * Makeconfig (link-libc): Add libc.a after libc.so in link.
1409
1410         * Rules (static-only-routines rule): Use empty.o instead of dummy.o.
1411         (empty.o): New target.
1412         (generated): Add empty.c, empty.o.
1413
1414         * resolv: Code updated from BIND-4.9.3P2C3.
1415
1416         * Rules (static-only-routines rule): Use dummy.o, not dummy.so.
1417
1418 Wed May  8 20:04:29 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1419
1420         * extract-dynsym: New file.
1421         * Makefile (distribute): Add it.
1422         * Rules (subdir_install): Depend on $(common-objpfx)sor-$(subdir).
1423         [! libc.so-version]: Clear static-only-routines.
1424         ($(common-objpfx)sor-$(subdir)): New target.
1425         [static-only-routines]: New static pattern rule for these .so's.
1426         * Makerules [libc.so-version] ($(slibdir)/libc.so): Target removed.
1427         [libc.so-version] ($(libdir)/libc.so, $(common-objpfx)libc-syms.so):
1428         New targets replace it.
1429         (install) [libc.so-version]: Depend on $(libdir)/libc.so instead of
1430         $(slibdir)/libc.so.
1431         * io/Makefile (static-only-routines): New variable.
1432         * configure.in: Check for tools objdump and objcopy, and for awk.
1433         * config.make.in (OBJDUMP, OBJCOPY, AWK): New variables.
1434
1435 Thu May  9 01:24:00 1996  Ulrich Drepper  <drepper@cygnus.com>
1436
1437         * locale/programs/config.h: Remove definition of wint_t.
1438
1439         * locale/programs/ld-collate.c: Include <wchar.h> instead of
1440         <wcstr.h>.
1441
1442         * manual/time.texi: Add some more description for %U and %W
1443         format of strftime.  Describe new format %V of strftime.
1444
1445         * resolv/gethnamaddr.c: Prevent warning by preventing variable
1446         definition.
1447         * stdio-common/_itoa.c: Ditto.
1448
1449 Tue May  7 23:43:07 1996  Ulrich Drepper  <drepper@cygnus.com>
1450
1451         * libio/clearerr.c, libio/feof.c, libio/ferror.c, libio/fgetc.c,
1452         libio/fileno.c, libio/fputc.c, libio/freopen.c, libio/fseek.c,
1453         libio/genops.c, libio/getc.c, libio/getchar.c, libio/iofclose.c,
1454         libio/iofflush.c, libio/iofgetpos.c, libio/iofgets.c,
1455         libio/iofputs.c, libio/iofread.c, libio/iofsetpos.c,
1456         libio/ioftell.c, libio/iofwrite.c, libio/iogetdelim.c,
1457         libio/iogets.c, libio/ioputs.c, libio/iosetbuffer.c,
1458         libio/iosetvbuf.c, libio/ioungetc.c, libio/iovsprintf.c,
1459         libio/libio.h, libio/putc.c, libio/putchar.c, libio/rewind.c,
1460         libio/stdio.h, stdio-common/printf_fp.c, stdio-common/vfprintf.c,
1461         stdio-common/vfscanf.c: Prepare for reentrant libio.
1462
1463         * libio/clearerr_u.c, libio/feof_u.c, libio/ferror_u.c,
1464         libio/fputc_u.c, libio/getc_u.c, libio/getchar_u.c,
1465         libio/iofflush_u.c, libio/putc_u.c, libio/putchar_u.c: New files.
1466         Used in reentrant libio.
1467
1468         * misc/getusershell.c: Prevent warnings.
1469
1470 Wed May  8 12:08:35 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1471
1472         * Makerules (install-lib.so rules): Undouble $s in target and dep
1473         parts of o-iterator-doit defns.
1474         (unversioned libraries install rule): Fix pattern.
1475
1476         * mach/Makefile (mach-src-headers): Use $(base-machine) instead of
1477         $(config-machine).
1478         ($(includedir)/machine): Likewise.
1479
1480         * config.make.in (base-machine): New variable.
1481         * configure.in (machine): Move case stmt to set $machine out of sysdep
1482         dirs AC_CACHE_CHECK.
1483         (base_machine): New variable, set in that switch and AC_SUBST'd.
1484
1485         * Makerules (stub-$(subdir)): Use file name in directory as output,
1486         since cmd is cd'd.
1487
1488         * configure.in (MSGFMT): Use : if none found.
1489
1490         * po/Makefile: Include ../Rules instead of ../Makerules.
1491
1492 Tue May  7 23:18:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1493
1494         * po/Makefile: New file.
1495         * Makefile (subdirs): Add po.
1496
1497         * configure.in: Check for msgfmt.
1498         * config.make.in (MSGFMT): New variable.
1499
1500 Sun May  5 23:49:10 1996  Ulrich Drepper  <drepper@cygnus.com>
1501
1502         * misc/Makefile (routines): Add swapoff.
1503
1504         * sysdeps/unix/sysv/linux/Dist: Add sys/quota.h.
1505
1506         * sysdeps/unix/sysv/linux/sys/quota.h: New file.  Wrapper around
1507         kernel header file.
1508
1509 Tue May  7 19:00:01 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1510
1511         * string/argz-extract.c: Remove const from decl.
1512         * string/argz.h: Here too.
1513
1514         * Makeconfig (version.mk): Fix regexp in sed cmd.
1515         Depend on $(..)Makeconfig.
1516
1517         * GMP code updated from gmp-2.0 release.
1518         * stdlib/Makefile (mpn-routines): Removed add_1, added inlines.
1519         * sysdeps/generic/add_1.c: File removed.
1520         * stdlib/strtod.c: mp_limb is now mp_limb_t.
1521         * stdlib/fpioconst.c, stdlib/fpioconst.h: Likewise.
1522         * stdio-common/_itoa.c: Likewise.
1523         * stdio-common/printf_fp.c: Likewise.
1524         Don't include ansidecl.h.
1525
1526         * sysdeps/mach/hurd/getcwd.c: Use io_identity instead of io_stat.
1527
1528         * shlib-versions: New file.
1529         * Makerules (soversions.mk): New target, include file generated from
1530         shlib-versions.  Moved shared library rules before installation rules.
1531         Rewrote shared library installation rules for versioned libraries.
1532         * math/Makefile (libm.so-version): Variable removed.
1533
1534         * sysdeps/mach/hurd/i386/exc2signal.c: Use struct hurd_signal_detail.
1535
1536         * hurd/report-wait.c (_S_msg_describe_ports): New function.
1537
1538         * configure.in: Add AC_PROG_LN_S check.
1539         * config.make.in (LN_S): New variable.
1540
1541 Sun May  5 03:10:44 1996  Ulrich Drepper  <drepper@cygnus.com>
1542
1543         * misc/efgcvt_r.c (ecvt_r): Work aroung gcc bug.  gcc does
1544         not know about weak aliases now and optimizes necessary `if'
1545         statement away.
1546
1547         * posix/unistd.h: Add swapoff prototype.
1548
1549         * sysdeps/generic/confname.h: Add even more POSIX.4 symbols.
1550
1551         * sysdeps/posix/fpathconf.c (__fpathconf): Get information
1552         for _PC_PATH_MAX from fstatfs function if available.
1553
1554         * sysdeps/posix/sysconf.c: Add code to handle _SC_AIO_LISTIO_MAX,
1555         _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX,
1556         _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_RTSIG_MAX,
1557         _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, and
1558         _SC_TIMER_MAX.
1559         * sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.
1560
1561         * sysdeps/stub/swapoff.c: New file.  Stub version for swapoff
1562         function.
1563
1564         * sysdeps/unix/syscalls.list:  Add swapoff.
1565
1566         * sysdeps/unix/sysv/linux/Dist: Add sys/acct.h.
1567
1568         * sysdeps/unix/sysv/linux/Makefile [$(subdir) == misc]
1569         (sysdep_routines): Add mount, umount, llseek, setfsgid, setfsuid,
1570         sysinfo, and uselib.
1571         (headers): Add sys/sysinfo.h.
1572
1573         * sysdeps/unix/sysv/linux/gethostid.c: Prevent warning.
1574
1575         * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == misc]
1576         (sysdep_routines): Add ioperm, iopl, and vm86.
1577         (headers): Add sys/perm.h and sys/vm86.h.
1578
1579         * sysdeps/unix/sysv/linux/i386/sys/perm.h: New file.  Contains
1580         prototypes for iopl and ioperm.
1581
1582         * sysdeps/unix/sysv/linux/i386/sys/vm86.h:  New file.  Contains
1583         prototype for vm86.
1584
1585         * sysdeps/unix/sysv/linux/i386/syscalls.list: New file.  Add
1586         vm86 system call.
1587
1588         * sysdeps/unix/sysv/linux/sys/acct.h: New file.  Contains
1589         prototypes for acct function.
1590
1591         * sysdeps/unix/sysv/linux/sys/socket.h: Provide real header
1592         file with prototypes.
1593
1594         * sysdeps/unix/sysv/linux/sys/sysinfo.h: New file.  Contains
1595         prototype for sysinfo function.
1596
1597         * sysdeps/unix/sysv/linux/syscalls.list: Add flock, ioperm, iopl,
1598         llseek, setfsgid, setfsuid, sysinfo, and uselib.
1599
1600         * sysdeps/unix/sysv/linux/sysconf.c: Instead of duplicating
1601         posix/sysconf.c now only handle cases different to that
1602         implementation.
1603
1604 Tue May  7 15:08:19 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1605
1606         * stdio/linewrap.c (__line_wrap_output): Renamed from lwoutput
1607         (all references changed).  Now exported.
1608
1609         * stdio/linewrap.c (struct data): Type deleted (moved to linewrap.h).
1610         (wrap_stream, unwrap_stream, lwclose, lwfileno, lwoutput,
1611         line_wrap_stream, line_unwrap_stream): Use struct line_wrap_data
1612         instead of struct data.
1613         (lwoutput, line_wrap_stream, line_unwrap_stream): Rename various
1614         occurences of `wrap' and `wrapmargin' to `wmargin'.
1615         (line_wrapped, line_wrap_lmargin, line_wrap_set_lmargin,
1616         line_wrap_rmargin, line_wrap_set_rmargin, line_wrap_wmargin,
1617         line_wrap_set_wmargin, line_wrap_point): New functions.
1618         * stdio/linewrap.h: New file.
1619         * stdio/Makefile (headers): Add linewrap.h.
1620
1621 Tue May  7 14:19:12 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1622
1623         * sysdeps/unix/sysv/linux/i386/Makefile: File removed.
1624
1625         * stdio/stdio.h: Remove line_wrap_stream, line_unwap_stream decls.
1626
1627         * sysdeps/unix/sysv/linux/schedbits.h: New file.
1628
1629 Tue May  7 13:47:02 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1630
1631         * stdio/linewrap.c (struct data): Make margin fields not-pointers.
1632         (lwoutput): Adjust uses acordingly.
1633
1634 Tue May  7 10:51:52 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1635
1636         * sysdeps/mach/hurd/fdatasync.c: New file.
1637         * sysdeps/mach/hurd/fsync.c: Pass new flag to file_sync.
1638
1639         * sysdeps/mach/hurd/xmknod.c: Pass new flag to dir_link.
1640         * sysdeps/mach/hurd/symlink.c: Likewise.
1641         * sysdeps/mach/hurd/link.c: Likewise.
1642         * sysdeps/mach/hurd/bind.c: Likewise.
1643         * hurd/hurdsig.c (write_corefile): Likewise.
1644
1645         * hurd/hurdsig.c (write_corefile): Pass cttyid port to crash server.
1646
1647         * sysdeps/mach/hurd/fpathconf.c: RPC takes int pointer, not long int.
1648
1649         * sysdeps/mach/hurd/_exit.c (_hurd_exit): Pass sigcode arg to
1650         proc_mark_exit.
1651         * sysdeps/mach/hurd/dl-sysdep.c (_exit): Likewise.
1652
1653         * sysdeps/mach/hurd/wait4.c: Pass sigcode arg to proc_wait.
1654
1655         * sysdeps/mach/hurd/rename.c: Pass new flag to dir_rename.
1656
1657         * hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise): Use struct
1658         hurd_signal_detail.
1659         * hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
1660         * hurd/hurd-raise.c (_hurd_raise_signal): Likewise.
1661         * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
1662         Likewise.
1663         * sysdeps/mach/hurd/setitimer.c (restart_itimer): Likewise.
1664
1665         * hurd/hurd/signal.h: Fix _hurd_exception2signal prototype.
1666
1667         * hurd/hurdsig.c (write_corefile): Take const struct
1668         hurd_signal_detail * arg.  Pass all details to crash_dump_task.
1669         (_hurd_internal_post_signal): Pass DETAIL to write_corefile.
1670         (_hurd_internal_post_signal: suspend): Pass code and error to
1671         proc_mark_stop.
1672
1673         * hurd/hurdprio.c (_hurd_priority_which_map): Pass flags arg to
1674         proc_getprocinfo by reference.
1675
1676         * wcsmbs/wcwidth.c, wcsmbs/wcswidth.c: Fixed typos.
1677
1678         * sysdeps/unix/sysv/linux/sys/mman.h: Fixed typo.
1679
1680         * sysdeps/stub/sched_getp.c: Add missing #include <sys/types.h>.
1681         * sysdeps/stub/sched_sets.c: Likewise.
1682         * sysdeps/stub/sched_setp.c: Likewise.
1683         * sysdeps/stub/sched_rr_gi.c: Likewise.
1684         * sysdeps/stub/sched_gets.c: Likewise.
1685
1686         * hurd/hurdsig.c: Use struct hurd_signal_detail.
1687         * hurd/hurd/fd.h (_hurd_fd_error): Likewise.
1688         * sysdeps/mach/hurd/sysd-stdio.c (fd_fail): Likewise.
1689
1690 Mon May  6 09:51:05 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1691
1692         * stdio/linewrap.c: New file.
1693         * stdio/Makefile (routines): Add linewrap.
1694         * stdio/stdio.h [__USE_GNU]: Declare line_wrap_stream,
1695         line_unwrap_stream.
1696
1697 Mon May  6 14:53:26 1996  Ulrich Drepper  <drepper@cygnus.com>
1698
1699         * time/strftime.c (week): Add third parameter telling how
1700         many days must be in new year so that it is called week 1.
1701         (Following ISO 8601).
1702         Correct computation for %U and %V formats when day was first
1703         day of the week.
1704         (strftime): Implement %V format according to Spec1170.
1705
1706 Mon May  6 17:01:09 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
1707
1708         * hurd/hurd/signal.h (_hurd_intr_rpc_mach_msg): New declaration.
1709
1710 Sat May  4 05:44:25 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1711
1712         * hurd/hurd/sigpreempt.h (struct hurd_signal_preempter): Change
1713         prototype of `preempter' elt to use struct hurd_signal_detail.
1714
1715         * hurd/hurd/signal.h (struct hurd_signal_detail): New type.
1716         (struct hurd_sigstate): Make `pending_data' member an array of that.
1717         Use the new type in several decls.
1718
1719         * locale/setlocale.c (_nl_C_name): Variable removed.
1720         * locale/C_name.c: New file.
1721         (_nl_C_name): Put it here instead.
1722         * locale/Makefile (aux): Add C_name.
1723
1724         * sysdeps/mach/hurd/dl-sysdep.c (open): Don't pass io port in
1725         auth_user_authenticate rpc.
1726         (open): Avoid using strtol in digit conversion for "fd/N" magic.
1727         (_dl_sysdep_start): Likewise for memobj name in magic switches.
1728
1729         * elf/Makefile (reloc-link): New variable.
1730         (dl-allobjs.so): New target, link together $(rtld-routines).
1731         (librtld.so): Depend on that instead of the rtld components.
1732         (generated): Add dl-allobjs.so.
1733
1734         * hurd/hurd-raise.c (_hurd_raise_signal): Pass sigcode in msg_sig_post
1735         rpc.
1736
1737         * hurd/hurdmsg.c (_S_msg_set_environment): Use argz.h functions
1738         instead of _hurd_split_args.
1739         (_S_msg_*_exec_flags): Functions removed.
1740         (_S_msg_startup_dosync): Stub removed.
1741
1742 Sat May  4 02:11:55 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1743
1744         * sysdeps/mach/hurd/ptrace.c: Set _hurdsig_traced instead of
1745         EXEC_TRACED bit in _hurd_exec_flags.
1746         Pass sigcode arg in msg_sig_post_untraced rpc.
1747
1748         * sysdeps/mach/hurd/access.c: Don't pass io port in
1749         auth_user_authenticate rpc.
1750
1751         * posix/sched.h: Fix typos.
1752
1753         * sysdeps/mach/hurd/fork.c: Use new critical section lock.
1754         Clear _hurdsig_traced instead of EXEC_TRACED.
1755
1756         * sysdeps/stub/nanosleep.c (nanosleep): Fix typo.
1757
1758         * wcsmbs/wcstol.c: Find strtol.c in ../stdlib.
1759         * wcsmbs/wcstof.c: Find strtod.c in ../stdlib.
1760         * wcsmbs/wcstod.c: Likewise.
1761         * wcsmbs/wcstold.c: Likewise.
1762
1763         * wcsmbs/wcwidth.h: Find cname-lookup.h in ../wctype.
1764
1765         * string/envz.c (envz_entry): Use const.
1766         (envz_get, envz_remove): Likewise.
1767         (envz_entry): Return char *, not const char *.
1768
1769         * string/envz.h: Fix decl.
1770
1771         * string/argz-create.c: Use const in prototype.
1772         * string/argz-next.c: Likewise.
1773
1774 Fri May  3 13:32:08 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1775
1776         * sysdeps/mach/hurd/sigprocmask.c: Pass sigcode arg to msg_sig_post.
1777         * sysdeps/mach/hurd/i386/sigreturn.c: Likewise.
1778         * sysdeps/mach/hurd/sigsuspend.c: Likewise.
1779         * sysdeps/mach/hurd/kill.c: Likewise.
1780
1781         * hurd/hurdexec.c (_hurd_exec): Use new critical section lock.
1782         * hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
1783         * hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Likewise.
1784         * hurd/thread-cancel.c (hurd_thread_cancel, hurd_check_cancel):
1785         Likewise.
1786         * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise.
1787         * sysdeps/mach/hurd/sigaction.c: Likewise.
1788
1789         * sysdeps/mach/hurd/errnos.awk: Don't use ARGV in comment; it can
1790         change meaninglessly.
1791
1792         * hurd/hurd/signal.h (struct hurd_sigstate): Replace critical section
1793         flag with a spin lock.
1794         (_hurd_critical_section_lock): Use spin_try_lock on that to see if we
1795         get it.  No need to take SS->lock at all.
1796         (_hurd_critical_section_unlock): Unlock SS->critical_section_lock
1797         instead of clearing the old flag member.
1798         * hurd/hurdsig.c (_hurd_internal_post_signal): Use spin_lock_locked to
1799         test the critical section state.
1800
1801         * hurd/hurdinit.c (_hurd_init): Set _hurdsig_traced from the intarray.
1802
1803         * hurd/hurdkill.c (_hurd_sig_post): Pass 0 sigcode in msg_sig_post.
1804
1805         * hurd/hurdsig.c (_hurd_internal_post_signal): Test _hurdsig_traced
1806         instead of testing (_hurd_exec_flags & EXEC_TRACED).
1807         (_S_msg_sig_post): Take sigcode arg and pass it through.
1808         (_S_msg_sig_post_untraced): Likewise.
1809         (reauth_proc): Don't pass proc port in auth_user_authenticate.
1810
1811         * hurd/setauth.c (_hurd_setauth): Don't pass object ports in
1812         auth_user_authenticate RPCs, just the one-off rendezvous port.
1813         * hurd/dtable.c (reauth_dtable): Likewise.
1814         * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Likewise.
1815
1816         * hurd/hurdexec.c (_hurd_exec): Pass 0 flags to file_exec.
1817         Pass sigcode arg to msg_sig_post.
1818
1819         * string/argz.h (argz_create): Use const in prototype.
1820
1821         * hurd/hurdinit.c (_hurd_proc_init): Test _hurdsig_traced instead of
1822         testing (_hurd_exec_flags & EXEC_TRACED).
1823         Pass sigcode arg to msg_sig_post.
1824
1825         * hurd/hurd.h: Declare _hurdsig_traced.
1826
1827         * string/argz.h (__argz_next): Cast ENTRY before returning it.
1828
1829         * hurd/hurd/signal.h (_hurd_critical_section_unlock): Pass sigcode arg
1830         to msg_sig_post.
1831
1832         * hurd/path-lookup.c: New file.
1833         * hurd/Makefile (routines): Add path-lookup.
1834         * hurd/hurd/lookup.h: Declare file_name_path_scan,
1835         hurd_file_name_path_lookup.
1836         * hurd/hurd.h: Declare file_name_path_lookup.
1837
1838         * sysdeps/mach/hurd/select.c: The io_select rpc no longer has a TAG_ID
1839         argument.  Instead, use a separate reply port for each RPC and put them
1840         all in a port set to wait for slow replies.
1841
1842         * intl/Makefile (CPPFLAGS): Change $(nlsdir) to $(i18ndir) in
1843         LOCALE_ALIAS_PATH.
1844
1845 Fri May  3 03:14:02 1996  Ulrich Drepper  <drepper@cygnus.com>
1846
1847         * intl/Makefile (routines): Add l10nflist and explodename.
1848         (distribute): Add loadinfo.h and locale.alias.
1849         (install-others): New variable to install locale.alias.
1850
1851         * intl/dcgettext.c, intl/finddomain.c, intl/gettextP.h,
1852         intl/loadmsgcat.c: Adapt for upcoming gettext-0.10.13.  Some code
1853         is now shared with the locale implementation.
1854
1855         * intl/explodename.c, intl/l10nflist.c, intl/loadinfo.h: New file.
1856         Extracted from finddomain.c.  This is also used in the locale
1857         implementation.
1858
1859         * intl/locale.alias: New file.  Locale alias database compatible
1860         with X Window System's locale alias file.  Can now be used in
1861         locale and gettext code.
1862
1863         * libio/stdio.h: Add prototypes for asprint and vasprintf.
1864
1865         * locale/C-collate.c, locale/C-ctype.c, locale/C-messages.c,
1866         locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c: Add new
1867         field in structure with name of locale ("C" in this case).
1868
1869         * locale/Makefile (routines): Add findlocale.
1870
1871         * locale/findlocale.c: New file.  Instead of trying to load the
1872         directly described file we now try to be much smarter when this
1873         fails.  Use the same code as gettext does.
1874
1875         * locale/loadlocale.c, locale/setlocale.c: Rewrite to know about
1876         new loading scheme.
1877
1878         * locale/localeinfo.h: Adapt prototypes and declarations for new
1879         setlocale implementation.  Remove definition of u32_t type.  We
1880         now use u_int32_t from <sys/types.h>.
1881
1882         * locale/programs/charset.h (ILLEGAL_CHAR_VALUE): Provide type
1883         with constant.
1884
1885         * locale/programs/config.h, locale/lc-collate.c,
1886         locale/localeinfo.h, locale/programs/ld-collate.c,
1887         locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
1888         locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
1889         locale/programs/ld-time.c, locale/weight.h, string/strcoll.c:
1890         Change to use u_int32_t and u_int16_t.
1891
1892         * locale/programs/localedef.c (construct_output_path): Change name
1893         of output locale to contain normalized form of the character set
1894         portion.
1895
1896         * string/Makefile (routines): Add agrz-ctsep and argz-next.
1897         (tests): Add tst-strlen.
1898
1899         * string/argz-ctsep.c: New file.  Implement reverse operation
1900         from argz-stringify.
1901
1902         * string/argz-next.c: Non-inline version of function from argz.h.
1903
1904         * string/argz.h, string/envz.h: Make usable as global header file.
1905
1906         * string/envz.c: Fix declarations to use size_t where prototypes
1907         say so.
1908
1909         * string/tst-strlen.c: New file.  Another test for critical
1910         situation in strlen implementations.
1911
1912         * sysdeps/i386/i586/strlen.S: Fix bug with highest byte in word
1913         being zero.
1914
1915         * wctype/test_wctype.c: Fix controlling comparison after change to
1916         32 bit character class array.
1917
1918 Fri May  3 12:53:12 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1919
1920         * sysdeps/unix/sysv/linux/sys/socket.h: Remove spurious doubled line.
1921
1922 Thu May  2 22:50:52 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1923
1924         * sysdeps/unix/sysv/linux/getpriority.c: New file.
1925         * sysdeps/unix/sysv/linux/syscalls.list: Add s_getpriority.
1926
1927 Thu May  2 22:41:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1928
1929         * sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_DEFAULT):
1930         Disable all exceptions.
1931
1932 Thu May  2 22:33:14 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1933
1934         * sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_acosf.c,
1935         sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/e_fmodf.c,
1936         sysdeps/m68k/fpu/isinfl.c, sysdeps/m68k/fpu/isnanl.c,
1937         sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_atanf.c,
1938         sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_frexpf.c,
1939         sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_ilogbf.c,
1940         sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_isinff.c,
1941         sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_ldexpf.c,
1942         sysdeps/m68k/fpu/s_modf.c, sysdeps/m68k/fpu/s_modff.c: Don't
1943         define __NO_MATH_INLINES, which is already defined on command
1944         line.
1945
1946 Thu May  2 22:18:28 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1947
1948         * sysdeps/libm-ieee754/e_j0f.c (__ieee754_j0f, __ieee754_y0f):
1949         Replace 0x80000000 by 0x48000000.
1950         * sysdeps/libm-ieee754/e_j1f.c (__ieee754_j1f): Likewise.
1951
1952 Thu May  2 21:30:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1953
1954         * sunrpc/svc_simple.c: Make global variable pl local to
1955         registerrpc.
1956
1957 Thu May  2 00:24:04 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1958
1959         * time/Makefile (tz-cflags): New variable.
1960         (CFLAGS-tzfile.c): New variable.
1961         (CFLAGS-zic.c): Add $(tz-cflags).
1962         (tz-cc): Remove variable.
1963         ($(objpfx)tzfile.o, $(objpfx)zic.o): Remove targets.
1964
1965 Wed May  1 09:10:04 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1966
1967         * sysdeps/mach/hurd/getcwd.c: Jump out of both loops when we find a
1968         name, instead of checking for reaching end of buffer, which happens
1969         when the match is the last entry in the buffer.
1970
1971         * time/strftime.c: Use canonical autoconf nugget for time.h+sys/time.h
1972         include.
1973
1974 Mon Apr 29 02:48:26 1996  Ulrich Drepper  <drepper@cygnus.com>
1975
1976         * ctype/ctype-info.c: (__ctype_width): New variable.
1977         (__ctype_names): Initialize correctly without offset.
1978
1979         * locale/C-collate.c, locale/C-ctype.c,
1980         locale/C-messages.c, locale/C-monetary.c,
1981         locale/C-numeric.c, locale/C-time.c: Change copyright.
1982
1983         * locale/C-ctype.c (_nl_C_LC_CTYPE_class32): Correct
1984         endianess for initialization value.
1985
1986         * locale/lc-ctype.c (current): Add parameter for offset.
1987         (__ctype32_b, __ctype_width): Add initialization for these
1988         variables.
1989
1990         * locale/programs/charmap.c: Finish support for WIDTH information.
1991         (new_width): New function.
1992
1993         * locale/programs/charset.h (width_rule): new data structure.
1994         (charset_t): Add elements for width information.
1995
1996         * locale/programs/ld-ctype.c (locale_ctype_t): Add element
1997         for width information.
1998         (allocate_arrays): Add new argument for charset.
1999         (ctype_finish): Make sure all characters named in charset
2000         width table are known to name table.
2001         (ctype_output): Correct handling of class and map name
2002         information and write out width information.
2003         (find_idx): Prepare for being called with NULL pointer as
2004         TABLE argument.  This means only allocate name entry.
2005         (allocate_arrays): Correct handling of array element -1.
2006         Because EOF == -1 the value of element 127 must *not* be
2007         mirrored here.
2008         Fill width information from charset tables.
2009
2010         * locale/programs/localedef.c (main): Correct loop over all
2011         categories after change of order from Thu Mar 28 14:22:51 1996.
2012         Add new charset argument to call of `write_all_categories'.
2013
2014         * locale/programs/locales.h (ctype_finish, ctype_output): New
2015         charset argument.
2016
2017         * locale/programs/locfile.c (write_all_categories): Call
2018         `ctype_output' with additional argument charset.
2019
2020         * posix/getconf.c (vars): Add _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
2021         and _POSIX_PRIO_IO definitions.
2022
2023         * posix/posix2_lim.h: Add definition of _POSIX2_CHARCLASS_NAME_MAX
2024         and CHARCLASS_NAME_MAX.
2025
2026         * posix/unistd.h: Document _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
2027         and _POSIX_PRIO_IO.
2028
2029         * stdlib/grouping.h: Prepare for use in wide string functions.
2030
2031         * stdlib/stdlib.h: Correct prototypes for __strto*_internal
2032         functions.
2033
2034         * stdlib/strtod.c: Extend for use as `wcsto{f,d,ld}'.
2035
2036         * stdlib/strtol.c: Extend for use as `wcsto{l,ul,q,uq}'.
2037
2038         * string/strcoll.c: Extend for use as `wcscoll'.
2039
2040         * string/strxfrm.c: Extend for use as `wcsxfrm'.
2041
2042         * sysdeps/generic/confname.h: Add definition of _PC_SYNC_IO,
2043         _PC_ASYNC_IO, _PC_PRIO_IO and _SC_CHARCLASS_NAME_MAX.
2044
2045         * sysdeps/generic/stpncpy.c: Correct return value.
2046
2047         * sysdeps/posix/fpathconf.c: Add handling of _PC_SYNC_IO,
2048         _PC_ASYNC_IO, and _PC_PRIO_IO.
2049
2050         * sysdeps/posix/sysconf.c: Add handling of _SC_REALTIME_SIGNALS,
2051         _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
2052         _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC,
2053         _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
2054         _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES,
2055         _SC_SHARED_MEMORY_OBJECTS, and _SC_CHARCLASS_NAME_MAX.
2056         * sysdeps/stub/sysconf.c: Ditto.
2057         * sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.
2058
2059         * sysdeps/unix/sysv/linux/Dist: Add sys/sysctl.h.
2060
2061         * sysdeps/unix/sysv/linux/Makefile [subdir == misc]
2062         (sysdep_routines): Add s_sysctl and sysctl.
2063
2064         * sysdeps/unix/sysv/linux/sys/mman.h: Add declaration of mremap.
2065
2066         * sysdeps/unix/sysv/linux/sys/socket.h: New file.  Wrapper
2067         around kernel header.
2068
2069         * sysdeps/unix/sysv/linux/sys/sysctl.h: New file.  Define
2070         interface to `sysctl' function.
2071
2072         * sysdeps/unix/sysv/linux/syscalls.list: Add mremap and _sysctl.
2073
2074         * sysdeps/unix/sysv/linux/sysconf.c: Add handling of
2075         _SC_CHARCLASS_NAME_MAX.
2076
2077         * sysdeps/unix/sysv/linux/sysctl.c: new file.  Implement caller
2078         of _sysctl system call.
2079
2080         * sysvipc/Makefile (routines): Add ftok.
2081
2082         * sysvipc/ftok.c: use variable `proj_id' not `id'.  Patch by
2083         David Mosberger-Tang.
2084
2085         * wcsmbs/Makefile (routines): Add wcpcpy, wcpncpy, wcstol,
2086         wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
2087         wcsxfrm, wcwidth, and wcswidth.
2088
2089         * wcsmbs/wchar.h: Add declarations for wcpcpy, wcpncpy, wcstol,
2090         wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
2091         wcsxfrm, wcwidth, and wcswidth.
2092         Declare internal interfaces for wcsto* functions.
2093         [OPTIMIZE]: Define inline functions for wcsto* functions to
2094         call internal interface functions.
2095
2096         * wcsmbs/wcpcpy.c, wcsmbs/wcpncpy.c: New files.  Implement non-
2097         standard function equivalent to stpcpy/stpncpy.
2098
2099         * wcsmbs/wcscoll.c: Implement `wcscoll' function by using
2100         `strcoll' implementation.
2101
2102         * wcsmbs/wcscpy.c, wcsmbs/wcsncpy.c: Use wint_t instead of
2103         wchar_t.
2104
2105         * wcsmbs/wcstod.c: Implement `wcstod' function by using `strtod'
2106         implementation.
2107         * wcsmbs/wcstof.c: Same for `wcstof'.
2108         * wcsmbs/wcstold.c: Same for `strtold'.
2109
2110         * wcsmbs/wcstol.c: Implement `wcstol' function by using `strtol'
2111         implementation.
2112         * wcsmbs/wcstoq.c: Same for `wcstoq'.
2113         * wcsmbs/wcstoul.c: Same for `wcstoul'.
2114         * wcsmbs/wcstouq.c: Same for `wcstouq'.
2115
2116         * wcsmbs/wcswidth.c: Implement `wcswidth' function from X/Open
2117         CAE.
2118         * wcsmbs/wcwidth.c: Ditto for `wcwidth'.
2119         * wcsmbs/wcwidth.h: Common function for definitions of above two
2120         functions.
2121
2122         * wcsmbs/wcsxfrm.c: Implement `wcsxfrm function by using
2123         `strxfrm implementation.
2124
2125         * wctype/wctype.c: Remove case for `wctype_t' being 16 bit type.
2126
2127         * wctype/wctype.h (wint_t): Protect against multiple definition.
2128         (wctype_t): Always define as `unsigned long int'.
2129
2130         * wctype.h: New file.  Wrapper around wctype/wctype.h.
2131
2132 Tue Apr 30 17:30:46 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2133
2134         * hurd/hurdsig.c (_hurdsig_abort_rpcs): Add timeout argument to
2135         interrupt_operation call.
2136         (_hurdsig_interrupt_timeout): New variable.
2137
2138         * hurd/report-wait.c (describe_number): Correctly allocate space
2139         in DESCRIPTION for the digits in I.
2140
2141 Mon Apr 29 00:11:59 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2142
2143         * hurd/hurdstartup.c (_hurd_split_args): Function removed.
2144         (_hurd_startup): Use argz functions.
2145
2146         * hurd/hurdexec.c: Use argz functions.
2147
2148         * errno.h [!__error_t_defined] (error_t): New type.
2149         * sysdeps/mach/hurd/errnos.awk: #define __error_t_defined after the
2150         typedef in errnos.h.
2151
2152         * string/envz.c, string/envz.h: New files.
2153         * string/argz.h, string/argz-append.c, string/argz-count.c,
2154         string/argz-create.c, string/argz-delete.c, string/argz-extract.c,
2155         string/argz-insert.c, string/argz-stringify.c: New files.
2156         * string/Makefile (routines): Add envz, argz-*.
2157         (headers): Add argz.h, envz.h.
2158
2159 Sun Apr 28 14:14:35 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2160
2161         * sysdeps/unix/sysv/linux/i386/Makefile: New file.
2162
2163 Wed Apr 24 17:35:30  Ulrich Drepper  <drepper@cygnus.com>
2164
2165         * inet/netinet/in.h, socket/sys/socket.h: Move to
2166         sysdeps/generic/netinet/in.h, sysdeps/generic/sys/socket.h.
2167         * netinet/in.h, sys/socket.h: Remove file.
2168
2169         * misc/Makefile (routines): Add fdatasync.
2170
2171         * posix/Makefile (headers): Add sched.h.
2172         (routines): Add nanosleep, sched_setp, sched_getp, sched_sets,
2173         sched_gets, sched_yield, sched_primax, sched_primin, sched_rr_gi.
2174
2175         * posix/getconf.c (vars): Add entries for _POSIX_REALTIME_SIGNALS,
2176         _POSIX_PRIORITY_SCHEDULING, _POSIX_TIMERS, _POSIX_ASYNCHRONOUS_IO,
2177         _POSIX_PRIORITIZED_IO, _POSIX_SYNCHRONIZED_IO, _POSIX_FSYNC,
2178         _POSIX_MAPPED_FILES, _POSIX_MEMLOCK, _POSIX_MEMLOCK_RANGE,
2179         _POSIX_MEMORY_PROTECTION, _POSIX_MESSAGE_PASSING,
2180         _POSIX_SEMAPHORES, _POSIX_SHARED_MEMORY_OBJECTS.
2181
2182         * posix/sched.h: New file.  Header for POSIX scheduling interface.
2183
2184         * posix/unistd.h: Describe options from POSIX.4.
2185         Add declaration of fdatasync.
2186
2187         * sysdeps/generic/confname.h: Add definition for
2188          _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS,
2189         _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO,
2190         _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
2191         _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING,
2192         _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS.
2193
2194         * sysdeps/generic/fdatasync.c: New file.  Default implementation
2195         simply uses fsync.
2196
2197         * sysdeps/generic/netinit/in.h: Moved to here from inet/netinet/in.h.
2198
2199         * sysdeps/generic/schedbits.h: New file.  System dependent
2200         defintion for POSIX.4 scheduling interface.
2201
2202         * sysdeps/generic/sys/socket.h: Moved to here from socket/sys/socket.h.
2203
2204         * sysdeps/stub/nanosleep.c, sysdeps/stub/sched_getp.c,
2205         sysdeps/stub/sched_gets.c, sysdeps/stub/sched_primax.c,
2206         sysdeps/stub/sched_primin.c, sysdeps/stub/sched_rr_gi.c,
2207         sysdeps/stub/sched_setp.c, sysdeps/stub/sched_sets.c,
2208         sysdeps/stub/sched_yield.c: New file:  Stub implementation
2209         for systems missing these POSIX.4 system calls.
2210
2211         * sysdeps/unix/sysv/linux/gnu/types.h,
2212         sysdeps/unix/sysv/linux/ioctls.h: Use kernel header for
2213         data type definitions.
2214
2215         * sysdeps/unix/sysv/linux/netinet/in.h: New file.  Linux
2216         specific version.
2217
2218         * sysdeps/unix/sysv/linux/posix_opt.h: New file.  Define POSIX
2219         options applicable for Linux.
2220
2221         * sysdeps/unix/sysv/linux/syscalls.list: Add definitions for
2222         fdatasync, nanosleep, sched_setparam, sched_getparam,
2223         sched_setscheduler, sched_getscheduler, sched_yield,
2224         sched_get_priority_max, sched_get_priority_min, and
2225         sched_rr_get_interval.
2226
2227         * sysdeps/unix/sysv/linux/sysconf.c: Add handling of POSIX.4
2228         options.
2229
2230         * sysdeps/unix/sysv/linux/termbits.h: Use kernel headers.
2231
2232         * time/sys/time.h: Remove definition of `struct timespec'.
2233
2234         * time/time.h (struct timespec): Move definition to here.
2235
2236 Fri Apr 26 01:55:07 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2237
2238         * malloc/mcheck.c (mabort): Use __libc_fatal only #ifdef _LIBC.
2239
2240 Thu Apr 25 15:49:57 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2241
2242         * sysdeps/mach/hurd/getcwd.c (__getcwd): When we find a match in
2243         the scan for a name, avoid doing another readdir (which overwrites
2244         NENTRIES, and was resulting in a bogus ENOENT).
2245
2246         * sysdeps/mach/hurd/fcntl.c (__fcntl): Add missing break after F_SETFL.
2247
2248 Wed Apr 24 00:22:42 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2249
2250         * stdio/internals.c (seek_to_target): Set errno if seek function
2251         returns the wrong offset.
2252
2253         * wcsmbs/wcsrtombs.c [! EILSEQ] (EILSEQ): Define to EINVAL.
2254         * wcsmbs/wcrtomb.c: Likewise.
2255
2256         * stdio-common/vfprintf.c: Include errno.h.
2257
2258 Tue Apr 23 21:09:14 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2259
2260         * hurd/hurdsig.c (signal_allowed): For SIGIO/SIGURG, add a new
2261         variable, LUCKY, to use instead of setting D to -1 (which fouls
2262         things up).
2263
2264 Tue Apr 23 15:56:56 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2265
2266         * config.h.in (HAVE_REGEX): New macro.
2267
2268         * sysdeps/unix/syscalls.list: Add statfs, fstatfs.
2269         * io/Makefile (headers): Add sys/statfs.h, statfsbuf.h.
2270         (routines): Add statfs, fstatfs.
2271         * sysdeps/mach/hurd/statfs.c: New file.
2272         * sysdeps/mach/hurd/fstatfs.c: New file.
2273         * sysdeps/stub/fstatfs.c: New file.
2274         * sysdeps/stub/statfs.c: New file.
2275         * io/sys/statfs.h: New file.
2276         * sysdeps/generic/statfsbuf.h: New file.
2277         * sysdeps/unix/sysv/linux/statfsbuf.h: New file.
2278
2279 Tue Apr 23 00:06:47 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2280
2281         * malloc/Makefile (gmalloc-routines): Add valloc back here.
2282         (dist-routines): Remove it here.
2283         * malloc/valloc.c [_MALLOC_INTERNAL && GMALLOC_INHIBIT_VALLOC]
2284         (ELIDE_VALLOC): Define it.
2285         [! ELIDE_VALLOC]: Make whole file conditional on this.
2286         * malloc/malloc.h (valloc): Make decl conditional on
2287         [!GMALLOC_INHIBIT_VALLOC] instead of [!emacs].
2288
2289 Mon Apr 22 00:02:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2290
2291         * MakeTAGS: Include version.mk.
2292         (po/SYS_libc.pot): Add missing / in sed s cmd.
2293
2294 Sat Apr 20 18:13:00 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2295
2296         * Makerules (no-whole-archive): Test $(have-no-whole-archive), not
2297         $(libc_cv_ld_no_whole_archive).
2298
2299 Sat Apr 20 17:07:17 1996  Ulrich Drepper  <drepper@cygnus.com>
2300
2301         * assert/assert.h, ctype/ctype.h, dirent/dirent.h, errno.h,
2302         grp/grp.h, io/fcntl.h, io/sys/stat.h, io/utime.h, locale/locale.h,
2303         math/math.h, misc/nlist.h, misc/sgtty.h, misc/sys/file.h,
2304         misc/sys/ioctl.h, misc/sys/uio.h, posix/sys/times.h,
2305         posix/sys/types.h, posix/sys/utsname.h, posix/sys/wait.h,
2306         posix/tar.h, posix/wordexp.h, pwd/pwd.h, resource/sys/vlimit.h,
2307         resource/sys/vtimes.h, setjmp/setjmp.h, signal/signal.h,
2308         stdio-common/printf.h, stdlib/alloca.h, stdlib/stdlib.h,
2309         string/string.h, sysdeps/generic/sigaction.h,
2310         sysdeps/generic/sigset.h, sysdeps/generic/sys/ptrace.h,
2311         sysdeps/generic/sys/ptrace.h, sysdeps/unix/bsd/osf/sigaction.h,
2312         sysdeps/unix/sysv/linux/sys/ptrace.h,
2313         sysdeps/unix/sysv/minix/sigaction.h,
2314         sysdeps/unix/sysv/sco3.2.4/sigaction.h,
2315         sysdeps/unix/sysv/sysv4/sigaction.h,
2316         sysdeps/unix/sysv/sysv4/sigset.h, termios/termios.h,
2317         time/sys/time.h, time/time.h: Fix copyright comment.
2318
2319 Fri Apr 19 00:49:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2320
2321         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): If uids and gids are
2322         not given in stack aux vector, fetch them with syscalls.
2323
2324         * stdlib/rpmatch.c (rpmatch: try): Take new arg NOMATCH, return value
2325         for nonmatching nonerror (instead of !MATCH).
2326         (rpmatch): Use it, so we return -1 when NOEXPR doesn't match either.
2327
2328         * resolv/getnetnamadr.c (getnetbyaddr): Use u_int32_t instead of
2329         unsigned long for variable NET2.
2330
2331         * time/etcetera, time/europe, time/solar89: Updated from ADO's 96e.
2332
2333 Tue Apr  9 14:37:31 1996  Ulrich Drepper  <drepper@cygnus.com>
2334
2335         * catgets/Makefile, catgets/catgets.c, catgets/catgetsinfo.h,
2336         catgets/config.h, catgets/gencat.c, catgets/nl_types.h,
2337         catgets/open_catalog.c: New files.  Implementation of XPG4
2338         compliant catgets() function and needed tools.
2339         * Makefile (subdirs): Add catgets.
2340
2341 Thu Apr 18 23:36:11 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2342
2343         * math/Makefile (CPPFLAGS): Append -D__NO_MATH_INLINES.
2344
2345 Wed Apr 10 20:48:43 1996  Ulrich Drepper  <drepper@cygnus.com>
2346
2347         * stdio-common/vfprintf.c: Correct some typos.
2348
2349         * sysdeps/libm-ieee754/w_gammaf.c, sysdeps/libm-ieee754/w_lgamma.c,
2350         sysdeps/libm-ieee754/w_lgammaf.c: Reference signgam instead of
2351         __signgam.
2352
2353 Thu Apr 18 21:07:27 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2354
2355         * Makerules (no-whole-archive): New variable.
2356         (build-shlib): Use it.
2357         * elf/Makefile (libdl.so): Use it.
2358         * configure.in (libc_cv_ld_no_whole_archive): New check for
2359         --no-whole-archive.
2360         * config.make.in (have-no-whole-archive): New variable.
2361
2362         * stdio-common/printf_fp.c: Increase fudge factor for BIGNUM_SIZE calc
2363         from 3 to 4.
2364
2365         * Make-dist: Include version.mk.
2366         (version, release): Variables removed.
2367         * Makeconfig (version.mk): New target.
2368
2369 Fri Apr 19 01:42:18 1996  Ulrich Drepper  <drepper@cygnus.com>
2370
2371         * locale/Makefile (headers): Add langinfo.h.
2372         (CPPFLAGS): Remove -Iliblib.
2373
2374 Mon Apr 15 16:49:04 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2375
2376         * malloc/memalign.c, malloc/malloc.h [__DJGPP__ == 1]: Elide memalign
2377         function and its declaration.
2378
2379 Wed Apr 10 14:13:45 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2380
2381         * hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Store
2382         MACH_PORT_DEAD in the thread reply-port variable before destroying
2383         the signal handler's reply port, to avoid infinite recursion.
2384
2385 Mon Apr  8 18:27:17 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2386
2387         * sysdeps/mach/gettimeofday.c (__gettimeofday): Don't fail if the
2388         user passes in TZ, just zero it (emacs passes in a dummy variable,
2389         and rms says the hurd should be the one to change).
2390
2391 Sun Apr  7 10:37:30 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2392
2393         * sysdeps/mach/hurd/fork.c: Don't leak send rights to the child's proc
2394         port in the parent.
2395
2396 Fri Apr  5 17:43:41 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2397
2398         * sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Store
2399         MACH_PORT_DEAD in the thread reply-port variable before destroying
2400         the signal handler's reply port to avoid infinite recursion.
2401         * sysdeps/mach/hurd/mig-reply.c (__mig_dealloc_reply_port): Only
2402         attempt to destroy PORT if it's a valid port name.
2403
2404 Wed Apr  3 17:10:44 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2405
2406         * extra-lib.mk: Put libs in $(common-objpfx) instead of $(objpfx).
2407         * Makerules ($(install-lib) rules): Find libs with $(common-objpfx)
2408         instead of $(objpfx).
2409
2410 Tue Apr  2 21:27:01 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2411
2412         * posix/glob.c (glob_pattern_p): Avoid scanning past eos if
2413         the pattern ends with a backslash and quoting is enabled.
2414         * posix/fnmatch.c (fnmatch): Likewise; return FNM_NOMATCH for such
2415         patterns.
2416
2417 Mon Apr  1 13:34:55 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2418
2419         * stdio-common/tst-printf.c (main): Add new test case.
2420
2421         * sysdeps/generic/setenv.c (unsetenv): Use old-style definition.
2422
2423 Mon Apr  1 11:39:10  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
2424
2425         * stdlib/strtod.c (STRTOD): Fix handling of American style FP
2426         numbers.
2427
2428         * stdio-common/vfprintf.c (vfprintf): Don't increment format
2429         string pointer twice after seeing `*'.
2430
2431 Sun Mar 31 17:31:54 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2432
2433         * MakeTAGS (po/SYS_libc.pot): Prepend header processed from
2434         po/header.pot.
2435
2436 Sun Mar 31 18:07:32 1996  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
2437
2438         * locale/Makefile (others, install-bin): Compiling locale works
2439         again.
2440         (locale-modules): locale has no --dump option anymore.  Remove
2441         ctypedump.
2442
2443         * locale/programs/config.h: Don't declare euidaccess.
2444         Use #include_next to get libc's config.h.
2445
2446         * locale/programs/ctypedump.c: Not needed anymore.  Dump option
2447         of locale is removed.
2448
2449         * locale/programs/locale.c: Adapt for new locale implementation.
2450
2451         * stdio-common/_itoa.h (_itoa_word): Define as inline function.
2452         * stdio-common/_itoa.c (_itoa_lower_digits, _itoa_upper_digits):
2453         Don't declare static because used in _itoa_word inline function.
2454
2455         * stdio-common/printf-parse.h: Prepare for use in wide-char
2456         stdio implementation.
2457         (find_spec): Take additional argument to work with mbrlen instead
2458         of mblen.
2459         (parse_one_spec): Ditto.
2460
2461         * stdio-common/printf-prs.c: Prepare for use in wide-char
2462         stdio implementation.
2463
2464         * stdio-common/printf.h: Mark change for wide-char handling.
2465         Changing it now would result in incompatibilities.
2466
2467         * stdio-common/vfprintf.c: New and fast implementation.
2468
2469         * wcsmbs/Makefile (routines): Remove pre-ISO C multibyte functions
2470         mbsadvance, mbscat, mbschr, mbscmp, mbscpy, mbsdup, mbslen,
2471         mbsncat, mbsncmp, mbsncpy, mbsrchr, mbstomb.
2472         Change wcswcs to wcsstr.
2473         Add wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset, btowc, wctob,
2474         mbsinit, mbrlen, mbrtowc, wcrtomb, mbsrtowcs, wcsrtombs.
2475
2476         * wcsmbs/btowc.c, wcsmbs/mbrlen.c, wcsmbs/mbrtowc.c,
2477         wcsmbs/mbsinit.c, wcsmbs/mbsrtowcs.c, wcsmbs/wchar.h,
2478         wcsmbs/wcrtomb.c, wcsmbs/wcsrtombs.c, wcsmbs/wcsstr.c,
2479         wcsmbs/wctob.c, wcsmbs/wmemchr.c, wcsmbs/wmemcmp.c,
2480         wcsmbs/wmemcpy.c, wcsmbs/wmemmove.c, wcsmbs/wmemset.c: New
2481         function according to ISO C amendment 1.
2482         * wchar.h: Wrapper around "wcsmbs/wchar.h".
2483
2484         * wcsmbs/wcscat.c, wcsmbs/wcschr.c, wcsmbs/wcscmp.c,
2485         wcsmbs/wcscpy.c, wcsmbs/wcscspn.c, wcsmbs/wcsdup.c,
2486         wcsmbs/wcslen.c, wcsmbs/wcsncat.c, wcsmbs/wcsncmp.c,
2487         wcsmbs/wcsncpy.c, wcsmbs/wcspbrk.c, wcsmbs/wcsrchr.c,
2488         wcsmbs/wcsspn.c, wcsmbs/wcstok.c: Changed to conform with ISO C
2489         amendment 1.
2490
2491         * wcsmbs/mbsadvance.c, wcsmbs/mbscat.c, wcsmbs/mbschr.c,
2492         wcsmbs/mbscmp.c, wcsmbs/mbscpy.c, wcsmbs/mbsdup.c,
2493         wcsmbs/mbslen.c, wcsmbs/mbsncat.c, wcsmbs/mbsncmp.c,
2494         wcsmbs/mbsncpy.c, wcsmbs/mbsrchr.c, wcsmbs/mbstomb.c,
2495         wcsmbs/mbstr.h, wcsmbs/wcstr.h, wcsmbs/wcswcs.c: Removed.
2496         Implement functions from early drafts, not part of final standard.
2497
2498 Sun Mar 31 16:50:41 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2499
2500         * setjmp/setjmp.h (jmp_buf): Change gratuitous struct tag name to
2501         __jmp_bug_tag so its C++ implicit typedef does not conflict with the
2502         __jmp_buf typedef.
2503
2504         * Makerules (BUILD_CFLAGS) [! objdir]: Use $(..)config.h when
2505         compiling in the source directories.
2506
2507 Fri Mar 29 16:26:35 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2508
2509         * sysdeps/libm-ieee754/w_gamma.c: Use signgam instead of __signgam.
2510         * sysdeps/libm-ieee754/s_signgam.c: Undo last change.
2511
2512 Fri Mar 29 11:29:46 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2513
2514         * sysdeps/libm-ieee754/s_signgam.c (signgam): Renamed to __signgam,
2515         with weak alias signgam.
2516
2517 Thu Mar 28 18:32:34 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2518
2519         * Makeconfig (+cflags, +gcc-nowarn): Use gcc flags unconditionally.
2520
2521 Thu Mar 28 14:22:51 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2522
2523         * sunrpc/rpc_main.c (main): Call textdomain.
2524
2525         * MakeTAGS (XGETTEXTFLAGS-siglist.pot, XGETTEXTFLAGS-errlist.pot): Add
2526         --no-location.
2527         (all-pot): Replace $(subdirs) files with $P/subdirs.pot.
2528         ($P/subdirs.pot): New target.
2529         ($P/SYS_libc.pot): Add -n switch.
2530
2531         * locale/locale.h (LC_*): Values reordered to match Linux libc.
2532
2533         * sysdeps/mach/hurd/kill.c: If proc_pid2task gives us MACH_PORT_NULL
2534         the process is a zombie; send no messages and return success.
2535
2536 Thu Mar 28 11:53:26 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2537
2538         * wctype/cname-lookup.h: Find localeinfo.h in ../locale.
2539         * wctype/wctype.c: Likewise.
2540         * wctype/wctrans.c: Likewise.
2541
2542 Thu Mar 28 03:00:43 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
2543
2544         * locale/nl_langinfo.c (nl_langinfo): Use DATA->values instead of
2545         DATA->strings.
2546
2547         * Makerules (BUILD_CFLAGS): Remove $(common-objpfx) from config.h.
2548
2549         * configure.in (.weakext check): Fix asm code to use .weakext instead
2550         of .weak!  Fix bogus test calls.
2551         * configure: Regenerated.
2552
2553 Thu Mar 28 03:25:10 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2554
2555         * locale/programs/xmalloc.c: Test _LIBC as well as STDC_HEADERS.
2556
2557         * locale/programs/ld-collate.c (collate_finish): Use error_at_line
2558         instead of error_with_loc.
2559
2560         * locale/weight.h: Use u_int32_t instead of u32_t.
2561         * string/strxfrm.c: Likewise.
2562
2563         * string/strxfrm.c: Find weight.h in ../locale; don't #include
2564         "localeinfo.h".
2565         * string/strcoll.c: Likewise.
2566
2567         * intl/Makefile (copysrc): Add missing > in sed cmd.
2568
2569 Sat Mar 23 17:52:49 1996  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
2570
2571         * Makeconfig: Rename Makefile variable nlsdir to i18ndir and
2572         change value to $(datadir)/i18n.  `nls' is not an appropriate
2573         name.
2574
2575         * Makefile (subdirs): Add new subdir wctype.
2576
2577         * ctype/ctype-info.c: Add new global variable __ctype_names
2578         and initialize from _nl_C_LC_CTYPE.
2579
2580         * ctype/ctype.h: In P1003.3b/D11 `alnum' is a separate character
2581         class.  Use bit 11.
2582         [_ISbit]: Protect definition of bitmasks because they are also
2583         used in wctype.h.
2584
2585         * libio/genops.c (_IO_sputbackc, _IO_sungetc): Clear EOF flag
2586         after successfully pushing back a character.
2587
2588         Fundamental changes in locale implementation.  Almost nothing
2589         from the old code is used anymore.
2590         * locale/charmap.c, locale/collate.c, locale/config.h,
2591         locale/ctypedump.c, locale/hash.h, locale/keyword.gperf,
2592         locale/keyword.h, locale/loadlocale.c, locale/locale-ctype.c,
2593         locale/locale.c locale/localeconv.c, locale/localedef.c,
2594         locale/localedef.h, locale/locfile-hash.c, locale/locfile-lex.c,
2595         locale/locfile-parse.c, locale/messages.c, locale/monetary.c,
2596         locale/numeric.c, locale/setlocale.c, locale/token.h,
2597         locale/xmalloc.c: Removed.
2598
2599         * locale/Makefile: Update for new locale implementation with
2600         program source code distributed in subdir.
2601
2602         * locale/categories.def, locale/iso-4217.def: Updated file
2603         for new locale implementation.
2604
2605         * locale/langinfo.h: Updated for new locale implementation.
2606         (ERA_D_T_FMT, ERA_T_FMT): New official values according to
2607         P1003.2b/D11.
2608         (_NL_COLLATE_NRULES, _NL_COLLATE_RULES, _NL_COLLATE_HASH_SIZE,
2609         _NL_COLLATE_HASH_LAYERS, _NL_COLLATE_TABLE_EB,
2610         _NL_COLLATE_TABLE_EL, _NL_COLLATE_UNDEFINED, _NL_COLLATE_EXTRA_EB,
2611         _NL_COLLATE_EXTRA_EL, _NL_CTYPE_NAMES_EB, _NL_CTYPE_NAMES_EL,
2612         _NL_CTYPE_HASH_SIZE, _NL_CTYPE_HASH_LAYERS, _NL_CTYPE_CLASS_NAMES,
2613         _NL_CTYPE_MAP_NAMES, _NL_CTYPE_WIDTH): New internal values for
2614         extended LC_CTYPE and LC_COLLATE implementation.
2615
2616         * locale/programs/simple-hash.c, locale/programs/simple-hash.h,
2617         locale/programs/xmalloc.c, locale/programs/xstrdup.c: Helper functions
2618         for locale related programs.
2619
2620         * locale/C-collate.c, locale/C-ctype.c,
2621         locale/C-messages.c, locale/C-monetary.c,
2622         locale/C-numeric.c, locale/C-time.c,
2623         locale/lc-collate.c, locale/lc-ctype.c,
2624         locale/lc-messages.c, locale/lc-monetary.c,
2625         locale/lc-numeric.c, locale/lc-time.c: New implementation of locale
2626         functions, and new generated "C" locale data.
2627
2628         * locale/loadlocale.c: Now handles word fields in locale binary
2629         automatically by changing the endianess if necessary.
2630
2631         * locale/localeinfo.h (LIMAGIC): Changed magic number because
2632         of incompatible changes.
2633         (locale_data): Changed definition to allow word as a value type.
2634         (coll_sort_rule): Values for collation sorting mode.
2635         (_NL_CURRENT_WORD): New macro to access word value of locale entry.
2636         (__collate_table, __collate_extra): Declare new global variables
2637         for collation tables.
2638
2639         * locale/programs/charmap-kw.gperf, locale/programs/charmap-kw.h,
2640         locale/programs/charmap.c, locale/programs/charset.c,
2641         locale/programs/charset.h, locale/programs/config.h,
2642         locale/programs/ctypedump.c, locale/programs/ld-collate.c,
2643         locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
2644         locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
2645         locale/programs/ld-time.c, locale/programs/linereader.c,
2646         locale/programs/linereader.h, locale/programs/locale.c,
2647         locale/programs/localedef.c, locale/programs/locales.h,
2648         locale/programs/locfile-kw.gperf, locale/programs/locfile-kw.h,
2649         locale/programs/locfile-token.h, locale/programs/locfile.c,
2650         locale/programs/locfile.h, locale/programs/stringtrans.c,
2651         locale/programs/stringtrans.h: Implementation of locale related
2652         programs.
2653
2654         * locale/weight.h: Functions to access collation tables.
2655
2656         * posix/unistd.h: Define _POSIX2_LOCALEDEF.
2657
2658         * stdio-common/printf_fp.c: Fix bug with printing certain numbers
2659         < 10^-1.  Reported by Bill Metzenthen.
2660
2661         * stdio-common/tfformat.c: Add new test for above bug.
2662
2663         * string/strcoll.c, string/strxfrm.c: Real implementation of
2664         string collation according to ISO C.
2665
2666         * wctype/Makefile, wctype/cname-lookup.h, wctype/iswctype.c,
2667         wctype/test_wctype.c, wctype/towctrans.c, wctype/wcfuncs.c,
2668         wctype/wctrans.c, wctype/wctype.c, wctype/wctype.h: New files.
2669         Implementation of wide character classes and mapping.
2670
2671 Wed Mar 27 14:52:11 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2672
2673         * elf/rtld.c (dl_main): Call _dl_sysdep_start_cleanup after
2674         _dl_relocate_object loop.  Avoid relocating RTLD_MAP in that loop, and
2675         do it individually if necessary after _dl_sysdep_start_cleanup call.
2676
2677         * stdlib/Makefile (mpn-routines): Add divrem.
2678
2679 Tue Mar 26 22:54:14  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
2680
2681         * stdio-common/printf_fp.c (__printf_fp): Use mpn_divmod
2682         instead of __mpn_divmod.
2683
2684 Wed Mar 27 10:26:21 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2685
2686         * sysdeps/alpha/setjmp.S: Must establish global pointer before
2687         address of __sigsetjmp_aux can be loaded.
2688
2689 Wed Mar 27 02:23:19 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
2690
2691         * sysdeps/i386/i586/memset.S: New file.  Highly optimized
2692         version for i586 contributed by Torbjorn Granlund.
2693         Adapted for use as bzero.
2694         * sysdeps/i386/i586/bzero.S: Use sysdeps/i386/i586/memset.S
2695         code to implement bzero().
2696
2697 Tue Mar 26 20:01:17 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2698
2699         * stdlib/Makefile (mpn-routines): Remove divmod.
2700
2701 Tue Mar 26 15:40:14 1996  Brendan Kehoe  <brendan@zen.org>
2702
2703         * sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h (NO_UNDERSCORES): Use
2704         wrapped with #ifndef, to avoid config.h defining it.
2705
2706 Mon Mar 25 13:10:04 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2707
2708         * malloc/realloc.c (_realloc_internal): In case of growing large
2709         block, leave _heaplimit zero across _malloc_internal call.
2710
2711         * intl/Makefile [gettext-srcdir]: Use gpl2lgpl.sed on copied sources.
2712
2713 Mon Mar 25 03:35:16 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2714
2715         * malloc/malloc.c (morecore): Don't attempt recursive realloc of info
2716         table when _heaplimit==0 during realloc growing large block.
2717
2718         * MakeTAGS (extract): Remove /dev/null from xgettext command line.
2719         (text-srcs): New variable: extract only C sources from $(tags_sources).
2720         (po/$(domain).pot): Depend on that.
2721         If it's empty, cp /dev/null $@ instead of $(extract).
2722
2723         * misc/Makefile (headers): Add iovec.h.
2724         * sysdeps/unix/sysv/linux/iovec.h: New file.
2725         * sysdeps/generic/iovec.h: New file.
2726         * misc/sys/uio.h (struct iovec): Type replaced with #include <iovec.h>.
2727
2728         * configure.in (NO_UNDERSCORES check): Use AC_TRY_LINK instead of
2729         AC_TRY_COMPILE.
2730
2731         * misc/sys/cdefs.h [__USE_BSD] (const, signed, volatile): Move these
2732         macros inside [! __STDC__].
2733
2734         * stdlib/rpmatch.c: New file.
2735         * stdlib/Makefile (routines): Add rpmatch.
2736         * stdlib/stdlib.h [__USE_SVID]: Declare rpmatch.
2737
2738         * MakeTAGS (MSGJOIN): Variable removed.
2739         (po/SYS_libc.pot): Use $(XGETTEXT) instead of $(MSGJOIN).
2740
2741 Wed Mar 20 20:08:46 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2742
2743         * sysdeps/unix/sysdep.h: Don't define C_SYMBOL_NAME.
2744
2745         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Don't define
2746         NO_UNDERSCORES.
2747
2748 Thu Mar 21 11:19:15 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2749
2750         * mach/devstream.c (input): Translate \r to \n on input.
2751
2752 Wed Mar 20 11:28:49 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2753
2754         * stdio-common/printf.h, stdio-common/printf_fp.c,
2755         stdio-common/vfprintf.c: Place const in parameter list at
2756         correct place.
2757
2758 Wed Mar 20 23:58.12 1996  Ulrich Drepper <drepper@gnu.ai.mit.edu>
2759
2760         * sysdeps/i386/ldbl2mpn.c: Copy of former version of
2761         sysdeps/ieee754/ldbl2mpn.c.
2762         * sysdeps/ieee754/ldbl2mpn.c: Remove i386 specific unification.
2763         Reported by Andreas Schwab.
2764
2765 Wed Mar 20 19:58:43 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2766
2767         * version.c: Include version.h to define RELEASE and VERSION macros.
2768         (__libc_release, __libc_version): Use them.
2769         * locale/SYS_libc.c (_libc_intl_domainname): Include ../version.h and
2770         use VERSION to define domainname as `SYS_GNU_libc-VERSION'.
2771         * Make-dist (rel+vers): Snarf the macro values from version.h.
2772
2773         * MakeTAGS (extract): Pass $(XGETTEXTFLAGS-$(@F)).
2774         (XGETTEXTFLAGS-siglist.pot, XGETTEXTFLAGS-errlist.pot): New variables;
2775         pass -a for these files.
2776
2777         * Makerules (po/%.pot): Depend on FORCE target so recursive make is
2778         always run.
2779
2780 Mon Mar 18 22:54:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2781
2782         * sysdeps/unix/sysv/linux/wait3.c: New file.
2783         * sysdeps/unix/sysv/linux/wait.c: Use the bsd4.4 wait, not the
2784         one from sysdeps/posix.
2785
2786 Wed Mar 20 09:42:11 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2787
2788         * sysdeps/unix/bsd/waitflags.h (WNOREAP): New macro.
2789
2790         * elf/dl-load.c (_dl_map_object_from_fd): Always set L->l_type; if not
2791         lt_executable, then lt_library.
2792         * elf/rtld.c (dl_main): Don't set NEW->l_type after _dl_map_object.
2793
2794 Wed Mar 20 00:08:23 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2795
2796         * sysdeps/unix/sysv/linux/syscalls.list: Remove gtty and stty.
2797
2798 Tue Mar 19 16:31:06 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2799
2800         * sysdeps/unix/sysv/linux/termbits.h (CRTSCTS, CBAUDEX, VEOL,
2801         VEOL2, VMIN, VTIME): Corrected.
2802         (PAGEOUT, WRAP, VDSUSP): Deleted.
2803
2804 Tue Mar 19 14:18:42 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
2805
2806         * sysdeps/unix/readdir.c: Test [! _DIRENT_HAVE_D_RECLEN] instead of
2807         (sizeof (DP->d_name) > 1) to detect fixed-size dir entries.
2808
2809         * sysdeps/i386/fpu/__math.h (asinh): Call log1p instead of __log1p.
2810
2811         * math/math.h: Move M_* constants before __math.h include.
2812         [__NO_MATH_INLINES || __OPTIMIZE__]: Include __math.h only #if this.
2813
2814         * misc/efgcvt_r.c (ecvt_r): Declare floor, log10, fabs as weak extern.
2815         If log10 is not defined (i.e. no -lm), use stupid loop instead.
2816
2817         * features.h (__FAVOR_BSD): Define only if _BSD_SOURCE is defined
2818         and no other _*_SOURCE macro is.
2819         (_GNU_SOURCE): Don't define by default.
2820         * libc-symbols.h (_GNU_SOURCE): Define it.
2821
2822         * configure.in (alpha*-*-linux*): Unset $gnu_ld and $elf.
2823
2824         * config.make.in (weak-symbols): Variable removed.
2825         * configure.in (--with-weak-symbols): Option removed.
2826         (NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
2827         New tests.
2828
2829         * config.h.in (HAVE_WEAK_SYMBOLS): #undef removed.
2830         (NO_UNDERSCORES, HAVE_ASM_WEAK_DIRECTIVE, HAVE_ASM_WEAKEXT_DIRECTIVE):
2831         New #undefs.
2832         * libc-symbols.h: Use them instead of HAVE_WEAK_SYMBOLS.
2833
2834         * sysdeps/unix/bsd/pause.c: Moved to sysdeps/unix/common/pause.c.
2835
2836 Mon Mar  4 20:17:28 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2837
2838         * inet/inet_lnaof.c: Use u_int32_t instead of u_long.
2839         * inet/inet_mkadr.c: Likewise.
2840         * inet/inet_net.c: Likewise.
2841         * inet/inet_netof.c: Likewise.
2842         * inet/rcmd.c: Likewise.
2843         * inet/arpa/inet.h: Likewise.
2844         * inet/netinet/in.h: Likewise.
2845         * inet/netinet/tcp.h: Likewise.
2846         * inet/protocols/rwhod.h: Likewise.
2847         * inet/protocols/talkd.h: Likewise.
2848         * resolv/inet_addr.c: Likewise.
2849
2850         * sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX.
2851
2852         * sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents.
2853
2854         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add mount,
2855         umount.
2856
2857         * sysdeps/alpha/__math.h (atan, cabs): New functions.
2858
2859         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: new file (syscall
2860         expects set-value, not pointer to it).
2861
2862 Sun Feb 25 22:36:10 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2863
2864         * sysdeps/unix/sysv/linux/alpha/profil-counter.h: New file.
2865
2866         * gmon/gmon.c (__bb_head): new variable.
2867         (write_hist, write_call_graph, write_bb_counts): new functions.
2868         (_mcleanup): modified to call above functions instead of directly
2869         writing out gmon.out.
2870         * gmon/sys/gmon.h (struct __bb): New type.
2871         (struct gmonhdr): Type removed.
2872         (struct gmonparam): New member `log_hashfraction'.
2873         (GMONVERSION): Macro removed.
2874
2875         * gmon/sys/gmon_out.h, gmon/bb_exit_func.c,
2876         sysdeps/generic/bb_init_func.c, sysdeps/alpha/bb_init_func.S: new
2877         files.
2878         * gmon/Makefile (headers): Add sys/gmon_out.h.
2879         (routines): Add bb_init_func, bb_exit_func.
2880
2881         * gmon/mcount.c: Avoid integer division.
2882
2883 Wed Feb 21 23:56:41 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2884
2885         * sysdeps/alpha/setjmp.S: switched order in which sp and fp are
2886         passed to match what __sigsetjmp_aux() expects.
2887
2888 Tue Feb 20 11:33:46 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2889
2890         * sysdeps/unix/sysv/linux/alpha/syscalls.list (select, bind,
2891         connect, getpeername, getsockname, listen, recv, recvfrom,
2892         recvmsg, send, sendmsg, sendto, setsockopt, shutdown, socketpair):
2893         added to override same-name assembly file in the parent directory.
2894
2895         * stdlib/stdlib.h: add include of sys/types.h in front of random
2896         etc declarations to ensure int32_t is declared.
2897
2898         * stdlib/random.c, stdlib/random_r.c: replaced "long int" by int32_t
2899         where 32 bit integers are required.  Also change LONG_MAX into
2900         0x7fffffff since the intent is to turn off the sign bit in a
2901         32 bit integer.
2902
2903         * time/offtime.c (__offtime): Use Paul Eggert's code to deal
2904         with very large values for "days" (e.g., 64 bit values).
2905
2906 Mon Feb 19 22:22:12 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2907
2908         * stdlib/stdlib.h (__random, __random_r, random_r, struct
2909         random_data): use int32_t instead of `long int'.
2910
2911 Sat Feb 17 11:29:29 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2912
2913         * sysdeps/unix/sysv/linux/alpha/ioperm.c: new file.
2914
2915         * sysdeps/alpha/ffs.S: new file.
2916
2917         * sysdeps/alpha/fabs.c: File removed.
2918
2919         * time/tzfile.c (__tzfile_read): counter variable is i, *not*
2920         num_transitions!
2921
2922         * time/offtime.c: make capable of dealing with very large (64 bit)
2923         time_t values.  Use old algorithm until a year is reached that
2924         is an integer multiple of 400, then use DAYS_PER_400_YEARS to
2925         do the remainder in a single division.
2926
2927         * sysdeps/generic/ffs.c (ffs): fix variable declarations to
2928         be unsigned int, not unsigned long.
2929
2930         * string/test-ffs.c (main): add test case with all upper bits
2931         set.
2932
2933         * stdlib/tst-strtol.c: add tests cases for machines where
2934         sizeof(long)==8.
2935
2936         * stdlib/testrand.c (main): disallow rand() to return negative
2937         integers.
2938
2939         * stdlib/testmb.c (main): fix format to use %lx instead of %x.
2940
2941         * stdlib/stdlib.h: on 64 bit machines, declare
2942         struct random_data, __random(),  __random_r, and random_r to
2943         return "int" instead of "long int".
2944
2945         * stdlib/random_r.c: 64 bit machines use "int" instead of "long
2946         int".  Similarly, use INT_MAX instead of LONG_MAX.
2947
2948         * stdlib/random.c: on 64 bit machines, randtbl[] and __random[]
2949         need to operate on "int" instead of "long int".
2950
2951         * locale/locfile-hash.c (compute_hashval): make shifted constant
2952         a long to avoid loosing bits on 64 bit machines.
2953
2954         * dirent/tst-seekdir.c (main): fix confusing comment; print
2955         a line to mark point where directory is rewound.
2956
2957 Fri Feb 16 15:01:49 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2958
2959         * time/strftime.c (strftime): any hour > 11 is PM (not > 12!).
2960
2961 Wed Feb 14 00:21:17 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2962
2963         * sysdeps/unix/sysv/linux/alpha/Makefile,
2964         sysdeps/unix/sysv/linux/alpha/brk.S,
2965         sysdeps/unix/sysv/linux/alpha/fpu_control.c,
2966         sysdeps/unix/sysv/linux/alpha/fpu_control.h,
2967         sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
2968         sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
2969         sysdeps/unix/sysv/linux/alpha/pipe.S,
2970         sysdeps/unix/sysv/linux/alpha/setfpucw.c,
2971         sysdeps/unix/sysv/linux/alpha/sigprocmask.c,
2972         sysdeps/unix/sysv/linux/alpha/speed.c,
2973         sysdeps/unix/sysv/linux/alpha/start.S,
2974         sysdeps/unix/sysv/linux/alpha/syscall.S,
2975         sysdeps/unix/sysv/linux/alpha/syscalls.list,
2976         sysdeps/unix/sysv/linux/alpha/alpha/regdef.h,
2977         sysdeps/unix/sysv/linux/alpha/sysdep.S,
2978         sysdeps/unix/sysv/linux/alpha/sysdep.h: New files.
2979
2980         * sysdeps/alpha/setjmp_aux.c (__sigsetjmp_aux): restore return
2981         address register before returning (gcc 2.7.1 doesn't do it,
2982         presumably because $26 is declared as a global variable).
2983
2984         * sysdeps/unix/sysv/linux/sys/mman.h: msync was missing "flags"
2985         argument.
2986
2987         * sysdeps/unix/alarm.c (alarm): do roundup using test & increment
2988         instead of multiplication.
2989
2990         * sysdeps/posix/sleep.c (sleep): initialize sa_mask to mask of
2991         currently blocked signals instead of the empty mask to ensure
2992         that execution of alarm handler occurs with none of the currently
2993         blocked signals enabled.
2994
2995         * sysdeps/unix/alpha/sysdep.h: new file (adapted from OSF/1 version).
2996
2997         * sysdeps/unix/bsd/osf/alpha/sysdep.h: include
2998         sysdeps/unix/alpha/sysdep.h and removed definitions now in that file.
2999
3000         * sysdeps/alpha/divrem.S, sysdeps/alpha/htonl.S,
3001         sysdeps/alpha/htons.S, sysdeps/alpha/machine-gmon.h,
3002         sysdeps/alpha/_mcount.S, sysdeps/alpha/ntohl.s, sysdeps/alpha/ntohs.s,
3003         sysdeps/alpha/strlen.S: New files.
3004
3005         * sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
3006         sysdeps/alpha/divqu.S, sysdeps/alpha/divrem.m4,
3007         sysdeps/alpha/macros.m4, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
3008         sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S, sysdeps/alpha/strlen.c:
3009         Removed.
3010
3011         * sysdeps/generic/sbrk.c (__sbrk): argument is of type ptrdiff_t, not
3012         int.
3013
3014         * sysdeps/alpha/__longjmp.c (__longjmp): moved dummy while loop
3015         to end of function to avoid a jump across NOPs.
3016
3017         * sysdeps/alpha/Makefile (sysdep_routines): Removed all rules
3018         pertaining to integer division/remainder routines since new code
3019         doesn't require them.
3020
3021         * sunrpc/xdr_mem.c, sunrpc/xdr_stdio.c: Use 4 instead of sizeof(long)
3022         where 32 bit quantities are consumed/stored.  Various other minor
3023         64-bit cleanups (casting).
3024
3025         * sunrpc/xdr.c (xdr_int): test for sizeof(int)==4 to determine
3026         whether xdr_long or xdr_short should be used to encode an int.
3027         Notice that an xdr_long is 4 bytes independent of the architecture
3028         (otherwise no Alpha could interoperate with existing NFS servers,
3029         for example).  Ditto for enums.
3030
3031         * sunrpc/svc_udp.c (svcudp_recv): changed test from 4*sizeof(u_long)
3032         to 16 since it really wants 16 bytes.
3033
3034         * sunrpc/svc.c (maskp): changed from u_long* to u_int32*.
3035
3036         * sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
3037         u_int32_t (instead of u_long).
3038
3039         * sunrpc/rpc_cmsg.c (xdr_callmsg), sunrpc/svc_authux.c: increment
3040         "buf" pointer by casting it to a char* first since a long* may be 8
3041         bytes or more and oa->oa_length may be any multiple of 4.
3042
3043         * sunrpc/clnt_udp.c (clntudp_call): replaced sizeof(u_long) by 4
3044         since it really is testing for 32 bits.  Fixed casts to use
3045         u_int32 instead of u_long.
3046         * sunrpc/xdr_rec.c: Likewise.
3047
3048         * sunrpc/clnt_tcp.c (clnttcp_call): replaced u_long by u_int32.
3049         * sunrpc/rpc/auth.h: Likewise.
3050
3051         * limits.h (LONG_MAX, LONG_MIN, ULONG_MAX): use 64 bit values
3052         for Alpha.
3053
3054 Tue Mar 19 13:27:49 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3055
3056         * sysdeps/i386/fpu/__math.h: New file.
3057         Contributed by John C. Bowman <bowman@hagar.ph.utexas.edu>.
3058
3059 Sun Mar 17 00:28:16 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3060
3061         * sysdeps/posix/clock.c: Don't multiply the return value by
3062         CLOCKS_PER_SEC or CLK_TCK.
3063
3064 Mon Mar 18 13:20:46 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3065
3066         * sysdeps/mach/hurd/getcwd.c: Fail with ENOENT if a parent directory
3067         scan finds no match.
3068
3069         * posix/unistd.h (setpgrp): Declare no-arg version unless __FAVOR_BSD.
3070         * misc/bsd-compat.c (setpgrp): New function, two arg version.
3071         * sysdeps/stub/setpgid.c: Remove setpgrp alias.
3072         * sysdeps/mach/hurd/setpgid.c: Likewise.
3073         * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
3074         * sysdeps/unix/common/syscalls.list (setpgid): Remove setpgrp alias.
3075         * sysdeps/unix/sysv/irix4/syscalls.list: Likewise.
3076         * sysdeps/unix/sysv/linux/setpgrp.c: Obsolete file removed.
3077         * posix/setpgrp.c (setpgrp): New file.
3078         * posix/Makefile (routines): Add setpgrp.
3079
3080         * elf/Makefile (rtld-link): New canned sequence.
3081         (ld.so, ld-linux.so.1): Use it.  Pass -soname option.
3082
3083         * sysdeps/i386/setjmp.S (__setjmp): Define compatibility entry point.
3084
3085 Sun Mar 17 23:15:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3086
3087         * sysdeps/unix/sysv/linux/tcgetpgrp.c,
3088         sysdeps/unix/sysv/linux/tcsetpgrp.c: New files.
3089
3090 Sun Mar 17 07:19:33 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3091
3092         * db/Makefile (CFLAGS-hash_func.c): New variable; pass -Wno-unused.
3093         (CFLAGS): Append -Wno-unitialized.
3094
3095 Sat Mar 16 20:58:43 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3096
3097         * stdlib/erand48_r.c: Use FP division by powers of two to distribute
3098         short bits into double.
3099
3100 Sat Mar 16 20:08:22 1996  David Mosberger-Tang  <davidm@azstarnet.com>
3101
3102         * sysdeps/alpha/memchr.S: New file.
3103         * sysdeps/alpha/memchr.c: Obsolete file removed.
3104         * string/tester.c: Soup up memchr tests.
3105
3106 Sat Mar 16 16:26:09 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3107
3108         * misc/Makefile (headers): Add sysexits.h.
3109         * misc/sysexits.h: New file.
3110
3111 Thu Mar 14 15:20:45 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3112
3113         * sysdeps/libm-ieee754/e_atan2.c (__ieee754_atan2): Change atan
3114         call to __atan.
3115         * sysdeps/libm-ieee754/e_atan2f.c (__ieee754_atan2f): Change atanf
3116         call to __atanf.
3117
3118         * sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_acosf.c,
3119         sysdeps/m68k/fpu/e_asin.c, sysdeps/m68k/fpu/e_asinf.c,
3120         sysdeps/m68k/fpu/e_atanh.c, sysdeps/m68k/fpu/e_atanhf.c,
3121         sysdeps/m68k/fpu/e_cosh.c, sysdeps/m68k/fpu/e_coshf.c,
3122         sysdeps/m68k/fpu/e_exp.c, sysdeps/m68k/fpu/e_expf.c,
3123         sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/e_fmodf.c,
3124         sysdeps/m68k/fpu/e_log.c, sysdeps/m68k/fpu/e_log10.c,
3125         sysdeps/m68k/fpu/e_log10f.c, sysdeps/m68k/fpu/e_logf.c,
3126         sysdeps/m68k/fpu/e_pow.c, sysdeps/m68k/fpu/e_powf.c,
3127         sysdeps/m68k/fpu/e_remainder.c, sysdeps/m68k/fpu/e_remainderf.c,
3128         sysdeps/m68k/fpu/e_scalb.c, sysdeps/m68k/fpu/e_scalbf.c,
3129         sysdeps/m68k/fpu/e_sinh.c, sysdeps/m68k/fpu/e_sinhf.c,
3130         sysdeps/m68k/fpu/e_sqrt.c, sysdeps/m68k/fpu/e_sqrtf.c,
3131         sysdeps/m68k/fpu/k_cos.c, sysdeps/m68k/fpu/k_cosf.c,
3132         sysdeps/m68k/fpu/k_sin.c, sysdeps/m68k/fpu/k_sinf.c,
3133         sysdeps/m68k/fpu/k_tan.c, sysdeps/m68k/fpu/k_tanf.c,
3134         sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_atanf.c,
3135         sysdeps/m68k/fpu/s_ceil.c, sysdeps/m68k/fpu/s_ceilf.c,
3136         sysdeps/m68k/fpu/s_cos.c, sysdeps/m68k/fpu/s_cosf.c,
3137         sysdeps/m68k/fpu/s_expm1.c, sysdeps/m68k/fpu/s_expm1f.c,
3138         sysdeps/m68k/fpu/s_fabs.c, sysdeps/m68k/fpu/s_fabsf.c,
3139         sysdeps/m68k/fpu/s_finite.c, sysdeps/m68k/fpu/s_finitef.c,
3140         sysdeps/m68k/fpu/s_floor.c, sysdeps/m68k/fpu/s_floorf.c,
3141         sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_frexpf.c,
3142         sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_ilogbf.c,
3143         sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_isinff.c,
3144         sysdeps/m68k/fpu/s_isnan.c, sysdeps/m68k/fpu/s_isnanf.c,
3145         sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_ldexpf.c,
3146         sysdeps/m68k/fpu/s_log1p.c, sysdeps/m68k/fpu/s_log1pf.c,
3147         sysdeps/m68k/fpu/s_logb.c, sysdeps/m68k/fpu/s_logbf.c,
3148         sysdeps/m68k/fpu/s_modf.c, sysdeps/m68k/fpu/s_modff.c,
3149         sysdeps/m68k/fpu/s_rint.c, sysdeps/m68k/fpu/s_rintf.c,
3150         sysdeps/m68k/fpu/s_scalbn.c, sysdeps/m68k/fpu/s_scalbnf.c,
3151         sysdeps/m68k/fpu/s_significand.c,
3152         sysdeps/m68k/fpu/s_significandf.c, sysdeps/m68k/fpu/s_sin.c,
3153         sysdeps/m68k/fpu/s_sinf.c, sysdeps/m68k/fpu/s_tan.c,
3154         sysdeps/m68k/fpu/s_tanf.c, sysdeps/m68k/fpu/s_tanh.c,
3155         sysdeps/m68k/fpu/s_tanhf.c: New files, for m68881 port of fdlibm.
3156
3157         * sysdeps/m68k/fpu/__math.h: Rewritten for fdlibm.
3158
3159         * sysdeps/m68k/fpu/isinfl.c: Rewritten to get argument type right.
3160         * sysdeps/m68k/fpu/isnanl.c: Likewise.
3161
3162 Thu Mar 14 06:01:07 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3163
3164         * posix/glob.c (glob): In GLOB_BRACE brace expansion, fix buffer size
3165         calculation to include trailing invariant portion.  Don't use alloca;
3166         instead use a dynamic auto array for GCC, malloc for non-GCC.
3167         Handle nested braces properly.
3168
3169         * elf/elf.h (Elf32_auxv_t): Specify prototype (void) for `a_un.a_fcn'.
3170
3171         * libc-symbols.h (lint): New macro.
3172
3173 Fri Mar 15 01:18:00 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3174
3175         * libio/iosetvbuf.c: Add weak alias setvbuf.
3176
3177 Thu Mar 14 06:01:07 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3178
3179         * string/strnlen.c: New file.
3180         * string/Makefile (routines): Add strnlen.
3181         * string/string.h [__USE_GNU] (strnlen): Declare new function.
3182         [__OPTIMIZE__]: Define extern inline implementation of it.
3183
3184         * stdlib/erand48_r.c: Use __mpn_construct_double instead of ldexp and
3185         addition, to avoid using anything from -lm.
3186
3187 Mon Mar  4 21:57:14 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3188
3189         * sysdeps/unix/sysv/linux/m68k/Makefile: New file.
3190
3191         * sysdeps/unix/sysv/linux/m68k/sysdep.h (SYS_ify): Redefine.
3192         (CALL_MCOUNT): New macro, empty unless [PROF].
3193         (ENTRY): Do CALL_MCOUNT just after the label.
3194         (JUMPTARGET): New macro.
3195         (SYSCALL_ERROR_HANDLER): Fix syntax.
3196
3197 Thu Mar 14 04:20:48 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3198
3199         * sysdeps/unix/sysv/linux/init-first.c (init): Call `__personality'
3200         function instead of using inline asm i386 syscall.
3201         * sysdeps/unix/sysv/linux/syscalls.list: Add personality syscall.
3202
3203         * posix/unistd.h [__USE_BSD]: Declare usleep.
3204
3205 Tue Mar 12 04:57:57 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3206
3207         * misc/efgcvt.c (MAXDIG): New macro computed from <floats.h> constants.
3208         (fcvt, ecvt): Use it for buffer size.
3209
3210         * stdlib/drand48-iter.c (__drand48_iterate): Use u_int64_t instead of
3211         conditionalizing long vs long long.
3212
3213         * stdlib/drand48-iter.c (__drand48_iterate): Don't check for null
3214         pointers; never return EFAULT.
3215         * stdlib/drand48_r.c (drand48_r): Likewise.
3216         * stdlib/erand48_r.c (erand48_r): Likewise.
3217
3218         * setjmp/Makefile (tests): Add jmpbug.
3219         * setjmp/jmpbug.c: New file.
3220
3221 Tue Mar 12 04:42:01 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3222
3223         * sysdeps/sparc/jmp_buf.h: Rewritten; use array of ints, not struct.
3224         * sysdeps/sparc/setjmp.S: Rewritten; store %fp value as well.
3225         * sysdeps/sparc/__longjmp.S: Rewritten; unwind frames one by one with
3226         `restore' until the target frame is hit.
3227
3228 Sun Mar 10 20:29:40 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3229
3230         * sysdeps/unix/sysv/linux/sigsuspend.c: New file.
3231         * sysdeps/unix/sysv/linux/syscalls.list: Remove sigsuspend, add
3232         s_sigsuspend.
3233
3234 Thu Mar  7 21:30:58 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3235
3236         * Makerules (+make-deps, sed-remove-objpfx): Quote periods on the
3237         left side of sed substitutions.
3238
3239 Sun Mar 10 16:58:10 1996  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
3240
3241         * stdio-common/printf_fp.c (hack_digit): __mpn_normal_size
3242         is not available anymore.  Do it ourselves.
3243
3244         * sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_SETCW):
3245         Correct GCC `asm' syntax.
3246
3247 Tue Mar 12 03:15:02 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3248
3249         * stdio-common/Makefile (tests): Add tst-ungetc.
3250         * stdio-common/tst-ungetc.c: New test from drepper.
3251         * stdio-common/tstscanf.c (main): New %[ test case from drepper.
3252
3253         * sysdeps/libm-ieee754/s_scalbn.c (scalbn): Rename to __scalbn;
3254         somehow this was missed, though the weak alias is already there.
3255
3256         * sysdeps/unix/sysv/linux/i386/fpu_control.h (_FPU_DEFAULT): Change
3257         default to double precision, all interrupts masked; fdlibm requires.
3258
3259 Sat Mar  9 18:44:27 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3260
3261         * sysdeps/unix/sysv/linux/i386/setfpucw.c: Obsolete file removed.
3262
3263 Fri Mar  8 22:16:48 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3264
3265         * stdio-common/printf_fp.c (HAVE_ALLOCA): New macro.
3266
3267 Tue Mar  5 18:45:14 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3268
3269         * sysdeps/mach/hurd/select.c (__select): Include LASTFD in the
3270         final loop.
3271
3272 Mon Mar  4 20:54:40 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3273
3274         * Makeconfig ($(common-objpfx)config.make): Depend on config.h.in.
3275
3276 Tue Mar  5 12:14:57 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3277
3278         * sysdeps/mach/hurd/select.c (__select): Also don't fault just
3279         because some fdmask is 0.
3280
3281 Mon Mar  4 17:35:35 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3282
3283         * sysdeps/mach/hurd/select.c (__select):
3284         Don't increment GOT only because READ/WRITE/EXCEPTFDS is 0!
3285         Don't return without frobbing the bitmasks after a timeout.
3286         When clearing the bitmasks, only loop from FIRSTFD to LASTFD.
3287
3288 Mon Mar  4 17:35:09 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3289
3290         * hurd/catch-signal.c (hurd_safe_memmove): New function.
3291         (hurd_safe_copyin, hurd_safe_copyout): New functions.
3292         * hurd/hurd/sigpreempt.h: Declare them.
3293
3294 Sun Mar  3 08:43:44 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3295
3296         Replace math code with fdlibm from Sun as modified for netbsd by
3297         JT Conklin and Ian Taylor, including x86 FPU support.
3298         * sysdeps/libm-ieee754, sysdeps/libm-i387: New directories.
3299         * math/math_private.h: New file.
3300         * sysdeps/i386/fpu/Implies: New file.
3301         * sysdeps/ieee754/Implies: New file.
3302         * math/machine/asm.h, math/machine/endian.h: New files.
3303         * math/Makefile, math/math.h: Rewritten.
3304         * mathcalls.h, math/mathcalls.h: New file, broken out of math.h.
3305         * math/finite.c: File removed.
3306         * sysdeps/generic/Makefile [$(subdir)=math]: Frobnication removed.
3307
3308         * math/test-math.c: Include errno.h and string.h.
3309
3310         * sysdeps/unix/bsd/dirstream.h: File removed.
3311         * sysdeps/unix/bsd/readdir.c: File removed.
3312
3313 Sat Mar  2 16:35:40 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3314
3315         * sysdeps/unix/sysv/linux/m68k/profil-counter.h: File removed.
3316         * sysdeps/unix/sysv/sysv4/solaris2/sparc/profil-counter.h: File
3317         removed.
3318         * sysdeps/generic/profil-counter.h: New file.
3319
3320 Fri Mar  1 17:11:59 1996  Brendan Kehoe  <brendan@zen.org>
3321
3322         * sysdeps/unix/sysv/sysv4/solaris2/sparc/sigcontext.h: New file,
3323         including <sysdeps/unix/bsd/sun/sparc/sigcontext.h>.
3324         * sysdeps/unix/sysv/sysv4/solaris2/sparc/profil-counter.h: New file,
3325         same as linux/m68k/profil-counter.h except the comment.
3326
3327 Fri Mar  1 10:09:46 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3328
3329         * stdlib/Makefile (mpn-stuff): New target.
3330         (copy-mpn): Use it.
3331
3332         * Code copied from GMP updated to 1.937 version.
3333         * stdlib/strtod.c (HAVE_ALLOCA): Define this for gmp headers.
3334
3335         * posix/glob.c: Use canonical code from autoconf manual for dirent
3336         include.
3337         [_D_NAMLEN]: Redefine NAMLEN using this.
3338         (glob_in_dir): Use NAMLEN macro.
3339
3340         * sysdeps/posix/profil.c: New file.
3341
3342 Thu Feb 29 20:55:57 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3343
3344         * sysdeps/unix/sysv/linux/m68k/profil-counter.h: New file.
3345
3346 Tue Feb 27 12:14:59 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3347
3348         * libc-symbols.h [GCC >= 2.8] (strong_alias, weak_alias): Remove
3349         `extern' keyword.
3350
3351         * time/strftime.c: Support - and _ flags to affect number padding.
3352
3353         * sysdeps/unix/common/tcsendbrk.c: New file.
3354
3355 Mon Feb 26 10:22:30 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3356
3357         * sysdeps/unix/dirstream.h: Rewritten.
3358         * sysdeps/unix/readdir.c: Rewritten.
3359         * sysdeps/unix/telldir.c: Rewritten.
3360         * sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h.
3361         Remove __ from DIR struct member names.
3362         * sysdeps/unix/dirfd.c: Likewise.
3363         * sysdeps/unix/seekdir.c: Likewise.
3364         * sysdeps/unix/rewinddir.c: Likewise.
3365         * sysdeps/unix/opendir.c: Likewise.  Don't allocate extra space after
3366         DIR structure.
3367         * sysdeps/stub/direct.h: File removed.
3368         * sysdeps/unix/bsd/bsd4.4/direct.h: File removed.
3369         * sysdeps/unix/bsd/direct.h: File removed.
3370         * sysdeps/unix/common/direct.h: File removed.
3371         * sysdeps/unix/sysv/irix4/direct.h: File removed.
3372         * sysdeps/unix/sysv/isc3/direct.h: File removed.
3373         * sysdeps/unix/sysv/sco3.2.4/direct.h: File removed.
3374         * sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed.
3375         * sysdeps/unix/common/direntry.h: New file.
3376         * sysdeps/unix/bsd/direntry.h: New file.
3377         * sysdeps/unix/bsd/bsd4.4/direntry.h: New file.
3378         * sysdeps/unix/sysv/direntry.h: New file.
3379         * sysdeps/stub/direntry.h: New file.
3380         * dirent/dirent.h (struct dirent): Type removed.  Include <direntry.h>
3381         to define it.
3382         (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros.
3383         * dirent/Makefile (headers): Add direntry.h.
3384         (distribute): Remove direct.h.
3385         * sysdeps/posix/getcwd.c: Use new macros instead of d_namlen.
3386         * dirent/scandir.c: Likewise.
3387         * io/fts.c (fts_build): Likewise.
3388         * io/ftw.c (ftw_dir): Likewise.
3389         * sysdeps/posix/ttyname.c: Likewise.
3390
3391         * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file.
3392
3393         * sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro.
3394         (collector_timeout): New static variable.
3395         (update_waiter): Actually call __task_enable_pc_sampling.
3396         Set collector_timeout based on the `tick' count returned.
3397         (profile_waiter): Use MAX_PC_SAMPLES.  Set nsamples before RPC.
3398         Use collector_timeout in __mach_msg call.
3399
3400         * gmon/Makefile (noprof): New variable containing mcount.
3401         Append profil unless it is in $(unix-syscalls).
3402         (mcount.po): Use $(noprof) for list of targets in this rule.
3403
3404         * libc-symbols.h: Define _LIBC before #include <config.h>.
3405
3406 Sun Feb 25 12:29:23 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3407
3408         * config.h.in [_LIBC] (HAVE_STRERROR): Define it.
3409         Protect 2nd page of #undef's for generator programs with #ifndef _LIBC.
3410
3411         * time/zic.c, time/zdump.c, time/private.h: Updated from ADO 96e.
3412
3413 Fri Feb  9 12:40:19 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
3414
3415         * libio/cleanup.c (_IO_cleanup_registration_needed)
3416         [!_G_HAVE_ATEXIT]: Init to NULL.
3417         * libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl.
3418
3419 Thu Feb  8 08:12:50 1996  Brendan Kehoe  <brendan@cygnus.com>
3420
3421         * libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert
3422         previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT.
3423
3424 Wed Feb  7 15:10:17 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
3425
3426         * libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as
3427         extern.
3428
3429 Sat Feb 24 11:34:13 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3430
3431         * sysdeps/i386/memcmp.S: Fix argument %esp offsets.
3432
3433         * time/sys/time.h (timeradd, timersub): New macros; BSD has these.
3434
3435 Wed Feb 21 02:25:07 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3436
3437         * Rules (others): Depend on $(extra-objs), $(install-lib),
3438         $(install-bin), $(install-sbin), in object directory.
3439
3440         * Makeconfig (link-libc): Don't pass -rpath option with default
3441         path, since ld.so should use the same default.
3442         * Makerules (build-shlib): Likewise.
3443
3444         * Makerules (make-target-directory): Use mkinstalldirs.
3445
3446         * sysdeps/mach/i386/sysdep.h: Include unix/i386/sysdep.h to
3447         redefine ENTRY et al.
3448
3449         * sysdeps/unix/sysv/linux/i386/sysdep.h (NO_UNDERSCORES, ENTRY):
3450         Macros removed.  The code in unix/i386/sysdep.h should now suffice.
3451
3452         * sysdeps/unix/i386/sysdep.h (ALIGNARG): New macro, defns for
3453         [HAVE_ELF] and not.
3454         (ENTRY): Use it in .align directive.
3455         (CALL_MCOUNT): New macro, empty unless [PROF].
3456         (ENTRY): Do CALL_MCOUNT just after the label.
3457
3458         * Makeconfig (CPPFLAGS-.po): New variable, use -DPROF so assembly
3459         code can call mcount.
3460
3461 Tue Feb 20 23:05:16 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3462
3463         * time/private.h, time/zdump.c, time/zic.c: Updated verbatim from ADO;
3464         translation markings are now integrated in his distribution.
3465
3466         * stdlib/strtod.c (round_and_return): Add missing (mp_limb) 1 cast.
3467
3468 Mon Feb 19 18:31:59 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3469
3470         * po: New directory where `LANG.po' files for message translations
3471         will reside.
3472         * po/SYS_libc.pot: New file, template of message strings as in source.
3473         * MakeTAGS: New rules to build po/SYS_libc.pot automatically from
3474         the source using xgettext.
3475         * Makerules ($(..)po/%.pot): New rule.
3476         * manual/Makefile (../po/manual.pot): New target, make it empty.
3477
3478         * sysdeps/unix/bsd/alarm.c: Moved to sysdeps/unix/alarm.c.
3479         * sysdeps/unix/bsd/nice.c: Moved to sysdeps/unix/nice.c.
3480         * sysdeps/unix/bsd/stime.c: Moved to sysdeps/unix/stime.c.
3481         * sysdeps/unix/bsd/time.c: Moved to sysdeps/unix/time.c.
3482         * sysdeps/unix/bsd/utime.c: Moved to sysdeps/unix/utime.c.
3483
3484         * time/zic.c, time/scheck.c, time/private.h, time/tzfile.h:
3485         Updated from ADO 96d.
3486
3487 Sun Feb 18 14:08:04 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3488
3489         * csu/initfini.c (_init): Remove bogus volatile declarations and
3490         extra variable, take the address of __gmon_start__ only implicitly
3491         to avoid the test being optimized out.
3492
3493 Sun Feb 18 15:08:10 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3494
3495         * sysdeps/posix/utimes.c (__utimes): There are 1000000 usecs in a
3496         sec.
3497
3498 Sun Feb 18 13:56:00 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3499
3500         * elf/Makefile, time/Makefile: Make `all' the default target.
3501
3502 Mon Feb 19 18:09:04 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
3503
3504         * misc/sys/ptrace.h: Moved to ...
3505         * sysdeps/generic/sys/ptrace.h: ... here.
3506         * sys/ptrace.h: File removed.
3507
3508 Sun Feb 18 12:13:07 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3509
3510         * sysdeps/unix/sysv/linux/Makefile (headers): Add fpu_control.h.
3511
3512         * sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Put it into .bss
3513         so that the symbol alias works.
3514
3515         * sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_SETCW): Corrected.
3516
3517         * sysdeps/unix/sysv/linux/resourcebits.h: New file.
3518
3519         * sysdeps/unix/sysv/linux/sys/ptrace.h: New file.
3520
3521         * sysdeps/unix/sysv/linux/syscalls.list: Add getegid, geteuid,
3522         getppid and reboot.
3523
3524         * sysdeps/unix/sysv/linux/sysconf.c: Special version that does not
3525         use getdtablesize.
3526
3527 Sat Feb 17 10:30:21 1996  David Mosberger-Tang  <davidm@AZStarNet.com>