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