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