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