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