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