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