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