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