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