.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 Wed Nov 15 19:22:07 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2
3         * elf/dl-lookup.c (_dl_lookup_symbol): Undefined symbol is no
4         error if weak.
5
6         * elf/Makefile (default-rpath): New variable.
7         (CPPFLAGS): Append -DDEFAULT_RPATH=....
8         * elf/dl-load.c (_dl_map_object): Use DEFAULT_RPATH instead of
9         hard-coded "/lib:/usr/lib".
10
11         * sysdeps/mach/hurd/dl-sysdep.c: Include _itoa.h from stdio-common
12         instead of stdio.
13         (_dl_sysdep_start): If passed user entry is zero and
14         EXEC_STACK_ARGS flag set, reset user entry to &_start.
15
16         * elf/rtld.c (dl_main): Only call _dl_setup_hash if there is a
17         DT_HASH element.
18
19         * libc-symbols.h [HAVE_ELF] (symbol_set_declare): Gratuitously
20         repeat weak decl using weak_symbol macro, in case using broken GCC
21         (<2.8).
22
23 Wed Nov 15 18:49:55 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
24
25         * sysdeps/i386/isnanl.c: New file.
26         * sysdeps/i386/isinfl.c: New file.
27
28 Tue Nov 14 18:44:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
29
30         * malloc/free.c (free): Moved null and aligned_blocks checks
31         inside _free_internal.
32
33 Mon Nov 13 15:23:01 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
34
35         * malloc/malloc.c (morecore): Fix inverted test in allocating new
36         info table.
37
38         * malloc/malloc.c (align): Fix assertion.
39
40         * malloc/malloc.c: Include assert.h.
41
42         * libc-symbols.h: Use __attribute__ for GCC 2.8, not 2.7.
43
44         * malloc/malloc.h [emacs] (emacs_loser_valloc): Macro removed.
45         (valloc): Protect decl with [! (_MALLOC_INTERNAL && emacs)].
46
47 Fri Nov 10 14:15:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
48
49         * malloc/malloc.c (align): Assert that space for alignment
50         adjustment is same original space.
51
52         * hurd/hurdprio.c (_hurd_priority_which_map): Cast vm_deallocate
53         arg to vm_address_t.
54
55         * hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO == 0,
56         skip straight to pending check.  When UNTRACED, resume process
57         from suspension first.
58
59         * intl/Makefile (headers): New variable, libintl.h.
60         [gettext-srcdir]: New rules to copy source from $(gettext-srcdir)/intl.
61         * configure.in: Check for --with-gettext arg.
62
63 Fri Nov 10 13:51:30 1995  Richard Stallman  <rms@gnu.ai.mit.edu>
64
65         * malloc/malloc.c (get_contiguous_space): New function.
66         (morecore): Rewrite allocating new malloc info table.
67         (_malloc_internal): Use get_contiguous_space.
68
69 Fri Nov 10 13:03:40 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
70
71         * hurd/hurdexec.c (_hurd_exec): If exec'ing self, pass
72         _hurd_msgport to be destroyed.
73
74         * Makerules (installed-libcs): Filter out %_pic.a.
75
76         * hurd/hurdinit.c (_hurd_proc_init): When traced, use msg_sig_post
77         to our msgport to take SIGTRAP, instead of _hurd_raise_signal.
78
79         * hurd/Makefile (user-interfaces): Add hurd/process_request.
80
81 Wed Nov  8 16:31:25 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
82
83         * termios/Makefile (headers): Add sys/ttychars.h.
84         * termios/sys/ttychars.h: New file, incorporated from 4.4BSD-Lite
85         for compatibility.
86
87         * signal/signal.h [__USE_BSD] (sig_t): New typedef.
88
89 Wed Nov  8 15:12:47 1995  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
90
91         * sysdeps/mach/hurd/ptrace.c (ptrace) [PTRACE_TRACEME]: Notify the
92         proc server that we are now traced.
93
94 Tue Nov  7 12:29:46 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
95
96         * elf/Makefile (ldd): Make it executable.
97
98         * Makeconfig (config-LDFLAGS): Find dynamic linker in $(slibdir).
99
100         * Makeconfig (slibdir): New variable.
101         * Makerules (install): Install libc.so in $(slibdir).
102         * elf/Makefile (install-others): Install ld.so and ld-linux.so.1
103         in $(slibdir).
104
105         * elf/linux-compat.c: New file.
106         * elf/Makefile (distribute): Add linux-compat.c.
107         (generated): Add librtld.so.
108         [$(config-os)=linux*] (extra-objs): Add linux-compat.so.
109         [$(config-os)=linux*] (extra-objs): Add ld-linux.so.1.
110         (librtld.so): New target.
111         (ld.so, ld-linux.so.1): Make from librtld.so.
112
113         * elf/rtld.c (dl_main): Instead of weak call to _dl_compat_init,
114         call our own DT_INIT if we have one (and then clear it).
115         (__dgettext): New weak function.
116
117         * intl/localealias.c (read_alias_file): Avoid sprintf; use memcpy
118         by hand instead.
119
120         * sysdeps/generic/_strerror.c (_strerror_internal): Use _itoa
121         instead of snprintf.
122
123         * sysdeps/mach/_strerror.c (_strerror_internal): Don't write
124         BUF[BUFLEN].
125
126         * elf/rtld.c (rtld_map): New static variable.
127         (_dl_start): Use a differently named local BOOTSTRAP_MAP for the
128         bootstrapping.  Then copy data into `rtld_map'.
129         (dl_main): Finish filling in rtld_map and link it into the chain,
130         instead of allocating a new structure.
131         (dl_main): Call _dl_compat_init if it is defined (use weak ref).
132
133         * elf/dlsym.c: Fix last change: move REF out of `doit'.
134
135 Mon Nov  6 16:20:14 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
136
137         * elf/dlsym.c: Return the proper value, not just the defining
138         object's loadbase.
139
140 Sun Nov  5 16:09:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
141
142         * stdio-common/vfprintf.c (%c): Count the character itself towards
143         the field width in all cases.
144
145         * sysdeps/mach/hurd/getpriority.c (getpriority): Cast
146         __vm_deallocate arg to vm_address_t.
147
148 Fri Nov  3 17:27:49 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
149
150         * sysdeps/mach/hurd/sendto.c: Don't pass BINDING arg to
151         socket_create_address.
152         * sysdeps/mach/hurd/connect.c: Likewise.
153         * sysdeps/mach/hurd/bind.c: Likewise.
154
155         * hurd/hurdprio.c (_hurd_priority_which_map): Pass threadwaits
156         args to proc_getprocinfo.
157         * sysdeps/mach/hurd/getpriority.c: Likewise.
158
159         * hurd/hurdmsg.c (_S_msg_report_wait): New stub function.
160
161 Thu Nov  2 19:24:37 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
162
163         * sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Define as common.
164
165 Tue Oct 31 00:07:29 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
166
167         * sysdeps/mach/hurd/getpriority.c (getpriority): Pass
168         PI_FETCH_TASKINFO to proc_getprocinfo and through
169         _hurd_priority_which_map.
170
171         * sysdeps/mach/hurd/setpriority.c (setpriority): Pass new arg to
172         _hurd_priority_which_map.
173         * hurd/hurdprio.c (_hurd_priority_which_map): New arg PI_FLAGS,
174         passed through to proc_getprocinfo RPC.
175         * hurd/hurd/resource.h: Add PI_FLAGS arg in decl.
176
177         * sysdeps/mach/hurd/group_member.c: New file.
178         * sysdeps/generic/group_member.c: New file.
179
180         * Makerules (lib-noranlib): Don't depend on $(install-lib).
181         (others): Do.
182         * extra-lib.mk: Fix test of $(lib)-no-lib-dep.
183
184 Mon Oct 30 12:33:10 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
185
186         * Rules (others): Depend on $(extra-objs).
187
188         * posix/unistd.h [__USE_GNU]: Declare group_member, __group_member.
189         * posix/Makefile (routines): Add group_member.
190
191         * sysdeps/posix/euidaccess.c: New file, adapted from fileutils.
192
193         * sysdeps/unix/sysv/linux/i386/sigaction.c: Tighten constraint for
194         SIG operand in asm so it must be a register.
195         Add dead return to quiet gcc warning.
196
197         * Makerules (sysd-rules): Write a defn for sysd-rules-done.
198         [! sysd-rules-done]: Inhibit deps.
199
200 Thu Oct 26 23:11:11 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
201
202         * sysdeps/unix/sysv/linux/poll.c: Don't define as stub.  Use
203         simulation of system call using select.
204
205         * sysdeps/unix/sysv/linux/signal.c: Use POSIX implementation.
206
207         * sysdeps/unix/sysv/linux/statbuf.h: Define _STAT_VER.
208
209         * sysdeps/unix/sysv/linux/i386/sigaction.c: Correct parameter
210         name usage (new->act, old->oact).
211         Correct asm statement because of gcc strangeness.
212
213         * sysdeps/i386/i586/strchr.S: Correct typos: cmp -> cmpb.
214
215         * sunrpc/clnt_perr.c: Remove declaration of sys_errlist.  They
216         conflict with the ones in stdio.h.
217
218         * string/tester.c: %Z is no complete format.  Change to %Zd.
219
220 Thu Oct 26 18:13:33 1995  Miles Bader  <miles@gnu.ai.mit.edu>
221
222         * sysdeps/mach/hurd/bind.c (bind): Swap args to dir_link.
223         * sysdeps/mach/hurd/link.c (__link): Ditto.
224         * sysdeps/mach/hurd/symlink.c (__symlink): Ditto.
225         * sysdeps/mach/hurd/mknod.c (__mknod): Ditto.
226         Include "stdio-common/_itoa.h" instead of "stdio/_itoa.h".
227
228 Thu Oct 26 00:11:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
229
230         * sysdeps/unix/sysv/linux/i386/sigaction.c: New file.
231
232         * sysdeps/unix/sysv/linux/i386/xstat.S: Don't use JUMPTARGET macro
233         on syscall_error.  For PIC, it is a local label;
234         for non-PIC, JUMPTARGET expands to the unadorned name anyway.
235         * sysdeps/unix/sysv/linux/i386/xmknod.S: Likewise.
236         * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise.
237         * sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
238         * sysdeps/unix/sysv/linux/i386/sbrk.S: Likewise.
239         * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
240         * sysdeps/unix/sysv/linux/i386/brk.S: Likewise.
241
242 Thu Oct 26 03:01:22 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
243
244         * sysdeps/unix/sysv/linux/syscall.h: Strip list of syscalls in
245         comment to the necessary ones.  Add _readv and _writev.
246
247         * sysdeps/unix/configure.in: Change syntax for system call test
248         candidates and adapt sed script for this.  Now use : to separate
249         syscall name and file name.
250
251         * sysdeps/unix/sysv/linux/i386/sysdep.h (ENTRY): System call
252         number is now set is DO_CALL.  So call with additional argument.
253         (DO_CALL): Takes an additional argument.  Load system call
254         number according to new argument.
255         (SYSCALL_ERROR_HANDLER): Add ; after last ret statement.
256         * sysdeps/unix/sysv/linux/i386/brk.S [PIC]: Define __syscall_error
257         locally using SYSCALL_ERROR_HANDLER macro.
258         * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
259         * sysdeps/unix/sysv/linux/i386/sbrk.S: Likewise.
260         * sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
261         * sysdeps/unix/sysv/linux/i386/xmknod.S: Likewise.
262         * sysdeps/unix/sysv/linux/i386/xstat.S: Likewise.
263         * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise.
264         Don't use DO_CALL macro; instead use lower level macros for better
265         control.
266
267         * sysdeps/unix/sysv/linux/sigaction.h: New file.
268         * sysdeps/unix/sysv/linux/sigaction.S: File removed.
269         * sysdeps/unix/sysv/linux/signal.S: File removed.
270
271 Wed Oct 25 14:23:35 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
272
273         * hurd/hurdstartup.c (_hurd_startup): Use new
274         exec_startup_get_info RPC from exec_startup.defs
275         in place of old exec_startup from exec.defs.  Remove kludge to
276         guess user entry and phdr locations, since the new RPC gives us
277         that info.
278
279         * stdio/stdio.h (sys_errlist, _sys_errlist): Declare const.
280         * sysdeps/generic/_strerror.c: Undo last change.
281
282         * sysdeps/unix/sysv/linux/stat.c: New file.
283         * sysdeps/unix/sysv/linux/fstat.c: New file.
284         * sysdeps/unix/sysv/linux/lstat.c: New file.
285         * sysdeps/unix/sysv/linux/i386/stat.S: File removed.
286         * sysdeps/unix/sysv/linux/i386/fstat.S: File removed.
287         * sysdeps/unix/sysv/linux/i386/lstat.S: File removed.
288
289 Tue Oct 24 15:22:58 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
290
291         * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
292         New macro.
293         (PSEUDO): Use it instead of SYSCALL_PIC_SETUP and jmp syscall_error.
294
295         * sysdeps/unix/sysv/linux/i386/sysdep.S (__syscall_error): Define
296         only #ifndef PIC.
297
298         * Makeconfig (built-program-cmd): New variable.
299         * sunrpc/Makefile (rpcgen-cmd): Use $(built-program-cmd).
300         * time/Makefile (zic-cmd): Likewise.
301
302         * hurd/Makefile (user-interfaces): Add hurd/exec_startup.
303
304         * sunrpc/Makefile (librpcsvc-no-lib-dep): New variable.
305         * extra-lib.mk: If $(lib)-no-lib-dep is defined and MAKELEVEL>0,
306         make `others' rather than `lib-noranlib' depend on the libraries.
307
308         * sysdeps/unix/configure.in: Check for fchdir syscall.
309         Improve sed script to allow / on rhs without / on lhs.
310
311 Thu Oct 19 03:47:32 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
312
313         * sysdeps/unix/sysv/linux/termbits.h: Don't define speed constants.
314
315         * elf/rtld.c: Include _itoa.h from stdio-common instead of stdio.
316
317         * sysdeps/unix/sysv/linux/select.S: New file.
318
319 Wed Oct 18 03:33:22 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
320
321         * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Use
322         SYSCALL_PIC_SETUP before jumping to syscall_error.
323         * sysdeps/unix/i386/sysdep.h (SYSCALL_PIC_SETUP): New macro.
324         (PSEUDO): Use it before jumping to syscall_error.
325         * sysdeps/unix/i386/sysdep.S [! PIC]: Don't find GOT address;
326         expect it in %ebx on entry.  Pop old %ebx value off stack after
327         using it.
328
329         * signal/signal.h [__USE_BSD] (_sys_siglist, sys_siglist): Declare
330         them.
331
332         * sysdeps/generic/_strerror.c: Declare _sys_errlist and _sys_nerr.
333
334         * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): For magic
335         `fd/', pass the right pointer to strtol to parse the number.
336
337 Tue Oct 17 23:00:10 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
338
339         * sysdeps/mach/_strerror.c: Include stdio-common/_itoa.h instead
340         of stdio/_itoa.h.
341
342 Tue Oct 17 19:51:17 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
343
344         * sysdeps/unix/sysv/linux/i386/stat.S [PIC] (__stat): Set GOT
345         register %ebx before calling __xstat through PLT.
346
347         * sysdeps/unix/sysv/linux/i386/sysdep.S: Fix typo in comment.
348
349         * sysdeps/unix/sysv/linux/sigset.h: Remove file.
350
351 Tue Oct 17 01:21:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
352
353         * hurd/hurdsock.c: Include stdio-common/_itoa.h instead of
354         stdio/_itoa.h.
355         * hurd/hurdlookup.c: Likewise.
356
357         * hurd/hurd/signal.h: Declare hurd_preempt_signals and
358         hurd_unpreempt_signals.
359
360         * stdio/stdio.h: Declare __snprintf and __vsnprintf.
361
362         * stdio-common/psignal.c: Translate signal description strings.
363         * string/strsignal.c: Likewise.
364         * sysdeps/generic/_strerror.c (_strerror_internal): Translate
365         error strings.
366         * sysdeps/mach/_strerror.c: Likewise.
367
368         * stdio-common/snprintf.c (__snprintf): Renamed from snprintf;
369         call __vsnprintf.
370         (snprintf): Define as weak alias.
371         * stdio/vsnprintf.c (__vsnprintf): Renamed from vsnprintf.
372         (vsnprintf): Define as weak alias.
373
374 Mon Oct 16 03:22:37 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
375
376         * Makerules (install-lib): Filter out %_pic.a; install only the
377         linked shared objects.
378
379         * locale/Makefile (aux): Add SYS_libc.
380         * locale/SYS_libc.c: New file.
381         * libc-symbols.h [! ASSEMBLER] (_): New macro.
382
383         * configure.in (libc_cv_asm_set_directive): Link program into
384         conftest instead of letting it default to a.out.
385
386         * elf/Makefile (install-others): Add missing slash.
387
388         * elf/ldd.sh.in: Prepend `./' to relative file names so ld.so
389         won't search LD_LIBRARY_PATH.
390
391         * Makefile (subdirs): Replace stdio with stdio-common and $(stdio).
392         * configure.in: Grok arg --enable-libio.
393         ($stdio = libio): Define USE_IN_LIBIO.
394         * config.h.in (USE_IN_LIBIO): Add #undef.
395         * config.make.in (stdio): New variable, set by configure.
396         * Makeconfig (stdio): New variable.
397         * stdio.h [USE_IN_LIBIO]: Include libio/stdio.h instead of
398         stdio/stdio.h.
399         * stdio-common/Makefile: New file.
400         * stdio/Makefile: Half the contents moved to stdio-common/Makefile.
401         * stdio/_itoa.c: Moved to stdio-common.
402         * stdio/_itoa.h: Moved to stdio-common.
403         * stdio/asprintf.c: Moved to stdio-common.
404         * stdio/bug1.c: Moved to stdio-common.
405         * stdio/bug1.input: Moved to stdio-common.
406         * stdio/bug2.c: Moved to stdio-common.
407         * stdio/bug3.c: Moved to stdio-common.
408         * stdio/bug4.c: Moved to stdio-common.
409         * stdio/bug5.c: Moved to stdio-common.
410         * stdio/bug6.c: Moved to stdio-common.
411         * stdio/bug6.input: Moved to stdio-common.
412         * stdio/bug7.c: Moved to stdio-common.
413         * stdio/dprintf.c: Moved to stdio-common.
414         * stdio/errnobug.c: Moved to stdio-common.
415         * stdio/getline.c: Moved to stdio-common.
416         * stdio/getw.c: Moved to stdio-common.
417         * stdio/perror.c: Moved to stdio-common.
418         * stdio/printf-parse.h: Moved to stdio-common.
419         * stdio/printf-prs.c: Moved to stdio-common.
420         * stdio/printf.c: Moved to stdio-common.
421         * stdio/printf.h: Moved to stdio-common.
422         * stdio/printf_fp.c: Moved to stdio-common.
423         * stdio/psignal.c: Moved to stdio-common.
424         * stdio/putw.c: Moved to stdio-common.
425         * stdio/reg-printf.c: Moved to stdio-common.
426         * stdio/scanf.c: Moved to stdio-common.
427         * stdio/snprintf.c: Moved to stdio-common.
428         * stdio/sprintf.c: Moved to stdio-common.
429         * stdio/sscanf.c: Moved to stdio-common.
430         * stdio/tempnam.c: Moved to stdio-common.
431         * stdio/temptest.c: Moved to stdio-common.
432         * stdio/test-fseek.c: Moved to stdio-common.
433         * stdio/test-fwrite.c: Moved to stdio-common.
434         * stdio/test-popen.c: Moved to stdio-common.
435         * stdio/test_rdwr.c: Moved to stdio-common.
436         * stdio/tmpfile.c: Moved to stdio-common.
437         * stdio/tmpnam.c: Moved to stdio-common.
438         * stdio/tst-fileno.c: Moved to stdio-common.
439         * stdio/tst-printf.c: Moved to stdio-common.
440         * stdio/tstgetln.c: Moved to stdio-common.
441         * stdio/tstgetln.input: Moved to stdio-common.
442         * stdio/tstscanf.c: Moved to stdio-common.
443         * stdio/tstscanf.input: Moved to stdio-common.
444         * stdio/vfprintf.c: Moved to stdio-common.
445         * stdio/vfscanf.c: Moved to stdio-common.
446         * stdio/vprintf.c: Moved to stdio-common.
447         * stdio/xbug.c: Moved to stdio-common.
448         * sysdeps/generic/Makefile (siglist.c rules): Do this in subdir
449         stdio-common instead of stdio.
450         * sysdeps/unix/Makefile (errlist.c rules): Likewise.
451         * stdio-common/asprintf.c [USE_IN_LIBIO]: Call libio primitive
452         function.
453         * stdio-common/dprintf.c: Likewise.
454         * stdio-common/printf.c: Likewise.
455         * stdio-common/scanf.c: Likewise.
456         * stdio-common/snprintf.c: Likewise.
457         * stdio-common/sprintf.c: Likewise.
458         * stdio-common/sscanf.c: Likewise.
459         * stdio-common/vprintf.c: Likewise.
460
461         * Makerules: Include $(+depfiles) directly instead of generating
462         depend-$(subdir).
463         (depend-$(subdir)): Target removed.
464         (common-clean): Don't remove depend-$(subdir).
465
466         * sysdeps/unix/sysv/linux/Makefile (rtld-installed-name): New variable.
467         (config-LDFLAGS): Variable removed.
468
469         * sysdeps/mach/hurd/getcwd.c: Use __file_name_lookup_under.
470         * sysdeps/mach/hurd/bind.c: Likewise.
471         * sysdeps/mach/hurd/access.c: Use new __hurd_file_name_lookup
472         calling convention.
473
474         * hurd/hurdexec.c: Undo last change (10 Oct 95).
475
476 Sun Oct 15 21:04:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
477
478         * hurd/hurd/lookup.h: New file.
479         * hurd/hurdlookup.c (__file_name_lookup_under): New function.
480         (__hurd_file_name_lookup, __hurd_file_name_lookup_retry,
481         __hurd_file_name_split): Rewritten to take callback functions for
482         using any needed init or dtable port, instead of passing in crdir
483         and cwdir ports.
484         (__file_name_lookup, __file_name_split): Use new calling
485         convention; pass _hurd_ports_use and __getdport as the callback
486         functions.
487
488         * sysdeps/mach/hurd/chroot.c: Use __file_name_lookup_under instead
489         of __hurd_file_name_lookup.
490         * sysdeps/mach/hurd/chdir.c: Likewise.
491         * sysdeps/mach/hurd/fchdir.c: Likewise.
492         * hurd/fchroot.c: Likewise.
493
494         * stdlib/Makefile (mpn-found): Don't omit %.s.
495         (mpn-copy-sysdep): Omit files in nonexistent directories.
496         (copy-mpn): Commit files to CVS.
497         * stdlib/gen-mpn-copy (translations): Update translations for GMP
498         1.906.7.
499
500         * configure.in (machine): Translate alpha* to alpha/&, hppa* to hppa/&.
501
502 Sat Oct 14 02:52:36 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
503
504         * malloc/malloc.c (_malloc_internal): Performance fix.  Move
505         if statement out of loop.
506
507         * stdio/_itoa.c, stdio/_itoa.h: Complete rewrite.  Much faster
508         implementation using GMP functions.  Contributed by
509         Torbjorn Granlund and Ulrich Drepper.
510
511         * stdio/test_rdwr.c: Include <errno.h>.
512
513         * sysdeps/i386/i586/Implies: New file.
514
515         New highly optimized string functions for i[345]86.
516         * sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
517         * sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
518         * sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
519         * sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
520         * sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
521         * sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
522         * sysdeps/i386/i586/strlen.S: New file.
523         * sysdeps/i386/memchr.c: Removed.  There is now an assembler version.
524
525         * sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
526         not correspond to used values.
527
528         * sysdeps/unix/sysv/linux/nfs/nfs.h: New file.  Simply a wrapper
529         around a kernel header file.
530         * sysdeps/unix/sysv/linux/Dist: Add it.
531         * sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
532         Likewise.
533
534         * sysdeps/unix/sysv/linux/local_lim.h: Rewrite.  Instead of
535         defining ourself we use a kernel header file.
536
537         * sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
538         call handler for i586.
539
540         * sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
541
542 Thu Oct 12 15:45:32 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
543
544         * hurd/hurd.h (file_name_lookup_under): Declare it.
545         * hurd/Makefile (headers): Add hurd/lookup.h.
546
547         * hurd/hurdinit.c (_hurd_ports_use): New function.
548         * hurd/hurd.h (_hurd_ports_use): Declare it.
549         (hurd_invoke_translator, hurd_file_name_lookup, hurd_file_name_split,
550         hurd_file_name_lookup_retry): Remove these decls.
551         * hurd/Makefile (routines): Remove invoke-trans.
552
553 Wed Oct 11 00:00:00 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
554
555         * sysdeps/i386/dl-machine.h (elf_machine_rel): Use +=, not =, to
556         apply R_386_PC32 reloc.
557
558         * Makeconfig (config-LDFLAGS): Add missing slash.
559
560         * sysdeps/mach/hurd/profil.c (fork_profil): Only call
561         update_waiter if profiling was enabled in the parent.
562
563         * csu/initfini.c: Don't pass -f flag to cp.
564
565 Tue Oct 10 23:08:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
566
567         * Makerules (build-shlib): Pass -rpath and -rpath-link options.
568         (LDFLAGS-c.so): Don't pass -dynamic-linker here.
569         * Makeconfig (+link): Pass $(sysdep-LDFLAGS).
570         (link-libc): Pass -rpath and -rpath-link options.
571
572         * MakeTAGS (all-dirs): Omit CVS directories.
573         Specify vpath directives to find source files in $(all-dirs).
574         (sources, headers): Append sources and headers from $(all-dist) to
575         these.
576         (all-dist): Filter them out of this.
577         (all-headers, all-sources): Use $(shell find ...) instead of
578         $(wildcard ...).
579
580         * sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): New variable; pass
581         -rpath-link.
582
583         * hurd/hurdexec.c: Pass poly and dealloc args to __file_exec.
584
585         * elf/Makefile (install-others): Add missing $.
586
587 Mon Oct  9 02:54:14 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
588
589         * mach/Makefile ($(objpfx)errsystems.c): Rule reenabled.
590
591         * Makeconfig (config-LDFLAGS): Define to
592         -Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
593         (rtld-installed-name): New variable.
594         * elf/Makefile (install-lib): Variable removed.
595         (install-others): Define this instead, to
596         $(libdir)(rtld-installed-name).
597         ($(libdir)(rtld-installed-name)): New target; install from ld.so.
598
599         * elf/ldd.sh.in: New file.
600         * elf/Makefile (distribute): Add ldd.sh.in.
601         (install-bin): Add ldd.
602         ($(objpfx)ldd: ldd.sh.in): New rule.
603
604         * sysdeps/mach/hurd/dl-sysdep.c: Use __hurd_fail throughout.
605         * hurd/hurd.h (__hurd_fail): Replace macro with inline function.
606         Translate some Mach errors to Hurd errors.
607
608         * elf/rtld.c (dl_main): Under --list, print msg if executable is
609         statically linked.
610
611         * elf/dl-load.c (_dl_map_object_from_fd): Rewrote program header
612         table processing.
613
614 Sat Oct  7 01:25:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
615
616         * sysdeps/stub/machine-gmon.h: Add #error.
617
618 Fri Oct  6 01:49:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
619
620         * elf/dynamic-link.h (elf_get_dynamic_info): If DYN is null, don't
621         examine it.
622
623 Fri Sep 29 03:43:51 1995  Paul Eggert  <eggert@twinsun.com>
624
625         Rewrite mktime from scratch for performance, and for correctness
626         in the presence of leap seconds.
627
628         * time/mktime.c (ydhms_tm_diff, not_equal_tm, print_tm, check_result):
629         New functions.
630         (LEAP_SECONDS_POSSIBLE, CHAR_BIT, INT_MIN, INT_MAX,
631         TIME_T_MIN, TIME_T_MAX, TM_YEAR_BASE, EPOCH_YEAR): New macros.
632         <limits.h>, <stdlib.h>: New #includes.
633         (main): Support tests with given broken-down value; support benchmarks.
634         (__mon_lengths, debugging_enabled, printtm, dist_tm, doit,
635         do_normalization, normalize, BAD_STRUCT_TM, SKIP_VALUE,
636         <ctype.h>): Remove.
637
638         * time/time.h, time/mktime.c (__mktime_internal): New offset arg.
639         * time/mktime.c (mktime), time/timegm.c (timegm): Use it.
640
641         * time/mktime.c (__mon_yday): New variable; replaces `__mon_lengths'.
642         time/offtime.c (__offtime), time/tzset.c (compute_change): Use it.
643
644         * time/offtime.c (__offtime): Remove useless assignment
645         `tp->tm_isdst = -1'.
646
647         * manual/maint.texi: Update credits.
648
649 Fri Oct  6 00:28:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
650
651         * sysdeps/unix/common/readv.S: Moved to sysdeps/unix/bsd.
652         * sysdeps/unix/common/writev.S: Moved to sysdeps/unix/bsd.
653         * sysdeps/unix/sysv/linux/readv.c: File removed.
654         * sysdeps/unix/sysv/linux/writev.c: File removed.
655         * sysdeps/unix/configure.in: Check for readv and writev syscalls.
656
657         * sysdeps/unix/configure.in: If eval doesn't set $unix_srcname,
658         set it to $unix_syscall instead of $unix_function.
659
660 Thu Oct  5 00:59:58 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
661
662         * elf/rtld.c (dl_main): Grok --list flag.
663         * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Ignore -- args.
664
665 Wed Oct  4 00:21:03 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
666
667         * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_message): New function.
668         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_message): New function.
669         * elf/link.h (_dl_sysdep_message): Declare it.
670
671         * sysdeps/unix/Makefile ($(common-objpfx)ioctls): Remove NULL from
672         the list.
673
674         * time/northamerica: Corrections to Canada data from ADO 95i.
675
676         * sysdeps/unix/sysv/linux/Makefile (headers): Don't append to this
677         unconditionally.  In socket subdir, append sys/socketcall.h; in
678         time subdir, append sys/timex.h.
679         (config-LDFLAGS): New variable.
680         * sysdeps/unix/sysv/linux/Dist: New file.
681         * Makeconfig (+link): Pass $(config-LDFLAGS) before $(LDFLAGS).
682
683         * sysdeps/generic/stpncpy.c: Don't increment DEST when zero-filling.
684
685         * elf/dlopen.c (dlopen): Don't pass USER_ENTRY arg to _dl_map_object.
686
687 Sat Sep 30 11:47:05 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
688
689         * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): If started by
690         kernel with args on stack, point _dl_hurd_data at zero data
691         instead of garbage.  When ld.so run as program, grok args
692         -LIB=MEMOBJ and pre-load shared object files found in memory
693         objects loaded by the boot loader.
694
695         * elf/link.h (struct link_map): New member `l_entry'.
696         (_dl_map_object, _dl_map_object_from_fd): Remove last arg ENTRY_POINT.
697         * elf/dl-load.c (_dl_map_object, _dl_map_object_from_fd): Remove
698         last arg ENTRY_POINT.  Store the entry point location in the
699         `l_entry' member of the new map.
700         * elf/rtld.c (dl_main): Don't pass USER_ENTRY arg to
701         _dl_map_object.  When run as program, set *USER_ENTRY to L->l_entry.
702         * elf/dl-init.c (_dl_init_next): Don't pass ENTRY_POINT arg to
703         _dl_map_object.
704
705         * posix/tstgetopt.c, posix/tstgetopt.args: Test long options too.
706
707         * sysdeps/unix/sysv/linux/i386/init-first.c (init): Save, set, and
708         restore %ebx by hand for personality syscall.
709         GCC cannot deal with spilling the dedicated GOT register.
710
711         * misc/Makefile (routines): Add mntent, which was somehow omitted.
712
713 Fri Sep 29 15:07:10 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
714
715         * sysdeps/unix/sysv/linux/adjtime.c (__adjtime):
716         Change name of field `mode' in `struct timex' to `modes'.
717         Linux-1.3.28 updates this name according to RFC 1489.
718
719 Thu Sep 28 13:05:54 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
720
721         Merge new message handling code from GNU gettext, by Drepper.
722         * intl: New directory.
723         * Makefile (subdirs): Add intl.
724
725         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Return
726         USER_ENTRY instead of storing it on our stack.
727
728         * elf/rtld.c (rtld_command): Variable removed.
729         (_dl_skip_args): New variable.
730         (dl_main): Increment _dl_skip_args instead of setting rtld_command.
731         If the link_map for the executable itself is not first in the chain,
732         make it so.
733         * sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_skip_args as
734         count of args to skip.
735
736 Thu Sep 28 09:20:04 1995  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
737
738         * stdlib/strtod.c (STRTOF): Fix handling of numbers with lots of
739         leading zeroes.
740
741 Wed Sep 27 00:27:25 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
742
743         * sysdeps/mach/hurd/getcwd.c (__getcwd): Renamed from getcwd.
744         (getcwd): Define as weak alias.
745         * sysdeps/posix/getcwd.c: Likewise.
746         * sysdeps/stub/getcwd.c: Likewise.
747         * posix/unistd.h: Declare __getcwd.
748
749         * string/string.h: Declare __strcasecmp.
750         * sysdeps/generic/strcasecmp.c (__strcasecmp): Renamed from
751         strcasecmp.
752         (strcasecmp): Define as weak alias.
753
754         * string/string.h: Declare __stpcpy.
755         * sysdeps/generic/stpcpy.c (__stpcpy): Renamed from stpcpy.
756         (stpcpy): Define as weak alias.
757
758         * sysdeps/unix/sysv/linux/Implies: Add unix/common.
759
760         * sysdeps/unix/i386/sysdep.h [HAVE_ELF] (ASM_TYPE_DIRECTIVE):
761         Don't use `type' for arg name, since we are using it as a keyword
762         in the rhs.
763
764         * sysdeps/unix/configure.in: Check for syscalls getpriority,
765         setpriority, getrlimit, setrlimit.
766
767         * sysdeps/posix/truncate.c: Include fcntl.h.
768
769         * sysdeps/generic/getdomain.c: Include string.h for strncpy decl.
770
771         * sysdeps/stub/getpriority.c: Don't include obsolete gnu-stabs.h;
772         use new stub_warning syntax.
773         * sysdeps/stub/setpriority.c: Likewise.
774         * sysdeps/stub/__longjmp.c: Likewise.
775         * sysdeps/stub/_exit.c: Likewise.
776         * sysdeps/stub/accept.c: Likewise.
777         * sysdeps/stub/acos.c: Likewise.
778         * sysdeps/stub/alarm.c: Likewise.
779         * sysdeps/stub/asin.c: Likewise.
780         * sysdeps/stub/atan2.c: Likewise.
781         * sysdeps/stub/bind.c: Likewise.
782         * sysdeps/stub/cbrt.c: Likewise.
783         * sysdeps/stub/chroot.c: Likewise.
784         * sysdeps/stub/closedir.c: Likewise.
785         * sysdeps/stub/connect.c: Likewise.
786         * sysdeps/stub/cos.c: Likewise.
787         * sysdeps/stub/cosh.c: Likewise.
788         * sysdeps/stub/ctermid.c: Likewise.
789         * sysdeps/stub/cuserid.c: Likewise.
790         * sysdeps/stub/defs.c: Likewise.
791         * sysdeps/stub/exp.c: Likewise.
792         * sysdeps/stub/fmod.c: Likewise.
793         * sysdeps/stub/frexp.c: Likewise.
794         * sysdeps/stub/fsync.c: Likewise.
795         * sysdeps/stub/getcwd.c: Likewise.
796         * sysdeps/stub/getenv.c: Likewise.
797         * sysdeps/stub/gethostid.c: Likewise.
798         * sysdeps/stub/getlogin.c: Likewise.
799         * sysdeps/stub/getpeername.c: Likewise.
800         * sysdeps/stub/getrlimit.c: Likewise.
801         * sysdeps/stub/getsockname.c: Likewise.
802         * sysdeps/stub/getsockopt.c: Likewise.
803         * sysdeps/stub/listen.c: Likewise.
804         * sysdeps/stub/log.c: Likewise.
805         * sysdeps/stub/log10.c: Likewise.
806         * sysdeps/stub/mkfifo.c: Likewise.
807         * sysdeps/stub/morecore.c: Likewise.
808         * sysdeps/stub/nice.c: Likewise.
809         * sysdeps/stub/nlist.c: Likewise.
810         * sysdeps/stub/opendir.c: Likewise.
811         * sysdeps/stub/pipestream.c: Likewise.
812         * sysdeps/stub/ptrace.c: Likewise.
813         * sysdeps/stub/putenv.c: Likewise.
814         * sysdeps/stub/readdir.c: Likewise.
815         * sysdeps/stub/reboot.c: Likewise.
816         * sysdeps/stub/recv.c: Likewise.
817         * sysdeps/stub/recvfrom.c: Likewise.
818         * sysdeps/stub/rename.c: Likewise.
819         * sysdeps/stub/rewinddir.c: Likewise.
820         * sysdeps/stub/seekdir.c: Likewise.
821         * sysdeps/stub/send.c: Likewise.
822         * sysdeps/stub/sendto.c: Likewise.
823         * sysdeps/stub/setegid.c: Likewise.
824         * sysdeps/stub/seteuid.c: Likewise.
825         * sysdeps/stub/setgroups.c: Likewise.
826         * sysdeps/stub/sethostid.c: Likewise.
827         * sysdeps/stub/sethostname.c: Likewise.
828         * sysdeps/stub/setjmp.c: Likewise.
829         * sysdeps/stub/setrlimit.c: Likewise.
830         * sysdeps/stub/setsockopt.c: Likewise.
831         * sysdeps/stub/shutdown.c: Likewise.
832         * sysdeps/stub/signal.c: Likewise.
833         * sysdeps/stub/sigsuspend.c: Likewise.
834         * sysdeps/stub/sin.c: Likewise.
835         * sysdeps/stub/sinh.c: Likewise.
836         * sysdeps/stub/socket.c: Likewise.
837         * sysdeps/stub/socketpair.c: Likewise.
838         * sysdeps/stub/sqrt.c: Likewise.
839         * sysdeps/stub/sync.c: Likewise.
840 M sysd-stdio.c
841         * sysdeps/stub/system.c: Likewise.
842         * sysdeps/stub/tan.c: Likewise.
843         * sysdeps/stub/tanh.c: Likewise.
844         * sysdeps/stub/tcdrain.c: Likewise.
845         * sysdeps/stub/tcflow.c: Likewise.
846         * sysdeps/stub/tcgetpgrp.c: Likewise.
847         * sysdeps/stub/tcsendbrk.c: Likewise.
848         * sysdeps/stub/tcsetattr.c: Likewise.
849         * sysdeps/stub/tcsetpgrp.c: Likewise.
850         * sysdeps/stub/telldir.c: Likewise.
851         * sysdeps/stub/tempname.c: Likewise.
852         * sysdeps/stub/ttyname.c: Likewise.
853         * sysdeps/stub/ttyname_r.c: Likewise.
854         * sysdeps/stub/utime.c: Likewise.
855
856         * gmon/gmon.c (moncontrol): Don't cast buffer arg to profil.
857
858         * time/mktime.c (localtime_r): Use 0 instead of NULL.
859
860         * config.make.in (AS): New variable; set to `$(CC) -c'.
861
862         * posix/unistd.h [__USE_BSD]: Declare profil.
863
864         * elf/dl-load.c (_dl_map_object_from_fd): New function, broken out
865         of _dl_map_object.
866         (_dl_map_object): Call it.
867         * elf/link.h (_dl_map_object_from_fd): Declare it.
868
869 Tue Sep 26 16:50:17 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
870
871         * locale/libintl.h: Rewritten by Ulrich Drepper for use with GNU
872         gettext code.
873
874         * sysdeps/unix/sysv/linux/sys/param.h: New file.
875         * sysdeps/unix/sysv/linux/Subdirs: File removed.
876
877         * libc-symbols.h (_LIBC): Define to 1, not just empty.
878
879         * gmon: New directory of profiling code, incorporated from
880         4.4BSD-Lite and modified.
881         * sysdeps/i386/machine-gmon.h: New file.
882         * sysdeps/stub/machine-gmon.h: New file.
883         * sysdeps/mach/hurd/profil.c: New file.
884         * sysdeps/stub/profil.c: New file.
885         * sysdeps/unix/bsd/profil.S: New file.
886         * Makefile (subdirs): Add gmon.
887         * csu/gmon-start.c: New file.
888         * csu/Makefile (extra-objs): Add gmon-start.o,
889         g$(start-installed-name).
890         (install-lib, omit-deps): Add g$(start-installed-name).
891         ($(objpfx)g$(start-installed-name)): New target.
892
893 Fri Sep 22 14:24:25 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
894
895         * sysdeps/mach/hurd/Makefile: Elide sunrpc from $(subdirs) for the
896         time being.
897
898 Thu Sep 21 00:03:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
899
900         * sysdeps/unix/configure.in: Check for `profil' syscall.
901
902         * manual/Makefile (infodir, prefix, INSTALL, INSTALL_DATA): Variables
903         removed.
904
905         * time/africa, time/asia, time/europe, time/northamerica,
906         time/yearistype: New data from ADO 95h.
907
908         * Makerules (build-shlib): Use $(@F:lib%.so=%) in place of
909         $(notdir $*), so it wins for the explicit libc.so rule as well as the
910         pattern rule.
911
912         * sysdeps/stub/sys/sem_buf.h (union semun): New type.
913
914         * sysdeps/mach/hurd/i386/init-first.c (init1) [PIC]: Call
915         __libc_global_ctors.
916         * sysdeps/i386/init-first.c: Rewritten.
917         * sysdeps/unix/sysv/linux/i386/init-first.S: File removed.
918         * sysdeps/unix/sysv/linux/i386/init-first.c: New file.
919
920         * sysdeps/unix/sysv/linux/i386/fpu_control.h: Fix name in decl of
921         ___fpu_control.
922
923         * Makerules (build-shlib): New canned sequence, broken out of
924         lib%.so rule.  Link in $^ instead of just $<.
925         (lib%.so: lib%_pic.a): Use it.
926         (libc.so): New target; use $(build-shlib) for cmds, but also depend
927         on soinit.so first and sofini.so last.
928
929         * elf/soinit.c: New file.
930         * elf/sofini.c: New file.
931         * elf/Makefile (distribute): Add soinit.c and sofini.c.
932         (extra-objs): Add soinit.so and sofini.so.
933
934         * sysvipc/sys/shm.h (shmat): Fix return type to char *.
935         * sysdeps/stub/sys/ipc_buf.h (key_t): Type removed.
936
937         * misc/syslog.c (vsyslog): Rewritten using open_memstream to
938         dynamically allocate buffers.
939
940         * Makerules (install-lib-nosubdir): Make this, rather than
941         install-no-libc.a, depend on the installed shared libraries.
942
943 Wed Sep 20 18:02:03 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
944
945         * locale/locale.c: Include errno.h.
946         * locale/localedef.c: Likewise.
947
948 Tue Sep 19 00:02:06 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
949
950         * Makefile (distclean-1): Remove config.cache, config.log, config.h.
951         (parent-mostlyclean): Remove all flavors of the parent library.
952
953         * misc/mntent.c (getmntent): Skip multiple whitespace chars
954         between fields.
955
956         * hurd/hurdstartup.c (_hurd_startup): If RPC returns
957         EXEC_STACK_ARGS flag, get args from stack.
958         If args on stack but have info from RPC, relocate args on stack to make
959         space for struct hurd_startup_data.
960
961 Mon Sep 18 15:06:00 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
962
963         * elf/dl-object.c: Include errno.h.
964         * posix/execvp.c: Likewise.
965         * dirent/scandir.c: Likewise.
966         * sysdeps/posix/system.c: Likewise.
967         * sysdeps/generic/setenv.c: Likewise.
968         * stdlib/msort.c: Likewise.
969         * stdio/memstream.c: Likewise.
970         * stdio/fclose.c: Likewise.
971         * stdio/getdelim.c: Likewise.
972         * stdio/setvbuf.c: Likewise.
973         * sysdeps/ieee754/ldexp.c: Likewise.
974         * locale/locfile-parse.c: Likewise.
975
976         * stdlib/lcong48_r.c: Don't check for null argument; let it fault.
977         * stdlib/seed48_r.c: Likewise.
978         * stdlib/srand48_r.c: Likewise.
979         * stdlib/jrand48_r.c: Likewise.
980         * stdlib/nrand48_r.c: Likewise.
981
982         * Makeconfig (+gccwarn): Remove -Wbad-function-cast, which seems
983         to be useless.
984
985 Mon Sep 18 12:39:22 1995  Paul Eggert  <eggert@twinsun.com>
986
987         * mktime.c (localtime_r): Add substitute if the system doesn't
988         provide one.
989
990 Mon Sep 18 14:39:20 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
991
992         * time/gmtime.c (gmtime_r): Define as weak alias.
993         * time/localtime.c (localtime_r): Define as weak alias.
994         * time/time.h [__USE_REENTRANT] (gmtime_r, localtime_r): Declare them.
995
996         * errno.h: Only define _ERRNO_H #ifndef __need_Emath.
997         #undef __need_Emath after including errnos.h.
998         [_ERRNO_H]: Protect decls with this.
999
1000 Sun Sep 17 08:22:12 1995  Paul Eggert  <eggert@twinsun.com>
1001
1002         Fix mktime so that it does not write over localtime's returned value.
1003         * localtime.c (__localtime_r): New function, with extra arg
1004         specifying where to store result.
1005         (localtime): Use it.
1006         (_tmbuf): New var.
1007         * gmtime.c (__gmtime_r, gmtime, _tmbuf): Likewise.
1008         * mktime.c (__mktime_internal): Conversion function is now
1009         __localtime_r style, not localtime style.
1010         (mktime): Pass __localtime_r, not localtime.
1011         * timegm.c (timegm): Pass __gmtime_r, not gmtime.
1012         * offtime.c (__offtime): New arg specifying where to store result.
1013         * time.h (__mktime_internal, __offtime): Adjust decls accordingly.
1014         (__gmtime_r, __localtime_r): New decls.
1015
1016         * time/localtime.c: <stddef.h>, <ctype.h>, <stdio.h>,
1017         <stdlib.h>, <string.h>: Remove includes.
1018         <errno.h>: Add include.
1019
1020         * time/mktime.c, time/time.h, time/timegm.c (__mktime_internal):
1021         Renamed from _mktime_internal to avoid namespace pollution.
1022
1023         * time/gmtime.c: Clear tm_isdst.
1024
1025 Mon Sep 18 01:58:40 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1026
1027         * misc/efgcvt_r.c (ecvt_r, fcvt_r): Last arg is size_t, not int.
1028         * stdlib/stdlib.h (ecvt_r, fcvt_r): Fix type of last arg: make it
1029         size_t.
1030
1031         * sysdeps/mach/hurd/fpathconf.c: Call __io_pathconf instead of
1032         __file_pathconf.
1033         * sysdeps/mach/hurd/pathconf.c: Likewise.
1034
1035         * Makefile (subdirs): Add sysvipc.
1036
1037         * stdlib/srand48_r.c (srand48_r): Use UL suffix for huge constant.
1038         * stdlib/drand48-iter.c (__drand48_iterate): Likewise.
1039
1040 Sun Sep 17 18:29:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1041
1042         * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Call
1043          __file_set_size instead of __file_truncate.
1044
1045         * features.h (__USE_REENTRANT): New macro.
1046
1047         * sysdeps/mach/hurd/truncate.c: Call __file_set_size instead of
1048         __file_truncate.
1049         * sysdeps/mach/hurd/ftruncate.c: Likewise.
1050
1051         * sysdeps/unix/sysv/linux/dl-machine.h: File removed.
1052
1053 Sat Sep 16 17:47:19 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
1054
1055         * elf/elf.h (AT_GID): Fix typo: Read -> Real.
1056
1057         * misc/efgvt_r.c: New file.  Reentrant version of [efg]cvt functions.
1058         * misc/efgcvt.c: Rewrite to use reentrant functions.
1059         * misc/search.h: Many decls for hsearch functions.
1060         * misc/hsearch_r.c: New file.  Reentrant version of functions from
1061         hsearch family.
1062         * misc/hsearch.c, misc/tsearch.c: New files.
1063         * misc/Makefile (routines): Add efgcvt_r, hsearch_r, hsearch, tsearch.
1064
1065         * posix/unistd.h (ttyname_r): Add prototype for new function.
1066
1067         * stdlib/drand48_r.c, stdlib/erand48_r.c, stdlib/jrand48_r.c,
1068         stdlib/lrand48_r.c, stdlib/mrand48_r.c, stdlib/nrand48_r.c,
1069         stdlib/seed48_r.c, stdlib/srand48_r.c, stdlib/lcong48_r.c,
1070         stdlib/drand48-iter.c: New files implementing reentrant versions
1071         of functions from drand48 family.
1072         * stdlib/seed48.c, stdlib/drand48.c, stdlib/erand48.c,
1073         stdlib/jrand48.c, stdlib/lrand48.c, stdlib/mrand48.c,
1074         stdlib/nrand48.c, stdlib/srand48.c, stdlib/lcong48.c:
1075         Rewrite to use reentrant versions.
1076         * stdlib/a64l.c, stdlib/l64a.c: New files.  Implement a64l()
1077         and l64a() functions from SysV library.
1078         * stdlib/Makefile (routines): Add drand48_r, erand48_r, lrand48_r,
1079         nrand48_r, mrand48_r, jrand48_r, srand48_r, seed48_r, lcong48_r,
1080         drand48-iter, a64l, l64a.
1081         * stdlib/stdlib.h: Declare them.
1082
1083         * stdlib/random_r.c: New file.  Reentrant version of functions
1084         from random family.
1085         * stdlib/stdlib.h: Declare them.
1086         * stdlib/random.c: Rewrite to use reentrant functions.
1087
1088         * string/strerror_r.c: New file.  Reentrant version.
1089         * string/strerror.c: Change for new _strerror_internal form.
1090         * string/Makefile (routines): Add strerror_r.
1091
1092         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Set default
1093         value of user_entry to `_start'.
1094         Close AT_ENTRY case with `break'.
1095
1096         * sysdeps/generic/strstr.c: New and much faster implementation
1097         by Stephen R. van den Berg.
1098
1099         * sysdeps/generic/_strerror.c: _strerror_internal now takes
1100         three argument and has and explicit buffer length.
1101         * sysdeps/mach/_strerror.c: Change for new interface with three
1102         arguments.
1103         * stdio/perror.c, stdio/vfprintf.c: Callers changed.
1104
1105         * sysdeps/mach/hurd/ttyname_r.c: New file.  Reentrant version.
1106         * sysdeps/posix/ttyname_r.c: New file.  Reentrant version.
1107         * sysdeps/stub/ttyname_r: New file.  Define as dummy function.
1108
1109         * sysdeps/posix/utimes.c: Include <utime.h> for prototype.
1110         (utimes): First parameter to utime must be file, not path.
1111
1112         * sysdeps/posix/sysconf.c (__sysconf): Test for CLK_TCK in case
1113         _SC_CLK_TCK and return it when available.
1114         Test for STREAM_MAX in case _SC_STREAM_MAX and return it when
1115         available.
1116         Add case for _SC_2_LOCALEDEF which is now available.
1117
1118         * posix/sys/types.h [__USE_SVID] (key_t): New type.
1119         * sysvipc/Makefile, sysvipc/ftok.c, sysvipc/sys/ipc.h,
1120         sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h,
1121         sysdeps/stub/sys/msq_buf.h, sysdeps/stub/sys/sem_buf.h,
1122         sysdeps/stub/sys/shm_buf.h, sysdeps/stub/sys/ipc_buf.h,
1123         sysdeps/stub/semctl.c, sysdeps/stub/semget.c, sysdeps/stub/semop.c,
1124         sysdeps/stub/shmat.c, sysdeps/stub/shmctl.c, sysdeps/stub/shmdt.c,
1125         sysdeps/stub/shmget.c, sysdeps/stub/msgctl.c, sysdeps/stub/msgget.c,
1126         sysdeps/stub/msgrcv.c, sysdeps/stub/msgsnd.c: New files.
1127         Add implementation of System V IPC.
1128
1129 Fri Sep 15 21:34:28 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1130
1131         * hurd/hurdsig.c: Include <hurd/crash.h> in place of <hurd/core.h>.
1132         (write_corefile): Call __crash_dump_task instead of __core_dump_task.
1133         Use envariable CRASHSERVER instead of CORESERVER.
1134         * hurd/Makefile (user-interfaces): Replace hurd/core with hurd/crash.
1135
1136 Tue Sep 12 14:30:07 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1137
1138         * misc/mntent.c: New file.
1139         * misc/mntent.h: New file.
1140         * misc/Makefile (headers): Added mntent.h.
1141         (routines): Added mntent.
1142         * misc/fstab.c: Rewritten using mntent functions.
1143
1144 Mon Sep 11 14:00:14 1995  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
1145
1146         * posix/glob.c (glob): Comment fix.
1147
1148 Fri Sep  8 16:25:22 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1149
1150         * libc-symbols.h [HAVE_ELF] (symbol_set_declare): Declare the
1151         symbols weak.
1152
1153         * conf/portability.h (NEED_INETADDR, NEED_INETATON): Define to 1,
1154         not empty.
1155
1156 Fri Sep  8 16:32:12 1995  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
1157
1158         * sysdeps/unix/sysv/linux/Implies,
1159         sysdeps/unix/sysv/linux/Makefile, sysdeps/unix/sysv/linux/Subdirs,
1160         sysdeps/unix/sysv/linux/accept.S, sysdeps/unix/sysv/linux/adjtime.c,
1161         sysdeps/unix/sysv/linux/adjtimex.S, sysdeps/unix/sysv/linux/bind.S,
1162         sysdeps/unix/sysv/linux/connect.S, sysdeps/unix/sysv/linux/direct.h,
1163         sysdeps/unix/sysv/linux/dl-machine.h, sysdeps/unix/sysv/linux/errnos.h,
1164         sysdeps/unix/sysv/linux/fork.S, sysdeps/unix/sysv/linux/gethostid.c,
1165         sysdeps/unix/sysv/linux/gethostname.C,
1166         sysdeps/unix/sysv/linux/getpeername.S,
1167         sysdeps/unix/sysv/linux/getpgid.S, sysdeps/unix/sysv/linux/getpgrp.S,
1168         sysdeps/unix/sysv/linux/getsockname.S,
1169         sysdeps/unix/sysv/linux/getsockopt.S, sysdeps/unix/sysv/linux/gtty.S,
1170         sysdeps/unix/sysv/linux/listen.S, sysdeps/unix/sysv/linux/local_lim.h,
1171         sysdeps/unix/sysv/linux/madvise.c, sysdeps/unix/sysv/linux/msgctl.c,
1172         sysdeps/unix/sysv/linux/msgget.c, sysdeps/unix/sysv/linux/msgrcv.c,
1173         sysdeps/unix/sysv/linux/msgsnd.c, sysdeps/unix/sysv/linux/pipe.S,
1174         sysdeps/unix/sysv/linux/poll.c, sysdeps/unix/sysv/linux/readv.c,
1175         sysdeps/unix/sysv/linux/recv.S, sysdeps/unix/sysv/linux/recvfrom.S,
1176         sysdeps/unix/sysv/linux/recvmsg.S, sysdeps/unix/sysv/linux/semctl.c,
1177         sysdeps/unix/sysv/linux/semget.c, sysdeps/unix/sysv/linux/semop.c,
1178         sysdeps/unix/sysv/linux/send.S, sysdeps/unix/sysv/linux/sendmsg.S,
1179         sysdeps/unix/sysv/linux/sendto.S, sysdeps/unix/sysv/linux/setegid.c,
1180         sysdeps/unix/sysv/linux/seteuid.c, sysdeps/unix/sysv/linux/sethostid.c,
1181         sysdeps/unix/sysv/linux/setpgid.c, sysdeps/unix/sysv/linux/setpgrp.c,
1182         sysdeps/unix/sysv/linux/setsid.S, sysdeps/unix/sysv/linux/setsockopt.S,
1183         sysdeps/unix/sysv/linux/settimeofday.S,
1184         sysdeps/unix/sysv/linux/shmat.c, sysdeps/unix/sysv/linux/shmctl.c,
1185         sysdeps/unix/sysv/linux/shmdt.c, sysdeps/unix/sysv/linux/shmget.c,
1186         sysdeps/unix/sysv/linux/shutdown.S,
1187         sysdeps/unix/sysv/linux/sigaction.S, sysdeps/unix/sysv/linux/signal.S,
1188         sysdeps/unix/sysv/linux/sigpending.S, sysdeps/unix/sysv/linux/sigset.h,
1189         sysdeps/unix/sysv/linux/sockaddrcom.h,
1190         sysdeps/unix/sysv/linux/socketpair.S, sysdeps/unix/sysv/linux/speed.c,
1191         sysdeps/unix/sysv/linux/statbuf.h, sysdeps/unix/sysv/linux/stty.S,
1192         sysdeps/unix/sysv/linux/syscall.h, sysdeps/unix/sysv/linux/sysconf.c,
1193         sysdeps/unix/sysv/linux/tcdrain.c, sysdeps/unix/sysv/linux/tcflow.c,
1194         sysdeps/unix/sysv/linux/tcflush.c, sysdeps/unix/sysv/linux/tcgetattr.c,
1195         sysdeps/unix/sysv/linux/tcsetattr.c,
1196         sysdeps/unix/sysv/linux/termbits.h, sysdeps/unix/sysv/linux/ualarm.c,
1197         sysdeps/unix/sysv/linux/ulimit.c, sysdeps/unix/sysv/linux/usleep.c,
1198         sysdeps/unix/sysv/linux/utsnamelen.h, sysdeps/unix/sysv/linux/vfork.c,
1199         sysdeps/unix/sysv/linux/wait.c, sysdeps/unix/sysv/linux/wait4.S,
1200         sysdeps/unix/sysv/linux/waitpid.c, sysdeps/unix/sysv/linux/writev.c:
1201         New Linux/ELF specific, architecture independent files.
1202         * sysdeps/unix/sysv/linux/i386/Dist,
1203         sysdeps/unix/sysv/linux/i386/Makefile,
1204         sysdeps/unix/sysv/linux/i386/brk.S,
1205         sysdeps/unix/sysv/linux/i386/fcntlbits.h,
1206         sysdeps/unix/sysv/linux/i386/fpu_control.c,
1207         sysdeps/unix/sysv/linux/i386/fpu_control.h,
1208         sysdeps/unix/sysv/linux/i386/fstat.S,
1209         sysdeps/unix/sysv/linux/i386/fxstat.S,
1210         sysdeps/unix/sysv/linux/i386/ieee_fpu.c,
1211         sysdeps/unix/sysv/linux/i386/init-first.S,
1212         sysdeps/unix/sysv/linux/i386/ipc.S,
1213         sysdeps/unix/sysv/linux/i386/lstat.S,
1214         sysdeps/unix/sysv/linux/i386/lxstat.S,
1215         sysdeps/unix/sysv/linux/i386/mknod.S,
1216         sysdeps/unix/sysv/linux/i386/mmap.S,
1217         sysdeps/unix/sysv/linux/i386/sbrk.S,
1218         sysdeps/unix/sysv/linux/i386/setfpucw.c,
1219         sysdeps/unix/sysv/linux/i386/signum.h,
1220         sysdeps/unix/sysv/linux/i386/socket.S,
1221         sysdeps/unix/sysv/linux/i386/stat.S,
1222         sysdeps/unix/sysv/linux/i386/syscall.S,
1223         sysdeps/unix/sysv/linux/i386/sysdep.S,
1224         sysdeps/unix/sysv/linux/i386/sysdep.h,
1225         sysdeps/unix/sysv/linux/i386/xmknod.S,
1226         sysdeps/unix/sysv/linux/i386/xstat.S:
1227         New Linux i386/ELF specific files.
1228         * sysdeps/unix/sysv/linux/sys/ipc_buf.h,
1229         sysdeps/unix/sysv/linux/sys/mman.h,
1230         sysdeps/unix/sysv/linux/sys/msq_buf.h,
1231         sysdeps/unix/sysv/linux/sys/sem_buf.h,
1232         sysdeps/unix/sysv/linux/sys/shm_buf.h,
1233         sysdeps/unix/sysv/linux/sys/socketcall.h,
1234         sysdeps/unix/sysv/linux/sys/timex.h:
1235         New Linux/ELF specific, architecture independent header files.
1236         * sysdeps/unix/sysv/sysv4/linux: Tree removed.
1237
1238 Thu Sep  7 17:05:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1239
1240         * stdlib/msort.c (msort_with_tmp): Fixed alignment test.  B1 and
1241         B2 are always congruent; just test that B1 is aligned.
1242
1243 Wed Sep  6 19:41:10 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1244
1245         * elf/dl-lookup.c (_dl_lookup_symbol): Test WEAK_VALUE.s rather
1246         than WEAK_VALUE.a to see if a weak value has been set.  A valid
1247         weak value may set WEAK_VALUE.a to 0.
1248
1249 Fri Sep  1 16:16:12 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1250
1251         * sysdeps/mach/hurd/i386/longjmp-ts.c: Use new array format for
1252         jmp_buf.
1253
1254         * libc-symbols.h (link_warning): Take new first arg SYMBOL; ask
1255         for a warning on references to that specific symbol, not the
1256         entire containing object file.
1257         (stub_warning): Pass symbol name to link_warning.
1258         * stdio/gets.c: Pass function name in link_warning invocation.
1259
1260         * hurd/intr-msg.c: Treat apparent EINTR return from msg trap like
1261         MACH_SEND_INTERRUPTED.  That indicates interrupt_operation was
1262         sent, but failed.
1263
1264         * stdlib/msort.c: Include memcopy.h.
1265         (msort_with_tmp): If operating on aligned op_t words, use direct word
1266         fetches and stores.
1267
1268         * sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Add
1269         missing backslash.
1270
1271 Thu Aug 31 13:23:35 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1272
1273         * sysdeps/unix/i386/brk.S [PIC]: Set __curbrk through the GOT.
1274
1275         Rewrote i386 setjmp code in assembly, so as to avoid fighting
1276         with the compiler for the register values.
1277         * sysdeps/i386/setjmp.S, sysdeps/i386/__longjmp.S: New files.
1278         * sysdeps/i386/setjmp.c, sysdeps/i386/__longjmp.c: Files removed.
1279         * sysdeps/i386/jmp_buf.h [! _ASM] (__jmp_buf): Define as array of ints.
1280         [__USE_MISC || _ASM] (JB_*): New macros, for indices therein.
1281         (_JMPBUF_UNWINDS): Use JB_SP.
1282
1283 Wed Aug 30 16:44:55 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1284
1285         * sysdeps/mach/hurd/select.c: Deal with out of order replies
1286         during io_select request loop.
1287         Handle MACH_RCV_TIMED_OUT error from requests.
1288         * hurd/intr-msg.c: If the user passed the MACH_RCV_TIMEOUT option,
1289         distinguish MACH_RCV_TIMED_OUT from EINTR.
1290
1291         * posix/glob.c (glob): Use realloc to extend strings for GLOB_MARK
1292         slash.
1293         (glob_in_dir): Don't allocate extra byte here.
1294
1295         * sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
1296         Decrement the DT_RELSZ value for the skipped reloc.
1297
1298 Tue Aug 29 12:35:56 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1299
1300         * time/australasia: Updated data from ADO.
1301
1302 Mon Aug 28 17:47:11 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1303
1304         * dirent/dirent.h: Don't include <dirstream.h>.
1305         Instead, define DIR as typedef for (undefined) `struct __dirstream'.
1306
1307 Fri Aug 25 12:12:42 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1308
1309         * sysdeps/mach/hurd/dirstream.h: Define `struct __dirstream'
1310         instead of `DIR'.
1311         * sysdeps/unix/bsd/dirstream.h: Likewise.
1312         * sysdeps/stub/dirstream.h: Likewise.
1313         * sysdeps/unix/dirstream.h: Likewise.
1314         * sysdeps/mach/hurd/telldir.c: Include "dirstream.h".
1315         * sysdeps/mach/hurd/seekdir.c: Likewise.
1316         * sysdeps/mach/hurd/opendir.c: Likewise.
1317         * sysdeps/mach/hurd/closedir.c: Likewise.
1318         * sysdeps/mach/hurd/readdir.c: Likewise.
1319         * sysdeps/unix/telldir.c: Likewise.
1320         * sysdeps/unix/seekdir.c: Likewise.
1321         * sysdeps/unix/rewinddir.c: Likewise.
1322         * sysdeps/unix/readdir.c: Likewise.
1323         * sysdeps/unix/opendir.c: Likewise.
1324         * sysdeps/unix/closedir.c: Likewise.
1325         * sysdeps/unix/bsd/telldir.c: Likewise.
1326         * sysdeps/unix/bsd/readdir.c: Likewise.
1327         * dirent/Makefile (headers): Remove dirstream.h.
1328         (distribute): Put it here instead.
1329
1330         * sysdeps/mach/hurd/mmap.c: Fix inverted test of MAP_FIXED.
1331
1332         * stdio/vfscanf.c (number): Allow field width to inhibit first
1333         digit after base detection.
1334
1335         * stdio/vfprintf.c (vfprintf: %s): Never search past the limit
1336         specified by the precision.
1337
1338         * grp/grpread.c (__grpscan): New function.
1339         * grp/grp.h (__grpscan): Declare it.
1340         * grp/getgrgid.c: Use __grpscan.
1341         * grp/getgrnam.c: Likewise.
1342         * pwd/pwdread.c (__pwdscan): New function.
1343         * pwd/pwd.h (__pwdscan): Declare it.
1344         * pwd/getpwnam.c: Use __pwdscan.
1345         * pwd/getpwuid.c: Likewise.
1346
1347 Thu Aug 24 16:29:40 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1348
1349         * sysdeps/mach/hurd/mmap.c: Treat (FLAGS & MAP_TYPE) == 0 like
1350         MAP_FILE.
1351
1352         * hurd/thread-cancel.c: Return EINTR when called on self.
1353         * sysdeps/i386/elf/start.S (data_start): Define as weak alias for
1354         __data_start.
1355
1356 Tue Aug 22 16:49:12 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1357
1358         * inet/netdb.h: Moved to resolv.
1359         * inet/Makefile (headers): Remove netdb.h.
1360         * resolv/Makefile (headers): Add netdb.h.
1361         * resolv/gethnamaddr.c, resolv/inet_addr.c, resolv/netdb.h,
1362         resolv/res_send.c: Updated from BIND-4.9.3-BETA26.
1363
1364         * hurd/thread-cancel.c: If SS->cancel_hook is not null, call it before
1365         resuming the thread.
1366         * hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel_hook'.
1367
1368         * hurd/Makefile: Removed dep on hurd/signal.h for RPC stub objects.
1369
1370 Mon Aug 21 16:37:09 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1371
1372         * sysdeps/i386/dl-machine.h (elf_machine_rel): Grok R_386_NONE
1373         relocs, and do nothing.  Why the linker generates them we may
1374         never know.
1375
1376 Thu Aug 17 16:18:38 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1377
1378         * sysdeps/mach/hurd/Makefile: Don't elide sunrpc and manual from
1379         `subdirs' variable.
1380
1381         * sysdeps/mach/hurd/i386/intr-msg.h: New file.
1382         * hurd/intr-msg.c: Use INTR_MSG_TRAP macro from machine-dependent
1383         "intr-msg.h" for special syscall code, instead of i386-specific asm.
1384         * hurd/hurdsig.c: Use INTR_MSG_BACK_OUT macro from
1385         machine-dependent "intr-msg.h" before mutating thread state to
1386         skip RPC.
1387
1388         * sysdeps/mach/hurd/i386/trampoline.c: If PC is inside
1389         _hurd_intr_rpc_mach_msg special syscall code, use real SP saved in
1390         %ecx.
1391
1392         * Makeconfig (link-libc): New variable; use shared library if
1393         available.
1394         (+link): Use it.
1395
1396         * sysdeps/mach/hurd/fork.c (_hurd_fork_locks): Variable removed.
1397         Instead, declare with `symbol_set_declare'.
1398         (fork): Use symbol_set_* macros for _hurd_fork_locks.
1399         Use SS->thread instead of __mach_thread_self ().  Suspend all
1400         other threads during task_create and port copying.
1401
1402 Wed Aug 16 17:04:26 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1403
1404         * hurd/intr-msg.c: Fixed calculation of syscall %esp.
1405
1406 Tue Aug 15 12:26:18 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1407
1408         * hurd/hurdsig.c (_hurdsig_abort_rpcs): Remove `static'.
1409
1410         * hurd/Makefile (sig): Add intr-msg.
1411
1412 Mon Aug 14 16:51:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1413
1414         * hurd/thread-cancel.c: New file.
1415         * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): In
1416         rpc_wait case, frob mach_msg args to set timeout on receive.
1417         (_hurdsig_rcv_interrupted_p): Function removed.
1418         * sysdeps/mach/hurd/alpha/trampoline.c: Likewise.
1419         * sysdeps/mach/hurd/hppa/trampoline.c: Likewise.
1420         * sysdeps/mach/hurd/mips/trampoline.c: Likewise.
1421         * hurd/intr-msg.c: New file.
1422         * hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel'.
1423         (_hurdsig_rcv_interrupted_p): Declaration removed.
1424         (HURD_EINTR_RPC): Macro removed.
1425         (_hurd_longjmp_thread_state, _hurd_interrupted_rpc_timeout): Declare
1426         these.
1427         * hurd/intr-rpc.h: New file.
1428         * hurd/intr-rpc.defs: Just import intr-rpc.h.
1429         * hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): New variable.
1430         (interrupted_reply_port_location): Take new flag arg; only catch
1431         faults if it's set.
1432         (abort_rpcs): Rename to _hurdsig_abort_rpcs; take same new flag arg.
1433         No longer use _hurdsig_rcv_interrupted_p; instead compare PC to
1434         &_hurd_intr_rpc_msg_in_trap.  If before it, mutate state to simulate
1435         MACH_SEND_INTERRUPTED return; on it, interrupt the operation.  All
1436         callers changed.
1437         * hurd/hurd.h (hurd_thread_cancel, hurd_check_cancel): Declare these.
1438         * hurd/Makefile (distribute): Remove intr-rpc.awk.
1439         (sig): Add thread-cancel.
1440         (transform-user-stub, transform-user-stub-output): Variables removed.
1441         * sysdeps/mach/hurd/dl-sysdep.c: Change all RPCs from
1442         `__hurd_intr_rpc_*' to `__*'.
1443         (_hurd_intr_rpc_mach_msg): New function.
1444         (_hurd_thread_sigstate): Function removed.
1445         * sysdeps/mach/hurd/ioctl.c: Use _hurd_intr_rpc_mach_msg function,
1446         instead of __mach_msg inside HURD_EINTR_RPC macro.
1447
1448         * sysdeps/generic/morecore.c [__GNU_LIBRARY__]: Declare `__sbrk'
1449         to take ptrdiff_t arg.
1450
1451         * sysdeps/mach/hurd/fork.c: Remove _hurd_longjmp_thread_state decl.
1452
1453         * sysdeps/mach/hurd/kill.c (kill_pid): Don't make `inline'.
1454
1455         * libc-symbols.h [GCC >= 2.7] (strong_alias, weak_symbol,
1456         weak_alias): Use `extern' storage class.
1457
1458 Wed Aug  9 14:25:35 1995  Miles Bader  <miles@geech.gnu.ai.mit.edu>
1459
1460         * sysdeps/mach/hurd/setuid.c (__setuid): Switch the port-type and
1461         port-count parameters to __auth_makeauth.
1462         * sysdeps/mach/hurd/setgid.c (__setgid): Ditto.
1463
1464 Tue Aug  8 12:22:59 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1465
1466         * hurd/sigunwind.c: Remove _hurd_longjmp_thread_state decl.
1467
1468         * inet/netinet/tcp.h: New file, incorporated from 4.4BSD-Lite.
1469
1470 Tue Aug  8 12:06:04 1995  Michael I. Bushnell, p/BSG  <mib@duality.gnu.ai.mit.edu>
1471
1472         * inet/netinet/in.h (IP_MULTICAST_TTL, IP_MULTICAST_LOOP,
1473         IP_MULTICAST_IP, IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP): New IP
1474         layer socket options.
1475         (IPPROTO_GGP): Delete obsolote protocol.
1476         (IPPROTO_IGMP): Add new protocol (with same value [2] as old GGP).
1477         (struct ip_mreq): New type.
1478
1479 Mon Aug  7 14:04:36 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1480
1481         * stdlib/strtol.c: Use #ifdef, not #if, for HAVE_LIMITS_H.
1482
1483         * posix/glob.c (glob_in_dir): Allocate GLOB_MARK byte in case when
1484         (NFOUND == 0 && (FLAGS & GLOB_NOCHECK)).
1485
1486         * sysdeps/generic/sysd-stdio.c (__stdio_reopen): Return failure
1487         when __stdio_open fails with a code other than ENFILE or EMFILE.
1488
1489 Fri Aug  4 16:01:59 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1490
1491         * Makefile (headers): Added gnu-versions.h.
1492
1493 Thu Aug  3 14:41:11 1995  Michael I. Bushnell  <mib@duality.gnu.ai.mit.edu>
1494
1495         * inet/netinet/in.h (IN_CLASSD, IN_EXPERIMENTAL, IN_BADCLASS): Use
1496         equality, not assignment, to test bitfields.
1497
1498 Sat Jul 29 10:41:06 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>
1499
1500         * sysdeps/mach/hurd/sendto.c (sendto): Use the ifsock protocol to
1501         resolve AF_LOCAL addresses.
1502
1503         * sysdeps/mach/hurd/accept.c (accept): If the protocol family
1504         can't tell us what an address means, just return a zero-length
1505         buffer instead.
1506         * sysdeps/mach/hurd/recvfrom.c (recvfrom): Ditto.
1507
1508 Fri Jul 28 15:29:11 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>
1509
1510         * sysdeps/mach/hurd/bind.c (bind): Don't use
1511         file_invoke_translator, as it doesn't work.  Instead just lookup
1512         the translated node again, and hope we're not hit by any race
1513         conditions.
1514
1515 Wed Jul 26 02:00:29 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1516
1517         * csu/Makefile [$(elf)=yes] (have-initfini): Set to yes.
1518         [$(have-initfini)=yes]: Test this rather than $(elf) for crtstuff.
1519         [start-installed-name-rule]: If this is defined, elide rule for
1520         $(objpfx)$(start-installed-name).
1521         * csu/initfini.c (SECTION): New macro, different definitions for
1522         #ifdef HAVE_ELF and not.
1523         (_init, _fini): Use that macro.
1524         * sysdeps/unix/sysv/sco3.2.4/Makefile [$(subdir)=csu]
1525         (start-installed-rule, start-installed-name-rule): New variables;
1526         specify crt1.o, created by our own rule.
1527         ($(objpfx)crt1.o): New rule.
1528         * configure.in: Require autoconf 2.4.2 or later.  Change all
1529         AC_CACHE_VAL uses to use new AC_CACHE_CHECK macro instead;
1530         prettify some messages.
1531         [$elf!=yes] (libc_cv_have_initfini): New test for `.init' and `.fini'
1532         sections.
1533         * munch-tmpl.c [HAVE_INITFINI]: Call _init and atexit (_fini) in
1534         this case rather than #ifdef HAVE_ELF.
1535         * config.h.in (HAVE_INITFINI): New macro.
1536         * config.make.in (have-initfini): New variable, set by configure.
1537
1538         * stdio/vfscanf.c (conv_error): Simplify expression to avoid
1539         "value computed is not used" warning.
1540
1541         * Makeconfig (+gccwarn): Removed -Wconversion.
1542
1543         * csu/initfini.c (GLOBAL): Macro removed.
1544         (_init, _fini): Always define globally.
1545         * csu/Makefile (crtstuff, initfini): Don't make crt[in]_s.o.
1546
1547         * asia, backward, europe, leapseconds, southamerica: New data from
1548         ADO's 95e.
1549
1550         * inet/Makefile (routines): Removed inet_addr.
1551         * inet/inet_addr.c: Moved to resolv/ subdirectory.
1552         * resolv/Makefile (routines): Added inet_addr.
1553         * resolv/inet_addr.c: Incorporated from BIND 4.9.3-BETA24 release.
1554         * resolv/gethnamaddr.c: Likewise.
1555         * resolv/getnetbyaddr.c: Likewise.
1556         * resolv/getnetbyname.c: Likewise.
1557         * resolv/getnetent.c: Likewise.
1558         * resolv/getnetnamadr.c: Likewise.
1559         * resolv/herror.c: Likewise.
1560         * resolv/nsap_addr.c: Likewise.
1561         * resolv/res_comp.c: Likewise.
1562         * resolv/res_debug.c: Likewise.
1563         * resolv/res_init.c: Likewise.
1564         * resolv/res_mkquery.c: Likewise.
1565         * resolv/res_query.c: Likewise.
1566         * resolv/res_send.c: Likewise.
1567         * resolv/resolv.h: Likewise.
1568         * resolv/sethostent.c: Likewise.
1569         * resolv/arpa/nameser.h: Likewise.
1570         * inet/netdb.h: Incorporated from BIND 4.9.3-BETA24 release.
1571         [__GNU_LIBRARY__]: Include <rpc/netdb.h> instead of repeating
1572         its declarations (and doing so only #ifdef sun!).
1573         * conf/portability.h (NEED_INETADDR, NEED_INETATON): New macros.
1574
1575         * posix/sys/types.h [__USE_BSD] (__BIT_TYPES_DEFINED__): New macro.
1576         [__USE_BSD] [__GNUC__] (int64_t, u_int64_t, register_t): New typedefs.
1577
1578         * malloc/memalign.c: Allocate (SIZE + ALIGNMENT - 1) and then trim
1579         if possible.
1580
1581         * mach/shortcut.awk: Emit decls for RPC.
1582
1583         * libc-symbols.h [GCC >= 2.7 && !ASSEMBLER] (weak_symbol,
1584         weak_alias, strong_alias): Define using GCC __attribute__ syntax.
1585
1586         * Makerules ($(installed-libcs)): Depend on `lib' (only).
1587
1588 Tue Jul 25 09:14:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1589
1590         * sysdeps/mach/hurd/pathconf.c: Declare VALUE as int, not long int.
1591
1592         * stdlib/strtol.c [_LIBC]: Define STDC_HEADERS.
1593
1594         * sysdeps/unix/sysv/ftime.S: New file.
1595
1596         * locale/locfile-parse.c (categories_write): Cast "" to char *.
1597
1598         * io/fcntl.h [__OPTIMIZE__] (creat): Macro removed.
1599
1600         * time/strftime.c: Use year modulo 100 for %y.
1601
1602         * time/sys/timeb.h: Add __BEGIN_DECLS and __END_DECLS.
1603
1604         * sysdeps/unix/snarf-ioctls (snarfexclude): Use two sed's instead
1605         of one, to work around bug in sunos4.1.2 sed.
1606
1607         * stdio/vfprintf.c (vfprintf): For %s with precision spec, use
1608         memchr instead of strlen to limit search for NUL by precision.
1609
1610 Mon Jul 24 03:13:16 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1611
1612         * sysdeps/posix/pathconf.c: New file.
1613
1614 Sat Jul 22 20:53:18 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1615
1616         * sysdeps/unix/i386/sysdep.h (JUMPTARGET): Use ## to avoid space
1617         before @PLT.
1618         * sysdeps/mach/i386/sysdep.h (JUMPTARGET): New macro.
1619         * sysdeps/i386/bsd-_setjmp.S: Use JUMPTARGET macro in jmp insn.
1620         * sysdeps/i386/bsd-setjmp.S: Likewise.
1621
1622 Sat Jul 22 19:58:54 1995  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
1623
1624         * inet/Makefile (routines): Added `ruserpass'.
1625         * inet/ruserpass.c: New file, from BSD Net-2 sources for the FTP
1626         client.  Modified to remove the fourth arg AACCT.  Do nothing for
1627         the `account' and `macdef' keywords.  Other incidental changes
1628         because we are not in the FTP source tree.
1629
1630 Sat Jul 22 01:56:03 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1631
1632         * sysdeps/stub/init-posix.c: Removed stub warning.
1633
1634         * Makefile (autoconf-it): Make it executable and unwritable.
1635
1636         * configure.in (sysnames): Under --enable-debug-configure, spew
1637         potential sysnames.
1638
1639         * sysdeps/unix/i386/sysdep.h (JUMPTARGET): New macro; use name@PLT
1640         #ifdef PIC.
1641         (PSEUDO): Use JUMPTARGET(syscall_error) in jump insn.
1642         * sysdeps/unix/i386/syscall.S: Use JUMPTARGET(syscall_error) in
1643         jump insn.
1644
1645         * sysdeps/unix/sysv/sysv4/linux/i386/sysdep.h: Rewritten.
1646         * sysdeps/unix/sysv/sysv4/linux/i386/syscall.S: New file.
1647         * sysdeps/unix/sysv/sysv4/linux/i386/socket.S: Include
1648         <sys/socketcall.h>.  Save %ebx in call-clobbered %edx instead of
1649         stack.  Use JUMPTARGET(syscall_error) in jump insn.
1650
1651         * Makeconfig (+gccwarn): Add -Wbad-function-cast -Wconversion.
1652
1653         * sysdeps/unix/i386/sysdep.h (ENTRY): Use ASM_GLOBAL_DIRECTIVE and
1654         ASM_TYPE_DIRECTIVE.
1655         (ASM_TYPE_DIRECTIVE): New macro; defined using `.type' #ifdef ELF.
1656
1657         * sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error):
1658         Rewritten, #include'ing unix/i386/sysdep.S for most of the code.
1659         * sysdeps/unix/i386/sysdep.S [PIC]: Store into `errno' through the GOT.
1660
1661         * configure.in (os=linux*): Use unix/sysv/sysv4 for $base_os,
1662         instead of unix/sysv.
1663         * sysdeps/unix/sysv/linux/{accept,connect,getsockname,rename,
1664         socketpair,waitpid,bind,getpeername,listen,setsid,wait4}.S: Moved
1665         to new directory sysdeps/unix/sysv/sysv4/linux.
1666         * sysdeps/unix/sysv/linux: Directory removed.
1667         * sysdeps/unix/sysv/i386/linux/{socket.S,sysdep.h,sysdep.S}: Moved
1668         to new directory sysdeps/unix/sysv/sysv4/linux/i386.
1669         * sysdeps/unix/sysv/linux/i386: Directory removed.
1670
1671         Fixes to help Linux, inspired by drepper's work:
1672         * sysdeps/posix/utimes.c: New file.
1673         * sysdeps/generic/getdomain.c: New file.
1674         * sysdeps/i386/init-first.c: Removed gratuitous #include <hurd.h>.
1675         * sysdeps/generic/dl-sysdep.c: Include <unistd.h> and declare
1676         externals _dl_argc, _dl_argc, and _environ.
1677
1678 Fri Jul 21 12:57:29 1995  Michael I Bushnell  <mib@geech.gnu.ai.mit.edu>
1679
1680         * sysdeps/mach/hurd/socket.c (socket): Consider MIG_BAD_ID and
1681         EOPNOTSUPP as indications that the server has died.
1682         * sysdeps/mach/hurd/pipe.c (__pipe): Likewise.
1683         * sysdeps/mach/hurd/socketpair.c (socketpair): Likewise.
1684
1685 Mon Jul 17 08:45:40 1995  Jim Meyering  (meyering@comco.com)
1686
1687         * strtol.c: Portability changes from Uli Drepper.
1688         [!STDC_HEADERS && !defined(NULL)]: Define NULL.
1689
1690 Mon Jul 10 05:39:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1691
1692         * sysdeps/mach/hurd/i386/init-first.c (init): Take just one arg,
1693         DATA for the entry SP; DATA[-1] is always the return address
1694         location.  In both cthreads and non-cthreads cases, use asm to
1695         force parameters into %eax and %ecx before return, and mutate
1696         DATA[-1] to return to specific asm code to set up the user from
1697         %eax and %ecx.
1698         [PIC] (_init): Caller changed.
1699         (__libc_init_first) [! PIC] (doinit): Use asm to effect call to init
1700         with SP unwound to argument data ptr.
1701
1702 Thu Jul  6 14:28:56 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1703
1704         * sysdeps/mach/hurd/dl-sysdep.c (fmh): Fixed this kludge to work
1705         when 0x08000000 and up are not mapped.
1706
1707         * Makerules (stamp$o-$(subdir) rule): Remove the timestamp file
1708         before touching it.
1709         (lib%.so): Use -Wl to get -soname to ld.
1710
1711         * elf/dlsym.c: Pass final arg to _dl_lookup_symbol.
1712
1713         * elf/Makefile (libdl.so): Pass $(LDFLAGS.so).
1714
1715 Tue Jun 20 02:18:19 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1716
1717         * Makerules (lib%.so: lib%_pic.a): Pass -soname switch giving the
1718         library's name including $(libprefix) and major version number.
1719
1720         * locale/locale-ctype.c (allocate_arrays): Use xmalloc and bzero
1721         in place of xcalloc.
1722
1723         * Makeconfig (prefix, exec_prefix, libprefix): Instead of
1724         `ifndef', use the $(origin) function to only set these if they are
1725         undefined, and not if they are defined to empty.
1726
1727         * gnu-versions.h: New file.
1728         * features.h (__GNU_LIBRARY__): Increase value to 5.
1729
1730 Wed Jun 14 03:45:24 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1731
1732         * stdio/stdio.h (__validfp): Use ({...}) rather than a comma
1733         expression, to avoid gcc's "value computed is not used" warning.
1734
1735         * libc-symbols.h (_elf_set_element): Give the set-element variable
1736         an `unused' attribute.
1737
1738         * hurd/hurd/threadvar.h (__hurd_threadvar_location): Declare with
1739         __attribute__ ((__const__)).
1740         * hurd/hurd/signal.h (_hurd_self_sigstate): Likewise.
1741
1742         * hurd/hurd/userlink.h (_hurd_userlink_link): Properly set
1743         LINK->resource.next->resource.prevp when appropriate, not
1744         LINK->resource.next->thread.prevp!!!
1745
1746 Tue Jun 13 15:45:10 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1747
1748         * configure.in (libc_cv_asm_set_directive): Make sure that the
1749         `.set' directive really worked by linking against a reference to
1750         the alias.
1751
1752         * sysdeps/stub/init-first.c: Don't include <hurd.h>.
1753         [PIC] (soinit): Renamed to (global) _init.
1754
1755 Mon Jun 12 13:15:45 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1756
1757         * malloc/Makefile (gmalloc-routines): Remove valloc.
1758         (dist-routines): Add it here.
1759
1760         * malloc/malloc.h [_MALLOC_INTERNAL] [emacs] (valloc): #define to
1761         emacs_loser_valloc to inhibit valloc declaration below.
1762
1763         * Makerules (lib%.so: lib%_pic.a): Moved this rule to after
1764         installation rules.
1765
1766         * sysdeps/mach/sysdep.h [HAVE_ELF] (ENTRY): Redefine this macro so
1767         it uses the `.type' directive, which is necessary for shared
1768         libraries to work properly.
1769
1770 Thu Jun  8 02:50:26 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1771
1772         * elf/dl-load.c (_dl_map_object): Add MAP_INHERIT flag in mmap
1773         from zero fill.
1774
1775         * elf/dl-lookup.c (_dl_lookup_symbol): Take new flag arg NOSELF;
1776         if nonzero, don't let *REF satisfy the reference itself.
1777         * elf/link.h (_dl_lookup_symbol): Add new arg NOSELF in decl.
1778         * sysdeps/i386/dl-runtime.c (_dl_runtime_resolve): Pass new arg to
1779         _dl_lookup_symbol.
1780         * elf/do-rel.h (elf_dynamic_do_rel): Pass new second arg of
1781         R->r_offset to RESOLVE callback.
1782         * elf/dl-reloc.c (_dl_relocate_object: resolve): Don't let *REF
1783         satisfy the reference itself if its value equals the reloc's
1784         offset.
1785
1786         * elf/rtld.c (dl_main): Write a newline in fatal msg.
1787
1788         * Makerules (lib%.so: lib%_pic.a): Pass $(LDFLAGS.so).
1789
1790         * elf/rtld.c [! NDEBUG] (__assert_perror_fail): New function.
1791
1792         * hurd/hurdstartup.c (_hurd_startup): Fancier kludge to guess phdr
1793         and user entry point addresses.
1794
1795         * elf/dl-load.c (open_path): Don't do strlen on DIRPATH if it's null.
1796         (_dl_map_object): DT_RPATH value is relative to DT_STRTAB value.
1797
1798         * Makerules (install-lib.so): Don't include libc.so.
1799         [$(build-shared)=yes] (install): Depend on the installed libc.so file.
1800         [$(build-shared)=yes] (install-no-libc.a): Make this, rather than
1801         install, depend on the installed $(install-lib.so) files.
1802         [$(build-shared)=yes] (install-lib.so): Append libc.so after that rule.
1803
1804         * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Add kludge to
1805         allocate high addresses to avoid random mappings appearing there.
1806         (mmap): Comment out mask; always pass zero.
1807
1808 Tue Jun  6 13:34:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1809
1810         * sysdeps/i386/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New macro.
1811         * sysdeps/mach/hurd/dl-sysdep.c (mmap): Use it as mask in vm_map call.
1812
1813         * elf/dl-error.c (_dl_catch_error): Clear *ERRSTRING and *OBJNAME
1814         when successful.
1815
1816         * sysdeps/mach/hurd/dl-sysdep.c (threadvars): New static variable.
1817         (__hurd_threadvar_max, __hurd_threadvar_stack_offset): Define these
1818         variables, using the `threadvars' buffer.
1819
1820         * elf/dl-reloc.c: Don't dereference L->l_prev when it's null.
1821         * sysdeps/i386/dl-runtime.c: Likewise.
1822
1823         * elf/rtld.c (dl_main): Add missing NULL terminating argument in
1824         _dl_sysdep_fatal call.
1825         (__assert_fail): Likewise.
1826
1827         * locale/Makefile (localedef-modules): Renamed ctype to
1828         locale-ctype so as not to conflict with the object file for
1829         ctype/ctype.c in the build directory.
1830
1831 Mon Jun  5 04:02:26 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1832
1833         * elf/elf.h (ELFMAG): Use \177 instead of \x7f.  It seems GCC
1834         insists on seeing the following E as part of hex 7FE, and
1835         complaining that is wider than a byte.
1836
1837 Sun Jun  4 22:14:11 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1838
1839         * hurd/Makefile (sig): Added thread-self.
1840         * hurd/hurd.h: Declare hurd_thread_self.
1841         * hurd/thread-self.c: New file.
1842
1843 Thu Jun  1 12:17:52 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1844
1845         * elf/rtld.c: Initialize RTLD_MAP.l_type.
1846         * elf/dl-reloc.c (_dl_relocate_object): Clear LAZY if relocating
1847         the dynamic linker itself.
1848         * sysdeps/i386/dl-machine.h (elf_machine_rel): If MAP->l_type is
1849         lt_interpreter, first undo relocation done during bootstrapping.
1850
1851 Tue May 30 15:52:32 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1852
1853         * mach/Makefile (server-interfaces): Removed notify and
1854         device_reply.  For shlibs with eager binding, libmachuser.so must
1855         not refer to any functions not defined in libc.
1856
1857 Sat May 27 16:23:22 1995  Jim Meyering  (meyering@comco.com)
1858
1859         * sysdeps/generic/memchr.c: Cast RHS to const unsigned char *
1860         to avoid error from Irix-4.0.5's C compiler.  From Kaveh Ghazi.
1861
1862 Fri May 26 13:00:08 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1863
1864         * hurd/hurdsig.c (_hurd_internal_post_signal): Don't loop to check
1865         pending signals if the thread is in a critical section.  It will
1866         send us a msg when it finishes.
1867
1868         * sysdeps/mach/hurd/pathconf.c: New file.
1869         * sysdeps/mach/hurd/fpathconf.c: New file.
1870
1871         * sysdeps/mach/hurd/sigaction.c: Only notify the proc server for
1872         SIGCHLD when the SA_NOCLDSTOP bit actually changes.
1873
1874 Sun May 21 05:05:37 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1875
1876         * elf/Makefile (ld.so): Use -nostartfiles in addition to
1877         -nostdlib.
1878
1879 Sun May 21 02:01:29 1995  Jim Meyering  (meyering@comco.com)
1880
1881         * sysdeps/generic/memchr.c: Don't include <string.h> at all.
1882         HPUX-9.01 and IRIX-4.0.5 vendor C compilers get conflicting dcls for
1883         memchr unless one manually arranges for them to define __STDC__.
1884
1885 Fri May 19 17:16:46 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1886
1887         * sysdeps/mach/hurd/i386/init-first.c: In cthreads case, handle
1888         args on stack from kernel.
1889
1890         * posix/Makefile, sysdeps/alpha/Makefile,
1891         * sysdeps/mach/hurd/Makefile, sysdeps/sparc/Makefile, Makefile,
1892         * Makerules, Make-dist: Fix "cvs commit" cmds in rules to not fail
1893         in the absence of CVS dirs.
1894
1895         * hurd/hurdstartup.c: Don't call __mach_init.  Grok args from the
1896         kernel on the stack properly.
1897
1898         * set-init.c: Never call _init/_fini; just run __libc_subinit.
1899
1900         * Makerules (LDFLAGS-c.so): Add -nostartfiles.
1901         * mach/Machrules (LDFLAGS-$(interface.so)): Likewise.
1902
1903         * configure.in: Move defaulting of --with-elf and --with-gnu-*
1904         based on host os outside the AC_CACHE_VAL for the sysdirs
1905         calculation.
1906
1907         * Makeconfig (localedir, nlsdir): New variables.
1908
1909         * values.h: New file.
1910         * Makefile (headers): Add values.h.
1911
1912         * locale/Makefile (distribute): Add error.h.
1913         * locale/localedef.c: Include "error.h".
1914         (main): Use error_message_count instead of warning_cntr.
1915
1916 Wed May 17 16:50:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1917
1918         Merged 1003.2 locale and localedef programs by Ulrich Drepper.
1919         * locale/charmap.c: New file.
1920         * locale/collate.c: New file.
1921         * locale/config.h: New file.
1922         * locale/ctype.c: New file.
1923         * locale/ctypedump.c: New file.
1924         * locale/hash.c: New file.
1925         * locale/hash.h: New file.
1926         * locale/iso-4217.def: New file.
1927         * locale/keyword.gperf: New file.
1928         * locale/keyword.h: New file.
1929         * locale/libintl.h: New file.
1930         * locale/locale.c: New file.
1931         * locale/localedef.c: New file.
1932         * locale/localedef.h: New file.
1933         * locale/locfile-lex.c: New file.
1934         * locale/locfile-parse.c: New file.
1935         * locale/messages.c: New file.
1936         * locale/monetary.c: New file.
1937         * locale/numeric.c: New file.
1938         * locale/token.h: New file.
1939
1940         * posix/regex.c, posix/regex.h: New files, incorporated from GNU regex.
1941         * posix/Makefile (headers): Add regex.h.
1942         (routines): Add regex.
1943         (gpl2lgpl): Add regex.c and regex.h.
1944
1945 Tue May 16 17:35:07 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1946
1947         * locale/loadlocale.c: Expect macro LOCALE_PATH to be defined,
1948         instead of hard-coding "/share/locale".
1949
1950 Sat May 13 02:16:42 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1951
1952         * configure.in (os=gnu*): Always set elf=yes, not just for os=gnu*elf*.
1953
1954 Fri May 12 15:31:22 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1955
1956         * elf/elf.h (ELFMAG, SELFMAG): New macros.
1957
1958 Fri May 12 11:24:53 1995  Michael I Bushnell  <mib@duality.gnu.ai.mit.edu>
1959
1960         * hurd/alloc-fd.c (_hurd_alloc_fd): Don't reduce FIRST_FD in
1961         the case where it starts out less than _hurd_dtablesize.
1962
1963 Thu May 11 20:51:05 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1964
1965         * hurd/alloc-fd.c (_hurd_alloc_fd): When expanding the dtable,
1966         make sure the new size exceeds FIRST_FD.
1967
1968 Wed May 10 21:00:47 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1969
1970         * sysdeps/mach/i386/sysdep.h (RETURN_TO): New macro.
1971
1972 Tue May  9 01:26:52 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1973
1974         * Makerules (install-lib.so): Add %.so for each %_pic.a.
1975
1976         * sysdeps/i386/elf/start.S (__data_start): Define this symbol as
1977         the first thing in .data.
1978
1979         * sysdeps/mach/_strerror.c (_strerror_internal): Eschew sprintf.
1980
1981         * hurd/hurdstartup.h: New file.
1982
1983         * sysdeps/i386/elf/start.S: Give two operands to `testl' when they
1984         are the same.  Use `jz' instead of `jeq'.
1985
1986         * Makeconfig (config.make): Depend on config.status, and run it to
1987         update.
1988         (config.status): New target; depend on configure.
1989         If target (config.status) exists, run it with --recheck to update;
1990         if not, give error msg saying to run confiugre by hand.
1991         * Makerules [$(sysd-Makefile-sysdirs) != $(sysdirs)]
1992         (sysd-Makefile-force): Set this variable to FORCE in this case, to
1993         force a rebuild of sysd-Makefile.
1994         (sysd-Makefile): Depend on $(sysd-Makefile-force).
1995         Write into the file sysd-Makefile-sysdirs:=$(sysdirs).
1996         [$(sysd-rules-sysdirs) != $(sysdirs)] (sysd-rules-force): Set this
1997         variable to FORCE in this case, to force a rebuild of sysd-rules.
1998         (sysd-rules): Depend on $(sysd-rules-force).
1999         Write into the file sysd-rules-sysdirs:=$(sysdirs).
2000
2001         * Makerules (LDFLAGS-c.so): Change ld option -interp to
2002         -dynamic-linker.
2003
2004         * Makerules (do-install-program): New canned sequence.
2005         (install-bin, install-sbin): Use it.
2006         (install for lib*.so): Use it instead of $(do-install).
2007         Fix .so installation rules to handle lib*.so and *.so, deal with
2008         $(libprefix) right, and install *.so as *.so$($(*.so)-version);
2009         i.e. "libc.so-version = .1".
2010
2011 Mon May  8 05:10:25 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2012
2013         * elf/do-rel.h: New file, split out of dynamic-link.h.
2014         * elf/Makefile (distribute): Add do-rel.h.
2015
2016 Sat May  6 11:06:47 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2017
2018         * Makeconfig (+gccwarn): Add -Winline.
2019
2020         * hurd/hurdsig.c (_hurd_internal_post_signal): If SS->context is
2021         set, avoid abort_rpcs, and use reply and intr ports saved in
2022         SS->context.
2023         * sysdeps/mach/hurd/i386/trampoline.c: Don't set SS->intr_port
2024         from SS->context.  Don't clear SS->context.
2025         * sysdeps/mach/hurd/i386/sigreturn.c: Don't set SS->intr_port when
2026         setting SS->context.  If msg_sig_post returns, re-lock and clear
2027         SS->context.
2028
2029 Fri May  5 10:37:09 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2030
2031         * mach/Makefile (errsystems.c): Comment out generation rule.
2032
2033         * sysdeps/mach/_strerror.c: Consider a system unknown if its
2034         bad_sub member is null.
2035
2036         * mach/mig-alloc.c: Add weak alias to non-__ name.
2037
2038 Wed May  3 11:56:35 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2039
2040         * sysdeps/mach/hurd/dup2.c: Fixed broken test in last change.
2041
2042 Tue May  2 01:52:58 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2043
2044         * elf/dl-error.c (_dl_catch_error): Actually call the OPERATE
2045         function.  Duh.
2046
2047         * hurd/Makefile (distribute): Added hurdstartup.h.
2048         * hurd/hurd.h: Remove _hurd_startup decl.
2049
2050         * hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS): Use __attribute__
2051         ((__unused__)) instead of gratuitous self reference.
2052
2053         * sysdeps/mach/hurd/dup2.c: Call _hurd_alloc_fd to expand the
2054         table if FD2 doesn't fit.
2055
2056         * sysdeps/mach/hurd/getdtsz.c: Return the RLIM_NOFILE soft limit,
2057         not the current table size.
2058
2059         * sysdeps/mach/i386/sysdep.h (SNARF_ARGS, CALL_WITH_SP): Rewritten.
2060
2061         Implemented runtime dynamic linker to support ELF shared libraries.
2062         * elf/Makefile: Added rules to make ld.so and libdl.
2063         * elf/dl-error.c: New file.
2064         * elf/dl-fini.c: New file.
2065         * elf/dl-init.c: New file.
2066         * elf/dl-load.c: New file.
2067         * elf/dl-lookup.c: New file.
2068         * elf/dl-object.c: New file.
2069         * elf/dl-reloc.c: New file.
2070         * elf/dlclose.c: New file.
2071         * elf/dlerror.c: New file.
2072         * elf/dlopen.c: New file.
2073         * elf/dlsym.c: New file.
2074         * elf/dynamic-link.h: New file.
2075         * elf/link.h: New file.
2076         * elf/rtld.c: New file.
2077         * sysdeps/i386/dl-machine.h: New file.
2078         * sysdeps/stub/dl-machine.h: New file.
2079         * sysdeps/i386/dl-runtime.c: New file.
2080         * sysdeps/stub/dl-runtime.c: New file.
2081         * sysdeps/i386/elf/start.S: New file.
2082         * sysdeps/generic/dl-sysdep.c: New file.
2083         * sysdeps/mach/hurd/dl-sysdep.c: New file.
2084         * sysdeps/mach/hurd/i386/init-first.c: New file.
2085         * sysdeps/i386/init-first.c: New file.
2086         * sysdeps/stub/init-first.c: New file.
2087
2088 Mon May  1 18:48:30 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2089
2090         * Makerules (LDFLAGS-c.so): Add -interp and -e switches to make
2091         libc.so runnable.
2092         * version.c (__libc_print_version): Add "et al" and missing NL to
2093         author credit.
2094
2095 Sat Apr 29 15:46:57 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2096
2097         * posix/glob.c (S_ISDIR): Define if undefined.
2098
2099 Thu Apr 27 01:24:09 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2100
2101         * configure.in: Unless --without-fp, prepend */fpu before each
2102         machine dir in $mach; don't prepend FPU dirs at end.  If
2103         --with-elf, prepend MACHINE/elf directories at end; don't insert
2104         them into $mach.
2105
2106         * Makerules (dist): Filter out *.[cSs] from $(distribute) in deps.
2107
2108         * sysdeps/stub/clock.c: Added stub warning.
2109         * sysdeps/stub/dirfd.c: Likewise.
2110         * sysdeps/stub/exc2signal.c: Likewise.
2111         * sysdeps/stub/fdopen.c: Likewise.
2112         * sysdeps/stub/flock.c: Likewise.
2113         * sysdeps/stub/fpathconf.c: Likewise.
2114         * sysdeps/stub/ftruncate.c: Likewise.
2115         * sysdeps/stub/gtty.c: Likewise.
2116         * sysdeps/stub/isatty.c: Likewise.
2117         * sysdeps/stub/killpg.c: Likewise.
2118         * sysdeps/stub/madvise.c: Likewise.
2119         * sysdeps/stub/mkstemp.c: Likewise.
2120         * sysdeps/stub/mktemp.c: Likewise.
2121         * sysdeps/stub/mprotect.c: Likewise.
2122         * sysdeps/stub/msync.c: Likewise.
2123         * sysdeps/stub/pathconf.c: Likewise.
2124         * sysdeps/stub/poll.c: Likewise.
2125         * sysdeps/stub/raise.c: Likewise.
2126         * sysdeps/stub/readv.c: Likewise.
2127         * sysdeps/stub/setenv.c: Likewise.
2128         * sysdeps/stub/setlogin.c: Likewise.
2129         * sysdeps/stub/sigaltstack.c: Likewise.
2130         * sysdeps/stub/sigintr.c: Likewise.
2131         * sysdeps/stub/sigstack.c: Likewise.
2132         * sysdeps/stub/sleep.c: Likewise.
2133         * sysdeps/stub/sstk.c: Likewise.
2134         * sysdeps/stub/stime.c: Likewise.
2135         * sysdeps/stub/stty.c: Likewise.
2136         * sysdeps/stub/syscall.c: Likewise.
2137         * sysdeps/stub/sysconf.c: Likewise.
2138         * sysdeps/stub/truncate.c: Likewise.
2139         * sysdeps/stub/ualarm.c: Likewise.
2140         * sysdeps/stub/usleep.c: Likewise.
2141         * sysdeps/stub/utimes.c: Likewise.
2142         * sysdeps/stub/writev.c: Likewise.
2143
2144         * sysdeps/stub/libc_fatal.c: Remove __NORETURN keyword.
2145
2146 Wed Apr 26 16:06:42 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2147
2148         * locale/loadlocale.c (_nl_free_locale): Do nothing if DATA is null.
2149
2150 Tue Apr 25 17:17:19 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2151
2152         * posix/glob.c (glob): If GLOB_MARK set, stat names to find
2153         directories and append slashes to them in final pass before
2154         sorting.
2155         (glob_in_dir): If GLOB_MARK set, just allocate the extra char for the
2156         slash; never append it here.
2157
2158 Sat Apr 22 14:48:03 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2159
2160         * mach/Machrules [interface-library]
2161         (LDFLAGS-$(interface-library:lib%=%.so)): New variable, set to
2162         -nostdlib.
2163
2164         * sysdeps/mach/hurd/fork.c: Subfunction `unlockss' removed.  Lock
2165         _hurd_siglock only around initial task creation in parent.  Use
2166         _hurd_critical_section_unlock at end.  Handle dead name rights
2167         properly, and deal with a send right dying while we try to copy
2168         it.  For the time being, use assert_perror for kernel and proc RPC
2169         failures.
2170
2171 Fri Apr 21 01:10:15 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2172
2173         * extra-lib.mk: Don't include $(o-iterator); construct it by hand
2174         using $(object-suffixes-$(lib)) instead.
2175
2176         * sysdeps/mach/hurd/Makefile (LDLIBS-c.so): New variable.
2177
2178         * Makerules (lib%.so: lib%_pic.a): Pass $(LDFLAGS-$(notdir $*).so).
2179         (LDFLAGS-c.so): New variable.
2180
2181         * resolv/res_init.c (res_init): Don't clobber _res.options with
2182         RES_DEFAULT.  If RES_INIT is clear, OR in RES_DEFAULT.
2183
2184         * hurd/hurd.h: Declare _hurd_startup.
2185         * hurd/hurdstartup.c: New file.
2186         * hurd/Makefile (routines): Add hurdstartup.
2187
2188 Thu Apr 20 22:23:58 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2189
2190         * hurd/hurdsig.c: Use assert_perror for many calls which should
2191         never fail and previously were not checked.
2192
2193         * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
2194         Point the return address for sigreturn's frame at a "hlt" insn so
2195         it will definitely crash if sigreturn returns.
2196
2197 Wed Apr 19 18:40:11 1995  Brendan Kehoe  (brendan@zen.org)
2198
2199         * time/tzset.c (__tzname, __daylight, __timezone): Don't check
2200         HAVE_WEAK_SYMBOLS for doing weak_alias.
2201
2202 Wed Apr 19 18:12:56 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2203
2204         * configure.in: Move $os tests to set $elf et al earlier, before
2205         construction of $sysnames.  Instead of prepending MACHINE/elf to
2206         $sysnames, append &/elf after each elt appended to $mach.
2207
2208 Tue Apr 18 14:00:19 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2209
2210         * configure.in (libc_cv_asm_global_directive): New check to define
2211         ASM_GLOBAL_DIRECTIVE.
2212         * config.h.in: Add #undef ASM_GLOBAL_DIRECTIVE.
2213         * libc-symbols.h (strong_alias_asm, strong_alias): Use
2214         ASM_GLOBAL_DIRECTIVE on the alias.
2215
2216         * sysdeps/unix/make_errlist.c (main): Don't generate "#ifdef
2217         HAVE_WEAK_SYMBOLS" #defns.
2218
2219 Mon Apr 17 12:02:49 1995  Brendan Kehoe  (brendan@zen.org)
2220
2221         * sysdeps/alpha/strlen.c (strlen): Fix cmpbge insn, and returning
2222         of the byte that was zero, so we return a valid number.
2223
2224 Sun Apr 16 03:23:09 1995  Brendan Kehoe  (brendan@zen.org)
2225
2226         * sysdeps/unix/bsd/ultrix4/mips/sysdep.h: New file defining
2227         NO_UNDERSCORES then using sysdeps/unix/mips/sysdep.h.
2228
2229 Fri Apr 14 18:49:03 1995  Brendan Kehoe  (brendan@zen.org)
2230
2231         * sysdeps/ieee754/mpn2dbl.c (__mpn_construct_double)
2232         [BITS_PER_MP_LIMB == 64]: Refer to `u', not to non-existent `i'.
2233         * sysdeps/ieee754/mpn2ldbl.c (__mpn_construct_long_double)
2234         [BITS_PER_MP_LIMB == 64]: Likewise.
2235
2236         * sysdeps/unix/bsd/osf/alpha/killpg.S (killpg): Add .end directive.
2237         * sysdeps/unix/bsd/osf/alpha/sigblock.S (__sigblock): Likewise.
2238         * sysdeps/unix/bsd/osf/alpha/sigsetmask.S (__sigsetmask): Likewise.
2239         * sysdeps/unix/bsd/osf/alpha/sigpause.S (__sigpause): Likewise.
2240         * sysdeps/unix/bsd/osf/alpha/sigvec.S (__sigvec): Likewise.
2241         * sysdeps/unix/bsd/osf/alpha/getdents.S (__getdirentries): Likewise.
2242         * sysdeps/unix/bsd/osf/alpha/fork.S (__fork): Likewise.
2243         * sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
2244         * sysdeps/unix/bsd/osf/alpha/recv.S (recv): Likewise.
2245         * sysdeps/unix/bsd/osf/alpha/send.S (send): Likewise.
2246         * sysdeps/unix/bsd/osf/alpha/vhangup.S (vhangup): Likewise.
2247
2248         * sysdeps/unix/mips/brk.S (__brk, __curbrk): Add .end directive.
2249         * sysdeps/unix/mips/fork.S (fork): Likewise.
2250         * sysdeps/unix/mips/pipe.S (fork): Likewise.
2251         * sysdeps/unix/mips/sigreturn.S (__sigreturn): Likewise.
2252         * sysdeps/unix/mips/sysdep.S (sysdep_error): Likewise.
2253         * sysdeps/unix/mips/wait.S (__handler): Likewise.
2254         * sysdeps/mips/setjmp.S (__sigsetjmp): Likewise.
2255         * sysdeps/mips/bsd-setjmp.S (setjmp): Likewise.
2256         * sysdeps/unix/bsd/ultrix4/getsysinfo.S (getsysinfo): Likewise.
2257         * sysdeps/unix/bsd/ultrix4/wait3.S (waitpid): Likewise.
2258         * sysdeps/unix/bsd/ultrix4/waitpid.S (waitpid): Likewise.
2259         * sysdeps/unix/bsd/ultrix4/mips/__handler.S (__handler): Likewise.
2260         * sysdeps/unix/bsd/ultrix4/mips/sigvec.S (__raw_sigvec): Likewise.
2261         * sysdeps/unix/bsd/ultrix4/mips/start.S (__start): Likewise.
2262         * sysdeps/unix/bsd/ultrix4/mips/vfork.S (vfork): Likewise.
2263         * sysdeps/mips/bsd-_setjmp.S (setjmp): Likewise.  Use `$0'
2264         instead of `zero' for the li instruction.
2265
2266         * sysdeps/unix/bsd/osf/alpha/start.S: Change comments to be
2267         preprocessor comments, not assembler comments.
2268         * sysdeps/unix/bsd/osf/alpha/brk.S: Likewise.
2269         * sysdeps/unix/bsd/osf/alpha/sysdep.h (NO_UNDERSCORES): Define.
2270
2271 Fri Apr 14 15:53:46 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2272
2273         * malloc/malloc.c (register_heapinfo) [__GNUC__]: Use __inline__
2274         in place of inline.
2275
2276 Thu Apr 13 09:45:01 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2277
2278         * Makefile (distribute): Add ChangeLog.[0-9].
2279
2280         * configure.in: Add check for .set directive.
2281         * config.h.in: Add #undef HAVE_ASM_SET_DIRECTIVE.
2282         * libc-symbols.h [! HAVE_ASM_SET_DIRECTIVE] (strong_alias,
2283         strong_alias_asm): Use `foo = bar' syntax instead.
2284
2285         * Makerules [! subdir] (O%-lib): Don't prepend ../.
2286
2287         * sysdeps/generic/expm1.c: #undef expm1 before weak_alias.
2288
2289         * configure.in: Fix AC_ARG_WITH uses; check for --with-fp.  Move
2290         $host_os checks to set gnu_ld/as and elf before sysdirs
2291         generation.  Fix $with_fp test.
2292         [$elf=yes]: Prepend MACHINE/elf directory.
2293
2294         * elf/libelf.h (elf_hash): Use XOR instead of ANDN when the bits
2295         being cleared are already known to be set.  Thanks Ulrich.
2296
2297 Wed Apr 12 23:27:22 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2298
2299         * posix/environ.c: Add weak alias `_environ'.
2300
2301 Tue Apr 11 20:38:55 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2302
2303         * sysdeps/i386/add_n.S [PIC]: Use self-call to avoid generating reloc.
2304         * sysdeps/i386/sub_n.S [PIC]: Likewise.
2305
2306 Mon Apr 10 14:53:15 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2307
2308         * libc-symbols.h (_elf_set_element) [PIC]: Don't make the element
2309         word `const'.
2310
2311         * Makeconfig (CPPFLAGS, CFLAGS): Fix swapped references to
2312         $(foo-$(suffix $@)).
2313
2314         * manual/Makefile (chapters-incl): Filter out summary.texi.
2315
2316         * stdlib/strtod.c (STRTOF): Use extra macro to make STRTOF's #defn
2317         a weak symbol instead of literal "STRTOF".
2318
2319         * locale/setlocale.c: Work around ld bug: don't weakify refs to
2320         _nl_{current,C}_*.
2321
2322 Sun Apr  9 01:24:33 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2323
2324         * Makerules (+depfiles): Translate %.so to %.o in $(extra-objs).
2325
2326         * malloc/free.c [emacs] (__malloc_safe_bcopy): Define to safe_bcopy.
2327         * malloc/realloc.c (__malloc_safe_bcopy): Undefine before defining.
2328
2329         * malloc/free.c (memmove, __malloc_safe_bcopy): Do include these
2330         #ifdef emacs, but only #ifndef memmove.
2331         * malloc/realloc.c [emacs] (__malloc_safe_bcopy): Just #define to
2332         safe_bcopy.
2333         (memmove): Define only if undefined.
2334
2335 Sat Apr  8 00:40:59 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2336
2337         * extra-lib.mk (install-lib, extra-objs, alltypes-$(lib)): Make
2338         sure these are simply-expanded variables.
2339
2340         * locale/loadlocale.c (_nl_load_locale): Use MAP_INHERIT flag in
2341         mmap call.
2342
2343         * configure.in (os=freebsd*|bsdi*): Set base_os=unix/bsd/bsd4.4
2344         for these too.
2345
2346         * sysdeps/unix/sysv/tcsetattr.c: Use |= instead of = to properly
2347         set c_oflag value.
2348
2349         * Makeconfig [! objpfx] (csu-objpfx): Add trailing slash.
2350
2351         * locale/Makefile (categories): Uncomment collate.
2352         * locale/lc-collate.c: New file.
2353
2354         * malloc/free.c (__malloc_safe_bcopy, memmove): Don't define
2355         #ifdef emacs.
2356         * malloc/realloc.c: Likewise.
2357
2358         * stdio/_itoa.h (_EXTERN_INLINE): Define if undefined.
2359         (_itoa): Use it in defn.
2360         * stdio/_itoa.c (_EXTERN_INLINE): Define to empty before #include
2361         "_itoa.h".
2362         (_itoa): Function removed.
2363
2364         * malloc/free.c: Remove use of `assert'.
2365
2366         * malloc/realloc.c [! emacs] (safe_bcopy): Renamed to
2367         __malloc_safe_bcopy; #define safe_bcopy.
2368         * malloc/free.c: Cope with systems lacking `memmove'.
2369         (_free_internal): Cast result of _malloc_internal.
2370
2371 Wed Apr  5 00:13:45 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2372
2373         * hurd/hurdinline.c: Include signal.h first, so we don't define
2374         its inlines too.
2375
2376         * sysdeps/unix/sysv/sysv4/sigset.h (__sigfillset): Use ~0L instead
2377         of -1 to avoid compiler warning.
2378
2379         * configure.in (host_os=linux*): Set elf=yes for this, not just
2380         linux*elf*.
2381
2382         * misc/login_tty.c [! TIOCSCTTY]: Try an emulation using ttyname
2383         and open.
2384
2385         * sysdeps/i386/bsd-_setjmp.S: Fix typo in name: setjmp -> _setjmp.
2386
2387 Tue Apr  4 00:48:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2388
2389         * sysdeps/unix/start.c: Remove spurious decl and #endif.
2390
2391         * misc/progname.c (program_invocation_name,
2392         program_invocation_short_name): Make these initialized data
2393         definitions.
2394
2395         * sysdeps/mach/hurd/setitimer.c (fork_itimer): Add self reference
2396         so gcc doesn't optimize out the function entirely.
2397
2398 Sun Apr  2 13:13:52 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2399
2400         * posix/execvp.c: Don't use stat to search path; just try execv
2401         until it works.
2402
2403         * sysdeps/mach/hurd/i386/trampoline.c: Add a link to
2404         SS->active_resources, so that _hurdsig_longjmp_from_handler will
2405         be called when a longjmp unwinds the signal frame.
2406         * sysdeps/mach/hurd/i386/sigreturn.c: Remove the link on the
2407         SS->active_resources chain added by _hurd_setup_sighandler.
2408         * hurd/sigunwind.c: New file.
2409         * hurd/Makefile (sig): Add sigunwind.
2410
2411         * Makerules (lib%.so: lib%_pic.a): Remove dir name from $*.
2412
2413         * MakeTAGS (tags-sources): Include $(all-dist).
2414         [subdir] (all-dist): Define to $(distribute).
2415
2416 Sat Apr  1 00:08:06 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2417
2418         * Makerules (lib%.so: lib%_pic.a): Pass -L options for subdir and
2419         parent objdirs.
2420
2421         * extra-lib.mk (object-suffixes-$(lib)): New variable, produced by
2422         filtering out $($(lib)-inhibit-o); use that instead of
2423         $(object-suffixes) in all the other variables.
2424
2425         * locale/loadlocale.c (_nl_load_locale) [MAP_FILE]: Define it zero
2426         if undefined.
2427
2428         * string/strxfrm.c: Just copy the string (for now).
2429         * string/strcoll.c: Just call strcmp (for now).
2430
2431         * mach/Makefile (lock): Add mutex-init.
2432         * mach/mutex-solid.c (_cthread_mutex_lock_routine,
2433         _cthread_mutex_unlock_routine): Variables removed.
2434         (__mutex_lock_solid, __mutex_unlock_solid): Don't use them; just stub.
2435         (__mutex_init): Function moved to new file mutex-init.c.
2436         * mach/mutex-init.c: New file, broken out of mutex-solid.c.
2437
2438 Thu Mar 30 20:43:02 1995  Brendan Kehoe  <brendan@zen.org>
2439
2440         * sysdeps/mips/__longjmp.c (__longjmp): Take out CONST.
2441         * sysdeps/alpha/__longjmp.c (__longjmp): Take out const.
2442
2443 Thu Mar 30 01:38:00 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2444
2445         * elf/elf.h (STN_UNDEF): New macro (distinct from SHN_UNDEF, though
2446         both are zero).
2447
2448 Wed Mar 29 11:26:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2449
2450         * elf/dlfcn.h: New file.
2451
2452         * Make-dist (README): Commit it to CVS if there is a CVS directory.
2453
2454         More changes from Germano Caronni <caronni@tik.ethz.ch>:
2455         * malloc/free.c: Relocate _heapinfo when that allows us to return
2456         core to the system.
2457
2458         * malloc/malloc.c: Move #include <errno.h> outside #ifndef
2459         _MALLOC_INTERNAL.
2460
2461 Mon Mar 27 02:23:15 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2462
2463         * mach/Makefile (headers): Add mach/mach_traps.h.
2464
2465         * Makerules ($(installed-libcs) rule): Fix typos.
2466
2467         * sysdeps/unix/bsd/bsd4.4/revoke.S: New file.
2468         * sysdeps/stub/revoke.c: New file.
2469         * misc/Makefile (routines): Add revoke.
2470         * posix/unistd.h [__USE_BSD] (revoke): Declare it.
2471         * sysdeps/generic/pty.c (openpty, forkpty): Declare return types.
2472         (forkpty): Declare login_tty.
2473         * misc/logwtmp.c (logwtmp): Declare to return void.
2474         * misc/login_tty.c (login_tty): Include unistd.h.  Declare return type.
2475
2476         * posix/unistd.h [__USE_BSD] (ttyslot): Declare it.
2477
2478         * posix/unistd.h [__USE_BSD] (L_SET, L_INCR, L_XTND): Define
2479         unless L_SET already defined.
2480         * misc/sys/file.h (L_SET, L_INCR, L_XTND): Don't define if L_SET
2481         already defined.
2482
2483         Incorporated -lutil library from 4.4-Lite.
2484         * misc/Makefile (extra-libs, libutil-routines): New variables.
2485         * misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
2486         sysdeps/generic/pty.c: New files for -lutil incorporated from 4.4-Lite.
2487
2488         Support simple, light-weight unwind-protect mechanism for longjmp.
2489         * setjmp/longjmp.c: Call _longjmp_unwind first thing.
2490         * sysdeps/mach/hurd/jmp-unwind.c: New file.
2491         * sysdeps/stub/jmp-unwind.c: New file.
2492         * sysdeps/i386/jmp_buf.h (_JMPBUF_UNWINDS): New macro.
2493         * sysdeps/mips/jmp_buf.h (_JMPBUF_UNWINDS): New macro.
2494         * setjmp/Makefile (routines): Add jmp-unwind.
2495         * hurd/hurd/userlink.h (struct hurd_userlink): Move `next' and
2496         `prevp' members into new substructure `resource'; add another such
2497         substructure `thread' and members `cleanup' (function ptr) and
2498         `cleanup_data' (generic ptr).
2499         (_hurd_userlink_link, _hurd_userlink_unlink): Insert/remove LINK
2500         into the `_hurd_self_sigstate ()->active_resources' list via the
2501         `thread' substructure.
2502         * hurd/hurd/port.h (_hurd_port_cleanup): Declare it.
2503         (_hurd_port_locked_get): Set LINK->cleanup to _hurd_port_cleanup and
2504         LINK->cleanup_data' to the port extracted.
2505         * hurd/hurd/signal.h (struct hurd_sigstate): New member
2506         `active_resources'.
2507         * hurd/port-cleanup.c: New file.
2508         * hurd/Makefile (routines): Add port-cleanup.
2509
2510         * malloc/malloc.c: Include errno.h.
2511
2512 Sat Mar 25 18:24:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2513
2514         * locale/loadlocale.c (_nl_load_locale): Avoid */ inside comment.
2515
2516 Fri Mar 24 02:35:37 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2517
2518         * misc/Makefile (headers): Add utmp.h.
2519         * misc/utmp.h: New file, incorporated from 4.4-Lite.
2520
2521         * stdio/printf-parse.h: New file, mostly written by drepper.
2522         * stdio/vfprintf.c: Rewritten, mostly by drepper.
2523         * stdio/printf-prs.c: Rewritten.
2524         * stdio/Makefile (distribute): Add printf-parse.h.
2525
2526 Thu Mar 23 22:03:44 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2527
2528         * sysdeps/unix/start.c [! NO_UNDERSCORES]: Don't declare _start
2529         with asm name.  Just do a ".set start, __start".
2530
2531         * malloc/realloc.c: Call _free_internal instead of free.
2532
2533 Tue Mar 21 00:14:27 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2534
2535         * locale/loadlocale.c (_nl_load_locale): If LOCALE/LC_* is a
2536         directory, open LOCALE/LC_*/SYS_LC_* instead.
2537
2538 Mon Mar 20 03:19:23 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2539
2540         * stdio/fpioconst.c, stdio/fpioconst.h, stdio/gmp-impl.h,
2541         stdio/gmp.h, stdio/longlong.h, stdio/mp_clz_tab.c,
2542         stdio/gen-mpn-copy: Files moved to stdlib.
2543         * stdio/Makefile: All mpn stuff moved to stdlib/Makefile.
2544         * stdlib/Makefile: All the mpn stuff moved here from stdio/Makefile.
2545         * stdio/printf_fp.c: Use ../stdlib to find fpioconst.h and gmp
2546         headers.
2547         * stdlib/strtod.c: Don't use ../stdio to find fpioconst.h and gmp
2548         headers.
2549
2550         * Makefile (parent-mostlyclean): Don't use $(libc.a).
2551         (parent-clean): Use $(objpfx) to find sysd-*.
2552         * Rules (generated): Append dummy.o dummy.c.
2553         * Makerules (lib): Depend on lib-noranlib.
2554         (lib-noranlib): Depend on $(install-lib) in objdir.
2555         (common-mostlyclean): Remove $(install-lib) and stub-$(subdir)
2556         from objdir.  Don't remove TAGS; it comes in the distribution.
2557
2558         * malloc/malloc.c (morecore): Save errno around call to
2559         _realloc_internal.  Don't account for the additional new blocks of
2560         the info table itself when choosing the new table size for the
2561         first crack; if it succeeds, the new blocks will have been found
2562         in existing free space already described by the existing info
2563         table.
2564
2565         * stdio/vfscanf.c (%n): Use READ_IN - 1, so as not to count the
2566         read-ahead character.
2567
2568 Sat Mar 18 14:07:08 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2569
2570         * hurd/dtable.c, hurd/getdport.c, hurd/hurd.h, hurd/hurdexec.c,
2571           hurd/hurdinit.c, hurd/hurdprio.c, hurd/hurdsock.c,
2572           hurd/ports-get.c, hurd/ports-set.c, hurd/setauth.c,
2573           hurd/setuids.c, sysdeps/mach/hurd/i386/trampoline.c:
2574         Get anal with unsigned to pacify compiler.
2575
2576         * stdio/vfscanf.c: Grok positional parameter specs (i.e. %3$d
2577         means %d from 3rd arg).
2578
2579         * sysdeps/mach/hurd/closedir.c: Include hurd/fd.h.
2580
2581         * stdlib/strtol.c: If !GROUP, set END to null.  In loop, test only
2582         END, not GROUP.
2583
2584 Fri Mar 17 12:58:37 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2585
2586         * Makefile (subdirs): Put elf last.
2587
2588         * sunrpc/Makefile (install-lib): Variable removed.
2589         (rpcsvc-objs): Variable removed.
2590         (extra-objs): Don't include $(rpcsvc-objs).
2591         (extra-libs): New variable, contains librpcsvc.
2592         (librpcsvc-routines): New variable.
2593         (librpcsvc-inhibit-o): New variable, contains .so.
2594         (omit-deps): Set this to $(librpcsvc-routines).
2595         ($(objpfx)rpcgen): Don't use $(libc.a).
2596         (lib, $(objpfx)librpcsvc.a): Targets removed.
2597
2598         * o-iterator.mk, extra-lib.mk: New files.
2599         * Makerules (o-iterator): New variable.
2600         [extra-libs]: Include extra-lib.mk to generate rules for each word
2601         of $(extra-libs).
2602         * Makefile (distribute): Add extra-lib.mk, o-iterator.mk.
2603
2604 Fri Mar 17 13:28:04 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
2605
2606         * sysdeps/ieee754/ldbl2mpn.c (__mpn_extract_long_double):
2607         Handle 80-bit denormalized numbers correctly.
2608
2609         * stdlib/strtod.c, stdlib/strtof.c, stdlib/strtold.c:
2610         (IMPLICIT_ONE, *_MAX_10_EXP_LOG): Macros removed; no longer needed.
2611         * stdlib/strtod.c (RETURN): Add parentheses around return value.
2612         (round_and_return): Correct handling of denormalized numbers.
2613
2614         * stdio/fpioconst.c, stdio/fpioconst.h: Don't use
2615         LDBL_MAX_10_EXP_LOG; LAST_POW10 defines the maximal available
2616         exponent.
2617
2618 Thu Mar 16 00:04:41 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2619
2620         * locale/C-ctype.c: New correct data generated by drepper.
2621
2622         * Rules: Don't use $(libc.a).
2623
2624         Parsing of grouped numbers contributed by Ulrich Drepper.
2625         * stdlib/strtol.c (__strtol_internal): Renamed from strtol.  Take
2626         new flag arg; if nonzero, parse locale-dependent thousands
2627         grouping and interpret only the prefix that is correctly grouped.
2628         (strtol): Define this to call _strtol_internal with zero for the flag.
2629         Use a weak symbol for the definition.
2630         * stdlib/strtod.c (strtod, __strtod_internal): Likewise.
2631         Check for the exponent of the number overflowing the float format.
2632         * stdlib/stdlib.h (__strtof, __strtold): Declarations removed.
2633         (__strto{f,d,ld,l,ul,q,uq}_internal): Declare these functions.
2634         [__OPTIMIZE__]: Define inline functions calling those.
2635         * stdlib/strtold.c (STRTOF): Set to strtold, not __strtold.
2636         (strtold): Remove weak alias.
2637         * stdlib/strtof.c (STRTOF): Set to strtof, not __strtof.
2638         (strtof): Remove weak alias.
2639         * stdlib/grouping.h: New file, written by drepper.
2640         * stdlib/Makefile (distribute): Add grouping.h.
2641         * stdio/vfscanf.c: Grok %' modifier to numeric conversions.  Call
2642         __strtoX_internal with the grouping flag set iff the modifier is
2643         present.
2644
2645 Wed Mar 15 00:40:54 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2646
2647         * sysdeps/generic/memchr.c: Fix typos: limit.h -> limits.h.
2648
2649         * mach/Machrules: Produce static deps for all object flavors.
2650         [interface-library]: Remove all these variables and rules.
2651         ($(interface-library)-routines): Define this variable.
2652         (extra-libs): Append $(interface-library) to this.
2653         * mach/Makefile (interface-library): Omit .a suffix.
2654         * hurd/Makefile: Likewise.
2655
2656 Tue Mar 14 23:40:31 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2657
2658         * stdio/internals.c (flushbuf): If !FLUSH_ONLY, don't skip out
2659         early if no new data in buffer after priming.
2660
2661 Mon Mar 13 01:48:16 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2662
2663         * Makerules (object-suffixes, libtypes): Move all these variables
2664         to Makeconfig.
2665         * Makeconfig (object-suffixes, libtypes): Moved here from Makerules.
2666
2667         * Makerules (build-extra-lib): New canned sequence.
2668
2669         * sysdeps/mach/hurd/euidaccess.c: Include fcntl.h.  Declare ERR;
2670         fix uses of FILE and PORT.  Remove bogus weak alias for `access'.
2671
2672         * sysdeps/mach/hurd/dirfd.c: Include hurd/fd.h and errno.h.
2673         Add missing semicolon.
2674         * sysdeps/mach/hurd/opendir.c: Include hurd/fd.h.  Use a `struct
2675         hurd_fd *' temp var, since DIRP->__fd is a `void *'.
2676         * sysdeps/mach/hurd/readdir.c: Include hurd/fd.h.
2677
2678         * stdlib/wcstombs.c: #if 0 out code for non-ASCII chars until the
2679         locale data format is implemented.
2680
2681         * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
2682         Pass &__sigreturn on the stack to the trampoline code, so it is
2683         not position-dependent.
2684
2685         * stdio/printf_fp.c (NDEBUG): Define this to disable assert.
2686         Don't include <stdarg.h>.
2687         (__printf_fp): Last arg ARGS is now `const void **const';
2688         dereference ARGS[0] instead of using va_arg.
2689
2690         * locale/setlocale.c: In LC_ALL case, initialize CATEGORY before
2691         loop to install data.
2692
2693         * locale/loadlocale.c (_nl_category_num_items): Use _NL_ITEM_INDEX
2694         to extract number from item code.
2695         (_nl_load_locale): Close the descriptor when finished.
2696
2697         * malloc/realloc.c (_realloc_internal): Call _malloc_internal in
2698         place of malloc.
2699
2700         * time/tzfile.c (__tzfile_default): Initialize RULE_STDOFF to zero.
2701
2702         * stdio/printf_fp.c (group_number): Cast *GROUPING to unsigned int
2703         to avoid warning.
2704         * sysdeps/generic/sigset.h (__SIGSETFN): Cast result of sizeof to
2705         int to avoid warning.
2706
2707         Support building several flavors of objects and libraries.
2708         * Makerules (libtypes, object-suffixes): New variables.
2709         (libtype.*, CFLAGS-*, CPPFLAGS-*): New variables for each object
2710         suffix.
2711         (CFLAGS, CPPFLAGS): Append $(C{,CPP}FLAGS-$(suffix $@)).
2712         (%.so, %.po, %.go): New compilation rules for %.S, %.s, %.c.
2713         (close-check-inhibit-asm): Append a semicolon.
2714         (sysd-rules): Generate rules for each object suffix.
2715         (compile.S, compile.c): Always assume gcc.
2716         (OUTPUT_OPTION): Define unconditionally.
2717         (+make-deps): In generated rule, produce a dependent for each
2718         object suffix.
2719         (.SUFFIXES): Add $(object-suffixes) in place of .o.
2720         (.PRECIOUS): Make all suffix flavors precious.
2721         ($(libc.a)): Target removed.
2722         (lib): Depend on each enabled libtype.
2723         (libobjs, objects, objs): Depend on all the enabled object flavors.
2724         (lib%.a): New pattern rule.
2725         [$(build-shared)=yes] (lib%.so: lib%_pic.a): New pattern rule.
2726         (stamp-$(subdir)): Rewritten to a pattern rule for stamp.%-$(subdir)
2727         to make one for each flavor; library dep rule likewise rewritten.
2728         ($(libc.a)(__.SYMDEF)): Target replaced with one target for each
2729         flavor.
2730         (symdef.%): New pattern rule; helper for __.SYMDEF targets.
2731         (installed-libcs): New variable.
2732         (install): Depend on that instead of
2733         $(libdir)/lib$(libprefix)$(libc-name).a;
2734         that file's rule rewritten to make each enabled libtype.
2735         (install-lib.so): New variable, filters lib%.so from $(install-lib).
2736         (install-lib): Filter out lib%.so after setting install-lib.so.
2737         [$(build-shared)=yes] (install): Install $(install-lib.so).
2738         (common-mostlyclean): Remove all flavors of objects.
2739         * Makefile ($(libc.a)(__.SYMDEF)): Target removed.
2740         [$(build-shared)=yes] (lib): Depend on $(common-objpfx)libc.so.
2741
2742 Sun Mar 12 18:21:10 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2743
2744         * sysdeps/stub/ulimit.c: Don't include gnu-stabs.h.
2745         * sysdeps/stub/pause.c: Likewise.
2746         * sysdeps/stub/time.c: Likewise.
2747
2748         * stdlib/mbtowc.c: #if 0 out code for non-ASCII chars until the
2749         locale data format is implemented.
2750         * stdlib/wctomb.c: Likewise.
2751
2752         * mach/Makefile ($(objpfx)errsystems.c): Reenable this rule; the
2753         gcc bug is fixed.
2754         * mach/errsystems.c: File removed.
2755
2756         * Makeconfig (libc.a): Variable removed.
2757         (+link): Don't use it.
2758
2759         * configure.in (AC_ARG_ENABLE calls): Use $enableval instead of
2760         assuming `yes'.
2761
2762         * malloc/malloc.h (_malloc_internal, _realloc_internal): Declare these.
2763         * malloc/realloc.c (_realloc_internal): Renamed from realloc;
2764         don't use __realloc_hook.
2765         (realloc): New function; call __realloc_hook ?: _realloc_internal.
2766         * malloc/malloc.c (_malloc_internal): Renamed from malloc;
2767         don't use __malloc_hook.
2768         (malloc): New function; call __malloc_hook ?: _malloc_internal.
2769         Changes from Germano Caronni <caronni@tik.ethz.ch>:
2770         (initialize): Set up _heaplimit to cover the _heapinfo table.
2771         (morecore_recursing): New static variable.
2772         (morecore): If that is set, return null immediately.
2773         When growing the info table, before getting new core from the
2774         system for it, set morecore_recursing and try moving _heapinfo
2775         with _realloc_internal.  When that fails and we get new core, set
2776         _heaplimit to cover the core for the new _heapinfo table.
2777         (register_heapinfo): New function.  Record the _heapinfo table's
2778         own blocks in that table and in the statistics variables.
2779         (initialize, _malloc_internal): Use it after allocating new table.
2780
2781 Fri Mar 10 22:26:28 1995  Jim Meyering  (meyering@comco.com)
2782
2783         * sysdeps/generic/memchr.c: Remove ansidecl.h and clean up for use
2784         by other packages.
2785         [LONG_MAX <= LONG_MAX_32_BITS]: Don't compile 64-bit code.
2786
2787 Fri Mar 10 13:31:29 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2788
2789         * mach/errorlib.h (errors): Use const for decl.
2790
2791         * time/tzfile.c (uc2ul, _uc2ul): Macros removed.
2792         (decode): New inline function; decode signed 32-bit integers, and
2793         sign-extend properly when long is longer than 32 bits.
2794         (__tzfile_read): Changed all uses of uc2ul to decode.
2795         Decode the transition times properly when sizeof (time_t) > 4.
2796
2797         * stdio/printf.h: Doc fixes.  Don't #include <stddef.h>.
2798         (printf_function): Make last arg ARGS a vector of pointers instead of a
2799         pointer to va_list.
2800
2801 Fri Mar 10 13:46:25 1995  Ulrich Drepper  <drepper@ipd.info.uni-karlsruhe.de>
2802
2803         * stdio/vfprintf.c [USE_IN_LIBIO] (PAD): Use return value of _IO_padn.
2804         (buffered_vfprintf): Remove line buffer when flush failed.
2805
2806 Fri Mar 10 00:04:55 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2807
2808         * time/tzfile.c (struct ttinfo): New member `isgmt'.
2809         (__tzfile_read): Read isgmt flags for each type.
2810         (__tzfile_default): When using TZDEFRULES DST rules, adjust
2811         transition times according to the isstd and isgmt flags for the
2812         types of each transition, and adjust each transition to point to
2813         type index either 0 or 1.  Reset type indices 0 and 1 to describe
2814         the user's settings.
2815
2816 Thu Mar  9 22:29:03 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2817
2818         * locale/categories.def (LC_CTYPE): Merge CLASS_EB and CLASS_EL
2819         into just CLASS.  Add standard/optional flag to all items.
2820
2821         * locale/localeinfo.h (_NL_CURRENT_DEFINE): Fix typo.
2822
2823         * ctype/ctype.h [__BYTE_ORDER == __LITTLE_ENDIAN] (_ISbit):
2824         Rearrange defn to satisfy compiler.
2825
2826         * locale/localeinfo.h: Declare _nl_current.
2827
2828         * configure.in: Use AC_CHECK_TOOL for CC, AR, RANLIB.  Accept args
2829         --enable-shared, --enable-profile, --enable-omitfp; pass settings
2830         through to config.make.
2831         * config.make.in (build-shared, build-profile, build-omitfp): New
2832         config vars.
2833
2834         * elf/elf.h (STN_UNDEF): Renamed to SHN_UNDEF (typo).
2835         (DT_NUM): New macro.
2836
2837         * locale/nl_langinfo.c: Include errno.h and stddef.h.  Fix typos.
2838
2839         * locale/lc-ctype.c (_nl_postload_ctype): Fix macro insanity.
2840
2841         * locale/loadlocale.c (_nl_load_locale) [! MAP_COPY]: Define
2842         MAP_COPY to MAP_PRIVATE.
2843
2844 Thu Mar  9 17:16:53 1995  Brendan Kehoe  (brendan@zen.org)
2845
2846         * sysdeps/alpha/divrem.m4: Undefine `ret' to avoid the definition
2847         that's used inside the alpha sysdep.h.
2848
2849         * sysdeps/alpha/__longjmp.c (__longjmp): Remove obsolete __NORETURN
2850         keyword.
2851         * sysdeps/alpha/__math.h (__copysign): Remove obsolete __CONSTVALUE.
2852
2853         * configure.in: Match `osf*', not `osf1*'.
2854         * configure: Likewise.
2855         * sysdeps/unix/bsd/osf: Renamed from `sysdeps/unix/bsd/osf1'.
2856
2857 Wed Mar  8 13:38:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2858
2859         * posix/glob/configure.bat: Fixes from DJ.
2860
2861         * time/backward, time/europe, time/northamerica, time/pacificnew,
2862         time/zdump.c, time/zic.c, time/tzfile.h, time/private.h,
2863         time/ialloc.c: Code and data updated from ADO's 95b.
2864         * time/emkdir.c: File removed.
2865         * time/Makefile (distribute, extra-objs, zic): Omit it.
2866
2867         * time/localtime.c: Deansideclized.  Never #define __tzname et al
2868         to non-__ names.
2869
2870         * locale/lc-ctype.c (__ctype_tolower, __ctype_toupper): Use int *
2871         instead of short int *.
2872         * ctype/ctype-info.c: Likewise.
2873         * ctype/ctype.h: Likewise.
2874
2875         * locale/langinfo.h (_NL_CTYPE_CLASS): Use this (just one) instead
2876         of EB and EL versions.
2877
2878 Mon Mar  6 12:34:56 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2879
2880         * ctype/ctype.h (_ISbit): New macro, defined dependent on byte order.
2881         (_IS* enum): Use _ISbit to produce values.
2882
2883 Sun Mar  5 19:40:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2884
2885         * locale/localeinfo.h: Rewritten for new locale system, using
2886         locale data files and with <langinfo.h> interface.
2887         * locale/setlocale.c: Rewritten to use locale data files.
2888         * langinfo.h: New file.
2889         * locale/langinfo.h: New file.
2890         * locale/nl_langinfo.c: New file.
2891         * locale/loadlocale.c: New file.
2892         * locale/lc-ctype.c: New file.
2893         * locale/lc-messages.c: New file.
2894         * locale/lc-monetary.c: New file.
2895         * locale/lc-numeric.c: New file.
2896         * locale/lc-time.c: New file.
2897         * locale/categories.def: New file.
2898         * locale/Makefile (headers): Remove localeinfo.h.
2899         (distribute): New variable; put localeinfo.h here, and categories.def.
2900         (routines): Add loadlocale.
2901         (categories): New variable.
2902         (aux): Use that to get C-category and lc-category.
2903         * ctype/ctype.h (_IS*): Use independent bits for all but _ISalnum.
2904         * ctype/ctype-info.c: For initial tables, use
2905         _nl_C_LC_CTYPE_{class,toupper,tolower} constant tables defined in
2906         locale/C-ctype.c.
2907         * locale/C-ctype.c, locale/C-messages.c: New files.
2908         * locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c:
2909         Default "C" locale data updated for new locale system.
2910         * locale/C-collate.c: File removed.
2911         * locale/C-ctype_ct.c: File removed.
2912         * locale/C-ctype_mb.c: File removed.
2913         * locale/C-response.c: File removed.
2914         * locale/localeconv.c: Use _NL_CURRENT macro to access locale data.
2915         * stdio/printf_fp.c, stdio/vfprintf.c, stdio/vfscanf.c,
2916           stdlib/strtod.c, time/asctime.c, time/strftime.c:
2917         Include ../locale/localeinfo.h and use _NL_CURRENT macro to access
2918         locale data.
2919         * time/localtime.c: Don't include <localeinfo.h>.
2920         * time/tzset.c: Don't use locale items for default TZ value or
2921         "GMT" string (use "UTC").
2922
2923         * stdio/vfprintf.c [USE_IN_LIBIO] (PAD): Only call the function if
2924         WIDTH>0; update DONE.
2925
2926         * malloc/malloc.c (morecore): Fix last change to calculate by
2927         blocks instead of bytes.
2928
2929 Fri Mar  3 12:24:52 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2930
2931         * sysdeps/generic/sys/mman.h (__mmap, __munmap): Declare these.
2932         * sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
2933         * sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
2934         * sysdeps/unix/bsd/osf1/sys/mman.h: Likewise.
2935         * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
2936         * sysdeps/stub/munmap.c (munmap): Rename to __munmap, add weak
2937         alias munmap.
2938         * sysdeps/unix/mman/munmap.S: Likewise.
2939         * sysdeps/mach/munmap.c: Likewise.
2940         * sysdeps/mach/hurd/mmap.c (mmap): Rename to __mmap, add weak
2941         alias mmap.
2942         * sysdeps/unix/mman/mmap.S: Likewise.
2943         * sysdeps/unix/bsd/sun/sunos4/mmap.c: Likewise.
2944         * sysdeps/stub/mmap.c: Likewise.
2945
2946         * sysdeps/unix/bsd/setsid.c: Use __getpgid instead of __getpgrp.
2947
2948         * sysdeps/unix/dirfd.c: #undef dirfd before function defn.
2949
2950 Thu Mar  2 12:15:24 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2951
2952         * misc/search.h: Add missing semicolon.
2953
2954         * sysdeps/unix/dirfd.c: Fix typo.
2955
2956         * sysdeps/generic/sys/mman.h (mmap): Use __off_t instead of off_t
2957         in decl.
2958
2959         * stdio/vfscanf.c (%c): In no-assign case, fix loop to decrement
2960         WIDTH before test.
2961
2962 Wed Mar  1 00:57:47 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2963
2964         * stdlib/strtod.c: Fixes from drepper.
2965         [IMPLICIT_ONE]: New macro, one for IEEE754 formats.
2966         * stdlib/strtold.c [IMPLICIT_ONE]: New macro, 0.
2967         * stdlib/strtof.c [IMPLICIT_ONE]: New macro, 1.
2968
2969         * stdio/vfprintf.c: Correctly notice Z modifier.
2970
2971         * misc/search.h: New file.
2972         * misc/Makefile (headers): Add search.h.
2973         * misc/insremque.c: Include search.h.
2974         (struct qelem): Type removed.
2975
2976 Mon Feb 27 07:00:57 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2977
2978         * elf/libelf.h: New file.
2979         * elf/elf_hash.c: New file.
2980
2981 Sun Feb 26 15:51:00 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2982
2983         Changes from Germano Caronni <caronni@tik.ethz.ch>:
2984         * malloc/malloc.c (morecore): Account in NEWSIZE for the
2985         malloc_info structures for each new block.
2986
2987 Sat Feb 25 02:17:52 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2988
2989         * sysdeps/mach/hurd/kill.c: When the process has no message port
2990         registered and we have its task port, translate a few signals to
2991         task_suspend/task_resume/task_terminate.
2992
2993 Fri Feb 24 14:40:48 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2994
2995         * io/Makefile (routines): Add euidaccess.
2996         * sysdeps/mach/hurd/euidaccess.c: New file.
2997         * sysdeps/stub/euidaccess.c: New file.
2998         * posix/unistd.h [__USE_GNU] (euidaccess): Declare it.
2999
3000         * dirent/Makefile (routines): Add dirfd.
3001         * sysdeps/stub/dirfd.c: New file.
3002         * sysdeps/unix/dirfd.c: New file.
3003         * sysdeps/unix/dirstream.h (_DIR_dirfd): New macro.
3004         * dirent/dirent.h (dirfd): Declare new function.  Define as macro
3005         _DIR_dirfd if that is defined.
3006         * sysdeps/mach/hurd/dirstream.h (DIR): Replace `__port' member
3007         with `void *__fd'.
3008         * sysdeps/mach/hurd/opendir.c: Use DIRP->__fd instead of DIRP->__port.
3009         Open the file with `open'; set FD_CLOEXEC on the fd.
3010         * sysdeps/mach/hurd/closedir.c: Likewise.
3011         * sysdeps/mach/hurd/readdir.c: Likewise.
3012         * sysdeps/mach/hurd/dirfd.c: New file.
3013
3014         * posix/Makefile (glob/configure): Do cvs commit if there is a CVS
3015         directory.
3016         (glob/ChangeLog): Likewise.
3017
3018         * locale/locale.h (LC_*): Use small integers instead of bit masks.
3019
3020         * stdio/bug4.c: Put temporary files in /tmp.
3021         * stdio/bug3.c: Likewise.
3022         * stdio/bug5.c: Likewise.
3023         * stdio/test-fseek.c: Likewise.
3024         * stdio/test-popen.c: Likewise.
3025
3026 Wed Feb 22 00:44:41 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3027
3028         * posix/glob/configure.in: Put AC_ISC_POSIX before AC_CONST.
3029
3030         * libc-symbols.h (weak_symbol): New macro.
3031
3032         * hurd/hurdsig.c (_hurd_internal_post_signal): Ignore preempter
3033         elts with null handlers.
3034
3035         * sysdeps/mach/hurd/i386/sigreturn.c: Restore the FPU state.
3036
3037 Tue Feb 21 21:53:30 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3038
3039         * stdlib/random.c (__srandom): Change algorithm used to populate
3040         the state array.
3041         (randtbl): Recomputed with new algorithm.
3042
3043         * sysdeps/sparc/Makefile [subdir=crypt] (crypt): Reset only if set
3044         to original value of `crypt'.
3045         * sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile [subdir=crypt]
3046         (crypt): New variable, set to crypt.solar.
3047
3048 Tue Feb 21 11:50:37 1995  Brendan Kehoe  (brendan@zen.org)
3049
3050         * sysdeps/sparc/Makefile (routines): Reference `dotmul', not `mul'.
3051
3052         * config.h.in: Put comment around ^L to pacify Solaris as here too.
3053
3054 Tue Feb 21 00:10:50 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3055
3056         * string/Makefile (distribute): Add pagecopy.h.
3057         * sysdeps/mach/pagecopy.h: New file.
3058         * sysdeps/generic/pagecopy.h: New file.
3059         * sysdeps/generic/memcpy.c: Include pagecopy.h; call
3060         PAGE_COPY_FWD_MAYBE first when word aligned.
3061         * sysdeps/generic/memmove.c: Likewise.
3062
3063         * misc/bsd-compat.c (longjmp, setjmp): Functions removed.
3064         (getpgrp): Call __getpgid instead of __getpgrp.
3065
3066         * Makefile (subdirs): Add elf first.
3067         * elf/Makefile: New file.
3068         * elf/elf.h: New file.
3069
3070         * sysdeps/unix/start.c (errno): Only define if it's not #define'd
3071         as a macro.
3072         [! NO_UNDERSCORES]: Define `start' as a weak alias, not a symbol
3073         indirection.
3074
3075         * csu/Makefile (crtstuff): New variable consolidates crti, crtn;
3076         add crti_s, crtn_s.
3077         (install-lib, extra-objs, generated-, omit-deps): Use that.
3078         (initfini): New canned sequence, broken out of crt[in].s rule.
3079         (crt[in].s rule): Use it.
3080         (crt[in]_s.s): New rule.
3081         * csu/initfini.c (GLOBAL): New macro; define it to empty if undefined.
3082         (_init, _fini): Use GLOBAL as storage class.
3083         Add self reference to avoid GCC optimizing out the functions.
3084
3085         * Makefile (headers): Remove $(stddef.h).
3086         * Makeconfig (stddef.h): Variable removed; now require gcc version
3087         >= 2.2.
3088         * stddef.h: File removed.
3089
3090 Mon Feb 20 19:42:31 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3091
3092         * sysdeps/unix/bsd/ultrix4/mips/start.S: Remove `__environ'
3093         definition.
3094         * sysdeps/unix/bsd/osf1/alpha/start.S: Likewise.
3095
3096         * stdlib/strtod.c: Allow the string to start with a decimal point
3097         without a leading zero.
3098
3099 Mon Feb 20 04:04:57 1995  Roland McGrath  <roland@duality.gnu.ai.mit.edu>
3100
3101         * Makefile (subdirs): Put csu first.
3102
3103         * sysdeps/mach/hurd/start.c: Include unistd.h for __environ decl.
3104
3105         * Makeconfig [elf=yes] (+preinit, +postinit): New variables, set
3106         to crt[in].o.
3107         (csu-objpfx): New variable.
3108         (+link): Use it to find start.o and $(+preinit), $(+postinit).
3109
3110         * Rules (subdir_lib, all): Depend on objs.
3111
3112         * config.h.in [HAVE_ELF || HAVE_GNU_LD]: Define HAVE_WEAK_SYMBOLS.
3113
3114         * stdlib/strtod.c (PASTE, PASTE1): New helper macros; use these in
3115         access to float.h macros.
3116
3117         * misc/efgcvt.c: New file.
3118         * misc/Makefile (routines): Add efgcvt.
3119
3120 Sun Feb 19 20:10:43 1995  Brendan Kehoe  <brendan@zen.org>
3121
3122         * sysdeps/sparc/mul.S: Renamed to `dotmul.S'.
3123         * sysdeps/sparc/Makefile (routines): Reference `dotmul.S', not `mul.S',
3124         to avoid a misreference that would override sysdeps/generic/mul.c.
3125         * sysdeps/sparc/Dist: Likewise.
3126
3127 Sun Feb 19 17:46:13 1995  Roland McGrath  <roland@duality.gnu.ai.mit.edu>
3128
3129         * posix/Makefile (aux): Add environ.
3130         * posix/environ.c: New file.
3131         * sysdeps/unix/sparc/start.c: Remove __environ definition.
3132         * sysdeps/unix/start.c: Likewise.
3133         * sysdeps/unix/sysv/irix4/start.c: Likewise.
3134         * sysdeps/mach/hurd/start.c: Likewise.
3135         * sysdeps/mach/start.c: Likewise.
3136         * sysdeps/stub/start.c: Likewise.
3137
3138         * sysdeps/unix/make_errlist.c: In produced program, test
3139         HAVE_WEAK_SYMBOLS instead of HAVE_GNU_LD.
3140         * sysdeps/unix/sysv/sysv4/dup2.c: Fix #include of renamed file.
3141         Remove extra weak alias.
3142
3143         * sysdeps/unix/sysv/sysv4/sigaltstack.S: Fix unsquashed file name
3144         in #include.
3145
3146         * libc-symbols.h: Put comment around ^L to pacify Solaris as.
3147
3148         * sysdeps/posix/Makefile (cded-objdir-includes): New variable
3149         replaced cded-objdir-CPPFLAGS; transform $(+includes) instead of
3150         $(CPPFLAGS).
3151         (mk-stdiolim): Use it instead.
3152
3153 Fri Feb 17 12:16:27 1995  Roland McGrath  <roland@duality.gnu.ai.mit.edu>
3154
3155         * mach/mach_init.c (__vm_page_size): Make it initialized.  It does
3156         not work to make a weak alias to a bss symbol.
3157
3158         * stdio/Makefile (distribute): Remove mpn-copy.mk; add gen-mpn-copy.
3159         (tests): Add test-fwrite.
3160         * stdio/test-fwrite.c: New file.
3161
3162         * stdlib/stdlib.h [__USE_GNU]: Declare strtof, strtold, __strtof,
3163         __strtold.
3164
3165         * Makefile (autoconf-it): New canned sequence.  Do cvs commit if
3166         there is a CVS directory.
3167         (configure, %/configure): Use $(autoconf-it) for cmds.
3168         * Make-dist: Likewise.
3169         * sysdeps/mach/hurd/Makefile (errlist.c, errnos.h): Do cvs commit
3170         if there is a CVS directory.
3171         * sysdeps/sparc/Makefile (divrem output): Likewise.
3172         * sysdeps/alpha/Makefile (divrem output): Likewise.
3173         * Makerules ($(gpl2lgpl)): Likewise.
3174
3175         * Makerules (rule to install lib%.a from $(install-lib)): Fix
3176         patsubst to elide ranlib for $(non-lib.a).
3177
3178         * stdio/tst-printf.c: Enable FP tests.  Add some new tests from rfg.
3179
3180 Thu Feb 16 04:06:06 1995  Roland McGrath  <roland@duality.gnu.ai.mit.edu>
3181
3182         * sysdeps/mach/hurd/mig-reply.c: Add weak aliases to non-__ names.
3183         * mach/mig-dealloc.c: Add weak alias mig_deallocate.
3184
3185 Wed Feb 15 13:34:01 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3186
3187         * hurd/hurd/signal.h (HURD_MSGPORT_RPC): Take new arg
3188         DEALLOC_REFPORT; deallocate the refport after use only if it
3189         evaluates to nonzero.
3190         * sysdeps/mach/hurd/kill.c: Pass DEALLOC_REFPORT arg of one.
3191         * hurd/hurdkill.c: Pass DEALLOC_REFPORT arg of zero.
3192
3193         * hurd/hurdsig.c (abort_rpcs): Take new arg int *STATE_CHANGE; set
3194         *STATE_CHANGE to indicate whether or not we changed *STATE and it
3195         should be committed to the thread.
3196         (abort_all_rpcs): Take new arg LIVE; if nonzero and abort_rpcs changes
3197         state for a thread, do thread_set_state on that thread.  Don't use
3198         SS->intr_port for collecting reply ports, it is not safe to
3199         clobber that when suspending; instead, alloca a temporary array.
3200         (_hurd_internal_post_signal): Pass LIVE flag to abort_all_rpcs:
3201         zero when dying, one when suspending.  Pass new arg to abort_rpcs.
3202
3203         * sysdeps/mach/hurd/stdio_init.c: Don't lock the file descriptor;
3204         HURD_FD_PORT_USE will.  Don't use critical sections around
3205         HURD_FD_PORT_USE invocations.
3206
3207         * sysdeps/mach/hurd/stdio_init.c: Don't make pipes/FIFOs unbuffered.
3208         * sysdeps/posix/stdio_init.c: Likewise.
3209
3210 Tue Feb 14 03:01:12 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3211
3212         * hurd/hurd/fd.h (_hurd_fd_get): Don't do critical section
3213         locking; don't leave the descriptor locked on return.
3214         (HURD_FD_PORT_USE): Don't expect _hurd_fd_get to return the fd locked.
3215         Use a critical section around locking the descriptor.
3216         Check for an empty descriptor and return EBADF.
3217         * sysdeps/mach/hurd/dup2.c: Likewise.
3218         * sysdeps/mach/hurd/fcntl.c: Likewise.
3219         Use HURD_FD_PORT_USE macro for RPCs.
3220         * sysdeps/mach/hurd/sysd-stdio.c: Don't lock the descriptor before
3221         using HURD_FD_PORT_USE.
3222         * sysdeps/mach/hurd/defs.c (init_stdio): Don't expect _hurd_fd_get
3223         to lock the descriptor.
3224         * sysdeps/mach/hurd/stdio_init.c: Use critical sections while
3225         locking the descriptor.
3226         * sysdeps/mach/hurd/fdopen.c: Likewise.
3227         * hurd/fd-close.c: Likewise.
3228         Don't expect the descriptor to be locked on entry.
3229         Check for empty descriptor and return EBADF.
3230
3231         Factor ctty RPC code for SIGTTIN/SIGTTOU generation out into
3232         new functions _hurd_ctty_input and _hurd_ctty_output, each
3233         called with (io_t port, io_t ctty, error_t (*rpc) (io_t)).
3234         * hurd/ctty-input.c: New file.
3235         * hurd/ctty-output.c: New file.
3236         * hurd/Makefile (dtable): Add ctty-input and ctty-output.
3237         * hurd/fd-read.c: Use _hurd_ctty_input.
3238         * hurd/fd-write.c: Use _hurd_ctty_output.
3239         * sysdeps/mach/hurd/ioctl.c: Likewise.
3240         * hurd/hurd/fd.h (_hurd_ctty_input, _hurd_ctty_output): Declare them.
3241
3242 Mon Feb 13 11:36:12 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3243
3244         * stdio/vfscanf.c (%e, %f, %g): Use strtod, __strtold, or __strtof
3245         as appropriate to the type.
3246
3247         * sysdeps/ieee754/huge_val.h (__huge_val_t): New macro to avoid
3248         repeating the union.
3249         (HUGE_VAL, __huge_val): Use it.
3250         [__USE_GNU] (HUGE_VALf, HUGE_VALl): New macros, along with
3251         analogous macros to HUGE_VAL's: __huge_val[fl]_t, __HUGE_VAL[fl]_bytes.
3252         * stdlib/strtold.c (FLOAT_HUGE_VAL): Define this to HUGE_VALl.
3253         (STRTOF): Set to __strtold; define strtold as weak alias.
3254         * stdlib/strtof.c (FLOAT_HUGE_VAL): Define this to HUGE_VALf.
3255         (STRTOF): Set to __strtof; define strtof as weak alias.
3256
3257         * sysdeps/ieee754/ieee754.h (union ieee754_float): New type.
3258         (IEEE754_FLOAT_BIAS): New macro.
3259
3260         * sysdeps/ieee754/mpn2ldbl.c: Fix typos.
3261
3262         * stdlib/testmb.c: Add tests from rfg for using normal chars as
3263         multibyte chars.
3264
3265         * hurd/hurdmalloc.c (malloc_init): Add self reference to avoid not
3266         only the `defined but not used' warning, but also to avoid GCC
3267         optimizing out the entire function (!).
3268
3269         * stdlib/wctomb.c: Include ctype.h.
3270
3271         * Makerules (install-lib-non.a): Don't include $(non-lib.a).
3272
3273         * hurd/hurdmalloc.c: Include string.h; #define bcopy using memcpy.
3274
3275 Sat Feb 11 04:05:29 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3276
3277         * stdio/printf_fp.c: Include "fpioconst.h".
3278         (_tens_p): Table moved to fpioconst.c, renamed to _fpioconst_pow10.
3279         (__printf_fp): All references changed.
3280         Don't bother computing THOUSANDS_SEP if GROUPING is empty.
3281         (group_number): Use memmove instead of memcpy, since operands overlap.
3282         * stdio/fpioconst.c: New file, tables broken out of stdio/printf_fp.c.
3283         * stdio/fpioconst.h: New file, header declaring the table data.
3284         * stdio/Makefile (aux): Add fpioconst.
3285         (distribute): Add fpioconst.h.
3286         * stdlib/strtod.c: Complete rewrite from drepper.
3287         * stdlib/strtof.c: New file.
3288         * stdlib/strtold.c: New file.
3289         * stdlib/Makefile (routines): Add strtof, strtold.
3290         * stdio/Makefile (routines): Add mpn2flt, mpn2dbl, mpn2ldbl.
3291         * sysdeps/stub/mpn2flt.c: New file.
3292         * sysdeps/stub/mpn2dbl.c: New file.
3293         * sysdeps/stub/mpn2ldbl.c: New file.
3294         * sysdeps/ieee754/mpn2flt.c: New file.
3295         * sysdeps/ieee754/mpn2dbl.c: New file.
3296         * sysdeps/ieee754/mpn2ldbl.c: New file.
3297
3298         * Makerules (install-lib.a): Don't filter out $(non-lib.a).
3299         ($(install-lib.a) in $(libdir) rule): Elide ranlib command when $@
3300         appears in $(non-lib.a).
3301
3302 Fri Feb 10 17:20:14 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3303
3304         * stdlib/wctomb.c: A normal ASCII character translates to itself.
3305         * stdlib/mbtowc.c: Likewise.
3306
3307 Thu Feb  9 03:55:55 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3308
3309         * setjmp/setjmp.h (longjmp, _longjmp, __longjmp, siglongjmp):
3310         Remove `const' from prototypes.
3311         * sysdeps/m68k/__longjmp.c: Likewise.
3312         * setjmp/longjmp.c: Likewise.
3313         * sysdeps/i386/__longjmp.c: Likewise.
3314
3315         * sysdeps/posix/tempname.c: Increment *IDX at beginning of loop,
3316         so when we return a name, it is incremented past the value that
3317         produces that same name.
3318
3319         * stdio/fgets.c (fgets): Change `size_t' to `int' in prototype.  Sigh.
3320         * stdio/stdio.h (fgets): Likewise.
3321
3322         * stdio/vfprintf.c (printf_unknown): Print ' for INFO->group flag.
3323
3324         * hurd/fd-write.c: Don't clobber ERR with the msg_sig_post call
3325         when it's EBACKGROUND; we need to notice that it is EBACKGROUND
3326         and retry the RPC.
3327         * hurd/fd-read.c: Likewise.
3328
3329 Wed Feb  8 05:01:11 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3330
3331         * sysdeps/mach/sysdep.h (FATAL_PREPARE_INCLUDE): New macro, set to
3332         <mach/mig_support.h>.
3333         * assert/assert-perr.c [FATAL_PREPARE_INCLUDE]: Include it.
3334         * assert/assert.c: Likewise.
3335         * sysdeps/posix/libc_fatal.c: Likewise.
3336
3337 Tue Feb  7 12:17:58 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3338
3339         * stdio/stdio.h [__STRICT_ANSI__] (stdin, stdout, stderr): Define
3340         as macros, to satisfy ANSI pedants.
3341
3342         * stdio/internals.c (flushbuf): When there is no new data after
3343         priming the stream, return without writing out the buffer.
3344         * stdio/Makefile (tests): Add bug7.
3345         * stdio/bug7.c: New file.
3346
3347         * io/sys/stat.h (S_IFIFO, S_IFLNK, S_IFSOCK, S_ISFIFO, S_ISLNK,
3348         S_ISSOCK): Define only if the corresponding underlying __S_IF* macro
3349         is defined.
3350
3351         * stdio/getdelim.c: Decrement COPY after getting a char from __fillbf.
3352
3353         * stdio/Makefile (tests): Add errnobug.
3354         * stdio/errnobug.c: New file.
3355
3356         * mach/mig_strncpy.c: Include string.h.
3357
3358         * sysdeps/mach/sysdep.h: Don't #include <mach/mig_support.h>.  Its
3359         inlines cause trouble for files defining global register variables.
3360
3361         * stdio/vfprintf.c: Use _strerror_internal for %m.
3362
3363         * sysdeps/ieee754/dbl2mpn.c: Fixes from drepper for 64-bit limbs.
3364
3365         * stdio/printf.h (struct printf_info): New member `group', for %' flag.
3366         * stdio/printf-prs.c (parse_printf_format): Grok %' flag and set flag.
3367         * stdio/vfprintf.c (group_number): New function.
3368         (vfprintf): Support %' flag for integer formats, by calling
3369         group_number after formatting the number in WORK.
3370         * stdio/printf_fp.c (guess_grouping, group_number): New functions.
3371         (__printf_fp): Implement `group' flag using them.
3372
3373         * Makefile (include sysd-dirs): Protect with ifndef avoid-generated.
3374         (parent-clean): Remove sysd-rules, not sysdirs.
3375         (distclean): Pass avoid-generated=yes to submake.
3376         (distclean-1): Remove $(sysdep-$(distclean-1)).
3377
3378         * Makerules (objects, objs): Depend on $(extra-objs) too.
3379         (include sysd-Makefile): Protect with ifndef avoid-generated.
3380
3381         * Makeconfig (+defines, +gnu-stabs, gnu-as): Variables removed.
3382         (CPPFLAGS): Use $(defines) in place of $(+defines).
3383         Replace -D_LIBC with -include $(..)libc-symbols.h.
3384
3385         * stdio/freopen.c: Set seen bit before calling fclose.
3386
3387 Mon Feb  6 18:34:40 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3388
3389         * sysdeps/mach/hurd/setpriority.c: Keep track of numbers of
3390         successes and each kind of failure.  Return EPERM or EACCES only
3391         if every task failed that way.
3392
3393         * sysdeps/mach/hurd/getpriority.c: Handle out of band buffers
3394         correctly.
3395
3396         * sysdeps/mach/hurd/ptrace.c (PTRACE_ATTACH, PTRACE_DETACH): Stop
3397         or resume the process after frobbing.
3398
3399         * hurd/hurdsig.c: Use spin lock operations on sigstate locks
3400         throughout.
3401         (_hurd_thread_sigstate): Don't lock the sigstate lock.
3402         (_hurd_internal_post_signal): New subfunction `mark_pending'; replace
3403         repeated sequences with calls to it.  Don't expect the sigstate
3404         lock to be held on entry; lock it just before examining sigaction.
3405         In handler case, check SS->critical_section after calling
3406         abort_rpcs; if set, mark the signal pending and resume the thread.
3407         * hurd/hurd/signal.h (_hurd_self_sigstate_unlocked): Function removed.
3408         (_hurd_self_sigstate): Don't lock the sigstate lock.
3409         (HURD_EINTR_RPC): Call _hurd_self_sigstate instead of
3410         _hurd_self_sigstate_unlocked.
3411         * hurd/msgportdemux.c: Don't expect _hurd_self_sigstate to lock
3412         the sigstate lock.
3413         * hurd/hurdexec.c: Use spin lock operations on sigstate lock.
3414         Don't expect _hurd_self_sigstate to lock it.  Fix critical section
3415         locking.
3416         * hurd/hurd-raise.c: Likewise.
3417         * sysdeps/mach/hurd/sigsuspend.c: Likewise.
3418         * sysdeps/mach/hurd/sigpending.c: Likewise.
3419         * sysdeps/mach/hurd/sigaltstack.c: Likewise.
3420         * sysdeps/mach/hurd/sigaction.c: Likewise.
3421         * sysdeps/mach/hurd/sigprocmask.c: Likewise.
3422         * hurd/fd-write.c: Likewise.
3423         * hurd/fd-read.c: Likewise.
3424         * sysdeps/mach/hurd/ioctl.c: Likewise.
3425         * sysdeps/mach/hurd/fork.c: Likewise.
3426         * sysdeps/mach/hurd/i386/sigreturn.c: Likewise.
3427         * sysdeps/mach/hurd/mips/sigreturn.c: Likewise.
3428         * sysdeps/mach/hurd/alpha/sigreturn.c: Likewise.
3429         * hurd/hurdmsg.c (get_int): Likewise.
3430
3431         * stdio/vfprintf.c: Include stddef.h.  Fix typos in libio code.
3432
3433         * stdio/vfprintf.c (__pad): Function renamed to __printf_pad, made
3434         global.
3435         (PAD): Caller changed.
3436         * stdio/printf_fp.c (__pad): Function removed.
3437         (PAD): Use __printf_pad instead.
3438
3439 Sun Feb  5 17:59:53 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3440
3441         Merged new FP printer by Ulrich Drepper.
3442         * stdio/printf_fp.c: Rewrite by drepper.
3443         * stdio/Makefile (routines): Add ldbl2mpn.
3444         * sysdeps/ieee754/ieee754.h (union ieee754_double): Add `ieee_nan'
3445         member.
3446         (union ieee854_long_double): New type, from drepper.
3447         (IEEE754_DOUBLE_BIAS, IEEE854_LONG_DOUBLE_BIAS): New macros.
3448         * sysdeps/ieee754/ldbl2mpn.c: New file, by drepper.
3449         * sysdeps/stub/ldbl2mpn.c: New file.
3450         * math/Makefile (routines): Add isinfl and isnanl.
3451         * sysdeps/ieee754/isinfl.c: New file.
3452         * sysdeps/stub/isinfl.c: New file.
3453         * sysdeps/ieee754/isnanl.c: New file.
3454         * sysdeps/stub/isnanl.c: New file.
3455
3456         * malloc/malloc.c (__malloc_extra_blocks): New variable.
3457         (malloc): When getting more core, get __malloc_extra_blocks extra;
3458         put the new block at the end of the free list and let the next loop
3459         iteration use the initial portion of it.
3460         * malloc/free.c (_free_internal): Account for twice
3461         __malloc_extra_blocks in deciding if we have so much extra memory
3462         we should return it to the system.
3463         * malloc/malloc.h (__malloc_extra_blocks): Declare it.
3464         * posix/glob.c (prefix_array, glob_pattern_p): Remove gratuitous
3465         const in parameter decl.
3466
3467         * sysdeps/unix/mips/sysdep.h (ENTRY): Add `.ent' directive.
3468
3469 Fri Feb  3 18:15:52 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3470
3471         * munch.awk (EXTERNS): Print decls using __P instead of EXFUN.
3472
3473         * sysdeps/mips/setjmp_aux.c: Use ENV[0].__jmpbuf[0].
3474         * sysdeps/mips/bsd-_setjmp.S: Use `li' insn instead of `move'.
3475         * sysdeps/mips/bsd-setjmp.S: Likewise.
3476         * sysdeps/mips/__longjmp.c: Remove obsolete __NORETURN keyword.
3477         * sysdeps/mach/hurd/mips/trampoline.c (_hurd_setup_sighandler):
3478         Use `long int' for sigcode.  Use explicit register numbers instead