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