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