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