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