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