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