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