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