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