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