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