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