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