3cd520683f68d95dc87373cb2966665a7ea29815
[kopensolaris-gnu/glibc.git] / ChangeLog
1 Mon Jul  1 15:44:34 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2
3         * inet/Makefile (routines): Change getnetbypt to getnetbyad.
4
5 Mon Jul  1 13:32:42 1996  Miles Bader  <miles@gnu.ai.mit.edu>
6
7         * hurd/report-wait.c (describe_number): Make I unsigned long.
8
9         * login/login.c (login): Only Frob OLD->ut_type if getutline_r
10         actually found any entry.
11
12         * login/pututline_r.c (pututline_r): If not located after any
13         entry don't use UTMP_DATA->ubuf, and seek to the end before adding.
14         Lock the file before stating.
15
16 Mon Jul  1 12:29:50 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
17
18         * nss/Makefile (databases): Change host to hosts.
19         * nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
20
21         * nss/nsswitch.c (nss_parse_service_list): Use const for NAME.
22
23         * nss/nss_files/files-parse.c (parse_list): Correct alignment fixup.
24
25         * string/string.h (strndupa): Pass missing arg to strnlen.
26
27         * inet/getnetbypt_r.c: Renamed to ...
28         * inet/getnetbyad_r.c: this; fixed function name.
29         * inet/getnetbypt.c: Renamed to ...
30         * inet/getnetbyad.c: this; fixed function name.
31
32 Sat Jun 29 01:08:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
33
34         * grp/getgrgid_r.c (LOOKUP_TYPE): Define to struct group, not
35         struct passwd.
36
37 Fri Jun 28 23:25:35 1996  Miles Bader  <miles@gnu.ai.mit.edu>
38
39         * login/login.c (login): Initialize DATA so that setutent_r will
40         actually do something.
41
42 Fri Jun 28 16:53:01 1996  David Mosberger-Tang  <davidm@azstarnet.com>
43
44         * resolv/res_hconf.c (strndup): Remove function.
45
46         * nss/nsswitch.c (nss_lookup_function): Declare loadbase and ref
47         using ElfW() instead of Elf32_*.
48
49         * sysdeps/unix/sysv/linux/alpha/init-first.h,
50         sysdeps/unix/sysv/linux/m68k/init-first.h,
51         sysdeps/unix/sysv/linux/i386/init-first.h: New files.
52         * sysdeps/unix/sysv/linux/init-first.c: Use platform-dependent
53         init-first.h to make abstract machine dependent parts of
54         initialization.
55
56         * sysdeps/unix/alpha/sysdep.h: Undo PIC-optimization of syscall
57         error handling.  It's safer that way.
58
59         * sysdeps/unix/alpha/sysdep.S: Make ldgp part of the prologue.
60         Fix by Richard Henderson.
61
62         * sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Fix
63         typo/extraneous whitespace.
64
65         * sunrpc/xdr.c (xdr_int, xdr_u_int): Use <limits.h> to test
66         determine what integer sizes we're dealing with.
67
68 Fri Jun 28 15:46:02 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
69
70         * hurd/hurdsig.c (_hurd_internal_post_signal): In pending signal
71         check for signal zero, repair logical sense of test by
72         parenthesizing correctly.
73
74         * hurd/hurdsig.c (_hurd_internal_post_signal): In
75         check-for-pending signals code, release _hurd_siglock before
76         jumping to deliver_pending.
77
78 Thu Jun 27 04:04:27 1996  David Mosberger-Tang  <davidm@azstarnet.com>
79
80         * configure.in (config_machine): Make ELF the default even for
81         Linux/Alpha unless a configuration of the form *-*-linux*ecoff
82         is specified.
83
84 Fri Jun 28 07:27:10 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
85
86         * nss/nss_files/files-hosts.c (ENTDATA): Define it.
87         * nss/nss_files/files-parse.c (struct parser_data): Define entdata
88         member only #ifdef ENTDATA.
89         (ENTDATA_DECL): New macro.
90         (LINE_PARSER): Use it for entdata decl.
91         (parse_list): Find the space for LIST from DATA->linebuffer instead of
92         from the input LINE, which might not be writable buffer space.
93         (LINE_PARSER): Use `parser_stclass' in place of `static inline'.
94         [ENTDATA] (parser_stclass): #define to `static inline'.
95         [!ENDATA] (parser_stclass): #define to empty.
96         [!ENTDATA] (parse_line): #define to _nss_files_parse_ENTNAME; the
97         function is exported to -lnss_files users.
98
99         * string/strndup.c: Add missing arg.
100
101         * string/string.h (strndupa): Likewise.
102         * string/strndup.c (strndup): Always terminate the string.
103
104 Thu Jun 27 14:22:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
105
106         * stdio/Makefile (routines): Add vscanf.
107         * stdio-common/Makefile (routines): Remove vscanf.
108         * stdio-common/vscanf.c: Move to ...
109         * stdio/vscanf.c: here.
110
111         * rpm/Makefile (headers, install-lib, install-lib.so,
112         versioned, install-bin, install-sbin, install-data,
113         install-others): Add $(-VARIABLE).
114
115 Fri Jun 28 02:41:08 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
116
117         * nss/Makefile (databases): New variable.
118         (routines, libnss_files-routines): Use it.
119         (subdir-dirs): Compute from $(services).
120
121         * sysdeps/unix/sysv/linux/syscalls.list (create_module, delete_module,
122         init_module, klogctl): Use EXTRA in the "caller" column so these get
123         added to unix-extra-syscalls and thus compiled in misc.
124
125         * string/Makefile (routines): Add strndup.
126         * string/strndup.c: New file.
127         * string/string.h: Declare strndup.
128         (strndupa): New macro.
129
130         * string/string.h: Declare __strdup.
131         * string/strdup.c: Deansideclized.  Define __ name and weak alias.
132
133         * string/string.h: Don't define memccpy as macro for [__OPTIMIZE__].
134
135 Thu Jun 27 23:43:22 1996  Richard Henderson  <rth@tamu.edu>
136
137         * sysdeps/alpha/dl-machine.h (elf_machine_rela):  The Alpha's
138         address-of operation and plt format conspire to require all
139         dynamic relocs to be resolved to actual symbols not plt entries.
140
141 Thu Jun 27 02:49:28 1996  Ulrich Drepper  <drepper@cygnus.com>
142
143         * catgets/gencat.c: Add casts to avoid signed<->unsigned warnings.
144
145         * grp/initgroups.c (initgroups): De-ansi-fy.
146         Move declaration of NGROUPS and GROUPS outside #if so that
147         the code compiles for NGROUPS_MAX != 0.
148
149         * inet/Makefile (headers): Add netinet/ether.h and netinet/if_ether.h.
150         (routines): Add ether_aton, ether_aton_r, ether_hton, ether_line,
151         ether_ntoa, ether_ntoa_r, and ether_ntoh.
152         * inet/ether_aton.c, inet/ether_aton_r.c, inet/ether_hton.c,
153         inet/ether_line.c, inet/ether_ntoa.c, inet/ether_ntoa_r.c,
154         inet/ether_ntoh.c: New files.  Implementation of functions to
155         handle Ethernet address to host mapping.
156         * inet/netinet/ether.h: New file.  Declare ether_* functions.
157         * netinet/ether.h: Wrapper around inet/netinet/ether.h for glibc
158         compilation.
159         * nss/ethers-lookup.c: New file.  Lookup function for ethers database.
160         * nss/Makefile (routines): Add ethers-lookup.
161         (libnss_files-routines): Add files-ethers.
162
163         * nss/getXXent_r.c: Don't define set*ent and end*ent function
164         with _r suffix.
165
166         * nss/nss_files/files-XXX.c (internal_endent): Don't reset
167         KEEP_STREAM every time called.
168         (_nss_files_end): Reset KEEP_STREAM here instead.
169         (internal_getent): If STREAM == NULL try to open instead of
170         signalling error.
171         Use cast to prevent warning.
172         Terminate read line in case the buffer is too small.
173
174         * nss/nss_files/files-ethers.c: New file.  Implementation of
175         Ethernet adress<->hostname lookup through files interface.
176
177         * stdlib/mbstowcs.c: Define based on mbsrtowcs().
178         * stdlib/mbtowc.c: Define based on mbrtowc().
179         * stdlib/wcstombs.c: Define based on wcsrtombs().
180         * stdlib/wctomb.c: Define based on wcrtomb().
181
182         * sunrpc/xdr.c (xdr_u_int): Avoid bogus call to
183         unexpected_sizes_in_xdr_u_int.
184
185         * sysdeps/generic/netinet/if_ether.h: New file.  Generic declaration
186         of `struct ether_addr'.
187         * sysdeps/unix/sysv/linux/netinet/if_ether.h: New file.  Linux specific
188         declaration of `struct ether_addr'.
189
190         * wcsmbs/mbrtowc.c: Handle case where argument PS is NULL.
191         * wcsmbs/mbsrtowcs.c: Ditto.
192         * wcsmbs/wcrtomb.c: Ditto.
193         * wcsmbs/wcsrtombs.c: Ditto.
194
195         * wcsmbs/mbsinit.c: Prepare for PS being NULL.
196
197 Wed Jun 26 13:19:35 1996  Miles Bader  <miles@gnu.ai.mit.edu>
198
199         * hurd/get-host.c <fcntl.h>: New include.
200         * hurd/set-host.c <fcntl.h>: New include.
201         (_hurd_set_host_config): Include NEW in args to dir_link.
202         Return NWROTE, not NREAD.
203
204         * sysdeps/mach/hurd/getcwd.c
205         (_hurd_canonicalize_directory_name_internal): Don't deallocate
206         DOTID & DOTDEVID until we're finished with them (we need to keep
207         them at least until we've fetched the next level of id ports, so
208         that mach will be able to use the same name if they're the same).
209         Add inner_errlose: label, which deallocates DOTID & DOTDEVID and
210         jumps to errlose, for those places where such cleanup is needed.
211
212 Wed Jun 26 01:58:49 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
213
214         * nss/nss_files/files-parse.c (parse_list): Count null in EOL calc.
215
216         Move DB code into separate -ldb library.
217         * db/Makefile (extra-libs): New variable, list libdb.
218         (routines): Renamed to libdb-routines.
219         * shlib-versions: Add libdb=2.
220
221         * nss/network-lookup.c (DEFAULT_CONFIG): New macro.
222         * nss/host-lookup.c (DEFAULT_CONFIG): New macro.
223
224         * nss/nsswitch.c (nss_parse_service_list): Use __strncasecmp instead
225         of strncasecmp.  Extend syntax to grok [!foo=bar].
226
227         * sysdeps/generic/strncase.c: Define __strncasecmp with strncasecmp as
228         weak alias.
229         * string/string.h: Declare __strncasecmp.
230
231         * nss/nsswitch.c (nss_parse_file): Call __getline, not getline.
232         (service_alias): Variable removed.
233         (nss_parse_service_list): New function, broken out of nss_getline.
234         Remove alias conversion; we will just use symlinks.
235         (__nss_database_lookup): Take new string arg DEFCONFIG.
236         If no entry exists, make one with service list parsed from that.
237         * nss/nsswitch.h: Update protocol for __nss_database_lookup.
238         * nss/XXX-lookup.c (DEFAULT_CONFIG): New macro, set to 0 if undefined.
239         (DB_LOOKUP_FCT): Pass it to _nss_database_lookup.
240
241         * grp/initgroups.c: Rewritten using getgrent.  Handle unlimited group
242         list size.
243
244         * sunrpc/xdr.c (xdr_int): #if 0 out unresolved references in dead code.
245
246 Wed Jun 26 01:56:50 1996  Ulrich Drepper  <drepper@cygnus.com>
247
248         * locale/programs/locale.c (long_options): Short form of
249         --version option is `-V'.
250         (main): Recognize `-V' as option, not `-v'.
251         Call `usage' instead of printing error message for illegal
252         option.
253         (usage): Document `-V'.
254
255 Tue Jun 25 17:22:55 1996  Miles Bader  <miles@gnu.ai.mit.edu>
256
257         * sysdeps/mach/hurd/getcwd.c
258         (_hurd_canonicalize_directory_name_internal): Initialize PARENT to
259         THISDIR, and don't ever deallocate PARENT unless it's != THISDIR.
260
261 Tue Jun 25 10:58:23 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
262
263         * inet/getrpcent.c: Fix macros.
264         * inet/getrpcent_r.c: Fix macros.
265
266         * elf/dlsym.c (dlsym): Search the global scope if HANDLE is null.
267
268         * elf/dl-load.c (_dl_map_object_from_fd): Initialize L.
269
270 Tue Jun 25 09:55:47 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
271
272         * catgets/gencat.c (write_out): Use %Zu to print variables of type
273         size_t.
274         * resolv/res_debug.c (__p_rr): Print size_t variable as %lu and
275         cast it to (unsigned long) to make it work both on 32 and 64
276         bit architectures.
277
278 Sat Jun 22 13:05:25 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
279
280         * locale/Makefile (distribute): Add `programs/' prefix to all
281         files in that directory.
282
283         * Makerules (distinfo-vars): Assign subdir directly so that `ifdef
284         subdir' works.
285
286         * MakeTAGS (sources, headers): Make them simply expanded variables
287         so that all-dist is expanded before it is changed.
288
289 Tue Jun 25 02:59:11 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
290
291         * Make-dist (dist): Don't depend on crypt tar file.  Remove that rule.
292         * Makefile (subdirs): Remove crypt.
293         * crypt: Directory removed.  It will be made an independent library
294         distribution.
295
296         * Makefile (distribute): Add rpm/{Makefile,teplate,rpmrc}.
297
298         * inet/getrpcent_r.c (DATABASE_NAME): New macro.
299
300         * inet/getrpcbynumber.c (BUFLEN): New macro.
301
302         * configure.in (--no-whole-archive check): Remove backslashes in cmd.
303
304         * Makefile (headers): Add libc-lock.h.
305         * sysdeps/stub/libc-lock.h: New file.
306
307         * inet/getrpcbynumber.c: Remove _r typo.
308
309         * elf/dl-load.c (_dl_map_object): Fix typo in last change.
310
311         * nss/nss_files/files-parse.c (parse_list): Reset ELT for elements
312         after the first!
313
314         * nss/nsswitch.c (__nss_database_lookup): If nsswitch.conf is missing
315         or doesn't mention DATABASE, use an internal default equivalent to
316         "DATABASE: compat [NOTFOUND=return] dns [NOTFOUND=return] files".
317         (nss_lookup_function): Call nss_new_service as needed.
318         (nss_parse_file): Don't bother calling nss_new_service here.
319
320         * grp/fgetgrent.c (LINE_PARSER): Pass zero SWALLOW arg for fields.
321         * pwd/fgetpwent.c: Likewise.
322
323         * malloc/malloc.h: Declare malloc_object_allocated_size, malloc_walk.
324         * malloc/Makefile (dist-routines): Add malloc-size, malloc-walk.
325         * malloc/malloc-size.c: New file.
326         * malloc/malloc-walk.c: New file.
327
328         * malloc/malloc-find.c (malloc_find_object_address): Return null if
329         PTR is outside the heap.
330
331         * elf/dl-load.c (_dl_map_object): If the requested name matches the
332         soname of a loaded object, use that object.
333
334 Mon Jun 24 19:57:01 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
335
336         * Makefile (subdirs): Add nss.
337
338         * inet/Makefile (routines): Add getrpcent, getrpcbyname,
339         getrpcbynumber, getrpcent_r, getrpcbyname_r, getrpcbynumber_r.
340         * inet/getrpcbynumber_r.c: New file.
341         * inet/getrpcbynumber.c: New file.
342         * inet/getrpcbyname.c: New file.
343         * inet/getrpcbyname_r.c: New file.
344         * inet/getrpcent_r.c: New file.
345         * inet/getrpcent.c: New file.
346         * nss/rpc-lookup.c: New file.
347         * nss/nss_files/files-rpc.c: New file.
348         * nss/Makefile (routines): Add rpc-lookup.
349         (libnss_files-routines): Add files-rpc.
350         * sunrpc/Makefile (routines): Remove getrpcent.
351         * sunrpc/getrpcent.c: File removed.
352
353         * nss/getXXent_r.c (REENTRANT_GETNAME): Clear NO_MORE when NIP is
354         non-null on entry.
355
356         * Makeconfig (rpath-link): Add $(nssobjdir).
357         (nssobjdir): New variable.
358
359         * Makerules: Move shared library building before objects rules, so
360         versions are known before extra-lib.mk gets included.
361         * extra-lib.mk (lib-noranlib): Depend on the shared object too.
362
363         * pwd/getpwuid.c: Rewritten using nss.
364         * pwd/getpwnam.c: Likewise.
365         * pwd/getpwent.c: Likewise.
366         * grp/getgrnam.c: Likewise.
367         * grp/getgrgid.c: Likewise.
368         * grp/getgrent.c: Likewise.
369         * pwd/Makefile (routines): Add getpwent_r, getpwnam_r, getpwuid_r.
370         * pwd/getpwent_r.c: New file.
371         * pwd/getpwnam_r.c: New file.
372         * pwd/getpwuid_r.c: New file.
373         * grp/Makefile (routines): Add getgrent_r, getgrgid_r, getgrnam_r.
374         * grp/getgrnam_r.c: New file.
375         * grp/getgrgid_r.c: New file.
376         * grp/getgrent_r.c: New file.
377         * grp/Makefile (routines): Remove grpopen, grpread.
378         * pwd/Makefile (routines): Remove pwdopen, pwdread.
379         * grp/grpopen.c, grp/grpread.c, pwd/pwdopen.c, pwd/pwdread.c: Removed.
380
381         * pwd/fgetpwent.c: Rewritten using files-parse.c.
382         * grp/fgetgrent.c: Likewise.
383
384         * nss/Makefile (routines): Add grp-lookup and pwd-lookup.
385         * nss/pwd-lookup.c, nss/grp-lookup.c: New files.
386         * nss/nss_files/files-grp.c: New file.
387         * nss/nss_files/files-pwd.c: New file.
388
389         * nss/Makefile (subdir-dirs): New variable; use it in vpath.
390
391         * nss/nss_files/files-parse.c: New file.
392         * nss/nss_files/files-XXX.c: New file.
393         * nss/nss_files/files-hosts.c, nss/nss_files/files-proto.c,
394         nss/nss_files/files-service.c, nss/nss_files/files-network.c:
395         Rewritten using them.
396
397         * nss/Makefile (libnss_files-routines): Remove files-host.
398         Add files-hosts, files-grp, files-pwd.
399
400         * nss/nss_dns/dns-network.c: Don't include <pthread.h>.
401
402 Mon Jun 24 22:39:12 1996  Richard Henderson  <rth@tamu.edu>
403
404         * sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
405         A .plt entry now loads the .rela.plt offset directly rather
406         than making us calculate it.
407
408 Sun Jun 23 15:24:05 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
409
410         * time/Makefile ($(installed-localtime-file) rule): Do
411         $(make-target-directory) first.
412
413         * resolv.h: Fix wrapper for resolv/resolv.h.
414
415         * configure.in (ld --no-whole-archive check): Use AC_TRY_COMMAND.
416         Compile dummy file and pass -nostdlib -nostartfiles so as not to
417         require installed libraries.
418
419         * shlib-versions (*-*-*): Set libresolv=2, libnss_files=1,
420         libnss_dns=1.
421
422 Sun Jun 23 19:42:05 1996  Ulrich Drepper  <drepper@cygnus.com>
423
424         * resolv/Makefile (distribute): Remove res_hconf.h; add mapv4v6addr.h
425         and mapv4v6hostent.h.
426         (routines): Move res* and gethnamaddr into libresolv-routines.
427         (libresolv-routines): New variable, put them there.
428         (extra-libs): New variable, list libresolv.
429         (CPPFLAGS): Add -D for get*by* to res_get*by*.
430
431         * resolv/netdb.h (_PATH_NSSWITCH_CONF): New macro.
432
433         * inet/herrno.c: New file.
434
435         * resolv/res_init.c: Remove res_hconf calls.
436
437         * nss/Makefile, nss/XXX-lookup.c, nss/file-lookup.c,
438         nss/getXXbyYY.c, nss/getXXbyYY_r.c, nss/getXXent.c,
439         nss/getXXent_r.c, nss/host-lookup.c, nss/network-lookup.c,
440         nss/nsswitch.c, nss/nsswitch.h, nss/proto-lookup.c,
441         nss/service-lookup.c: New files.  Implementation of name
442         service switch, following the approach in Solaris.
443         Interface specification and general structure inspired by Peter
444         Eriksson <pen@lysator.liu.se>.
445         * nss/nss_files/files-host.c, nss/nss_files/files-network.c,
446         nss/nss_files/files-proto.c, nss/nss_files/files-service.c:
447         Implementation of libnss_files.so module for file based databases
448         in NSS service.
449         * nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Implementation
450         if libnss_dns.so module for DNS name lookup in NSS service.
451
452         * inet/getproto.c, inet/getprtent.c, inet/getprtname.c,
453         inet/getservent.c, inet/getsrvbynm.c, inet/getsrvbypt.c:
454         Changed to serve as interface to NSS.
455         * inet/gethstbyad.c, inet/gethstbyad_r.c, inet/gethstbynm.c,
456         inet/gethstbynm2.c, inet/gethstbynm2_r.c, inet/gethstbynm_r.c,
457         inet/gethstent.c, inet/gethstent_r.c, inet/getnetbynm.c,
458         inet/getnetbynm_r.c, inet/getnetbypt.c, inet/getnetbypt_r.c,
459         inet/getnetent.c, inet/getnetent_r.c, inet/getproto_r.c,
460         inet/getprtent_r.c, inet/getprtname_r.c, inet/getservent_r.c,
461         inet/getsrvbynm_r.c, inet/getsrvbypt_r.c: New files.  Implement
462         interfaces to NSS, including reentrant functions.
463
464         * resolv/getnetbyaddr.c, resolv/getnetbyname.c, resolv/getnetent.c,
465         resolv/sethostent.c: Removed:  Obsoleted by NSS.
466
467         * resolv/mapv4v6addr.h, resolv/mapv4v6hostent.h: Extracted from
468         gethnamaddr.c.  These private functions are now used in more
469         than one file.
470
471         * resolv/inet_pton.c, resolv/gethnamaddr.c: Updated to bind-4.9.4-T5B.
472
473 Sat Jun 22 16:49:47 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
474
475         * rpm/Makefile ($(config)): Make sure the word list in the for
476         loop is syntactically non-empty.
477
478 Sat Jun 22 21:29:52 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
479
480         * Version 1.92 test release.
481
482 Sat Jun 22 23:30:07 1996  David Mosberger-Tang  <davidm@azstarnet.com>
483
484         * sysdeps/unix/sysv/linux/syscalls.list (ksyslog_ctl): Rename
485         to klogctl to match prototype in sys/klog.h.
486
487         * sysdeps/posix/libc_fatal.c: Add include of <string.h>.
488         * sysdeps/unix/sysv/linux/gethostid.c: Ditto.
489
490         * sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal):
491         Remove.  Code is now part of __getcwd again.  The old function
492         never really worked for anything but THISDIR==".".
493
494         * sysdeps/alpha/Makefile (CFLAGS-rtld.c): Add -mbuild-constants
495         only when building ELF version of library.
496
497         * libio/libioP.h (_IO_vscanf): Add prototype.
498
499         * posix/unistd.h (syscall): Change sysno arg and return value
500         to int long.
501
502 Sat Jun 22 10:44:09 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
503
504         * version.h (VERSION): Updated to 1.92.
505
506         * misc/Makefile (headers): Add ar.h.
507         * misc/ar.h: New file.
508
509         * config.make.in (BUILD_CC): New variable.
510         * configure.in: Check for BUILD_CC if $host != $build.
511
512         * posix/glob.c: Include <alloca.h> only [HAVE_ALLOCA_H], not [sparc].
513
514         * Makerules [! objects] (subdir_lib): Depend on the stamp$o files.
515         (stamp$o files): New targets, create them empty, no deps.
516
517         * rpm/template (Source): New field.
518         (%prep, %build, %install): New sections.
519         (%files): Add %doc FAQ NEWS NOTES README.
520         * rpm/rpmrc (builddir): Removed.
521
522 Fri Jun 21 00:27:51 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
523
524         * elf/dl-load.c (_dl_map_object_from_fd): Fix mapping and l_phdr
525         guessing to not assume p_vaddr of first load cmd is zero.
526
527         * sysdeps/sparc/elf/start.S: New file.
528         * sysdeps/sparc/dl-machine.h: New file.
529
530         * posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr
531         only for ?s, not for *s.  Fix from Chet Ramey.
532
533         Fixes thanks to Raja R Harinath <harinath@cs.umn.edu>:
534         * sysdeps/unix/sysv/utmpbits.h: Define _HAVE_UT_{TYPE,ID,TV,HOST}.
535         Use __{BEGIN,END}_DECLS.
536         (_PATH_WTMP, _PATH_UTMP, _PATH_LASTLOG): New macros.
537         * login/utmp.h (UTMP_FILE, UTMP_FILENAME, WTMP_FILE, WTMP_FILENAME):
538         New macros, moved here from sysdeps/gnu/utmpbits.h.
539         * sysdeps/generic/utmpbits.h (_HAVE_UT_HOST): Define it.
540         * sysdeps/gnu/utmpbits.h (_HAVE_UT_HOST): Likewise.
541         * login/logout.c: Use ut_host only #if _HAVE_UT_HOST.
542         Use sizeof instead of UT_*SIZE.
543         * login/logwtmp.c: Likewise.
544
545         * misc/tsearch.c (tdelete): Define as weak alias to __tdelete.
546
547         * version.c (banner): Add trailing newline.
548
549         * login/utmp.h: Declare login_tty.
550
551 Thu Jun 20 21:19:07 1996  Richard Henderson  <rth@tamu.edu>
552
553         * sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt):
554         Changed to a 12-byte PLT entry to remove dependency on $gp.
555         Take a new got_addr parameter.
556         (elf_machine_rela): Pass the new parameter.
557         (ELF_MACHINE_RUNTIME_TRAMPOLINE): Do arithmetic for 12-byte PLT.
558         (RTLD_START): Do normal linkage with program entry.
559
560 Thu Jun 20 12:18:21 1996  Miles Bader  <miles@gnu.ai.mit.edu>
561
562         * sysdeps/mach/hurd/brk.c (_hurd_brk): Initialize to 0.
563
564         * hurd/getuids.c (getuids): New weak link to __getuids.
565
566 Wed Jun 19 10:21:24 1996  Miles Bader  <miles@gnu.ai.mit.edu>
567
568         * hurd/hurdlookup.c (__hurd_file_name_lookup_retry,
569         __hurd_file_name_lookup, __hurd_file_name_split): Add & use LOOKUP
570         argument.
571         Rename nested function lookup to lookup_op.
572         (__file_name_lookup, __file_name_lookup_under):
573         Pass 0 for lookup arg to __hurd_file_name_lookup.
574         (__file_name_split): Likewise for __hurd_file_name_split.
575         * hurd/path-lookup.c (hurd_file_name_path_lookup): Add LOOKUP argument.
576         Rename nested function lookup to scan_lookup.
577         (file_name_path_lookup): Pass 0 for lookup arg to
578         hurd_file_name_path_lookup.
579         * hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup,
580         __hurd_file_name_lookup_retry, hurd_file_name_lookup_retry:
581         __hurd_file_name_split, hurd_file_name_split, hurd_file_name_lookup):
582         Add LOOKUP argument.
583         * sysdeps/mach/hurd/access.c (__access): Pass 0 lookup arg to
584         __hurd_file_name_lookup.
585
586 Mon Jun 17 19:09:49 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
587
588         * Make-dist (+sysdeps): Move wildcard inside loop to avoid consing
589         up a huge list just to discard most of it.
590
591         * configure.in (sysnames): Avoid fgrep by using the case shell
592         builtin.
593
594         * Makeconfig (config.status): Fix dependency on Implies files.
595
596 Wed Jun 19 01:27:57 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
597
598         * math/Makefile (distribute): Add ieee-math.c.
599
600 Wed Jun 19 03:24:58 1996  Ulrich Drepper  <drepper@cygnus.com>
601
602         * locale/codeset_name.c: New file.  Provide function for information
603         about currently used character set.
604         * locale/Makefile (routines): Add codeset_name.
605         * locale/langinfo.h (_NL_CTYPE_CODESET_NAME): Add new constant.
606         * locale/localeinfo.h: Change magic number because of incompatible
607         change.
608         * locale/C-ctype.c: Add initializer for new field `codeset_name'.
609         * locale/programs/ld-ctype.c: Implement handling of `codeset_name'.
610
611         * locale/programs/locfile.c: Don't depend in pre-2.0 Linux specific
612         name `MAX_IOVEC'.  Instead use standard name `UIO_MAXIOV'.
613
614         * locale/setlocale.c (setlocale): Initialize local variables to
615         prevent warnings.
616
617 Thu Jun 13 17:25:11 1996  David Mosberger-Tang  <davidm@azstarnet.com>
618
619         * sysdeps/generic/memcmp.c: Add prototype decls for internal fns.
620
621         * locale/programs/locale.c: Include string.h.
622
623         * sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c
624         (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure
625         appropriate sign-extension is performed on machines with
626         sizeof(long) > 4.
627
628         * sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and
629         sizeof(int)<sizeof(long), we need to go through a temporary
630         variable.
631
632         * locale/programs/ld-numeric.c: Include <alloca.h>
633
634         * libio/stdio.h (__libc_fatal): Add prototype.
635
636         * libio/cleanup.c: Use __P() to declare prototype when __STDC__ is
637         in efect.
638
639         * libio/iopopen.c (read_or_write, parent_end, child_end): Declare
640         volatile to avoid "might get clobbered by longjmp" warning.
641
642         * features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES
643         unless _LOOSE_KERNEL_NAMES is in effect (which, with high
644         probability is a sure loser).
645         * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove.
646
647         * sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed.
648         * sysdeps/unix/sysv/linux/alpha/start.S: Ditto.
649
650         * misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man
651         to be Linux FSSTND compliant.
652
653 Mon Jun 10 17:50:31 1996  David Mosberger-Tang  <davidm@azstarnet.com>
654
655         * sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO.
656
657         * sysdeps/unix/sysv/linux/alpha/sysdep.S,
658         sysdeps/unix/sysv/linux/alpha/brk.S,
659         sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
660         sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
661         sysdeps/unix/sysv/linux/alpha/llseek.S,
662         sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
663         sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to
664         __syscall_error to avoid intruding application name space.
665
666         * sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id
667         to SYS_get?id so that syscall stubs in sysdeps/unix define
668         these syscalls in terms of getxpid/getxuid/getxgid.
669
670         * sysdeps/unix/_exit.S, sysdeps/unix/getegid.S,
671         sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S,
672         sysdeps/unix/execve.S, sysdeps/unix/fork.S,
673         sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END.
674
675         * sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h
676         (PSEUDO_END): Rename END() to PSEUDO_END().
677
678         * sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO
679         to PSEUDO_END to improve branch-prediction.  Include .frame
680         directive to make syscalls debugabble.
681         (PSEUDO_END): New macro.
682
683         * sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S,
684         sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since
685         latter is illegal under DEC Unix.
686
687         * sysdeps/unix/alpha/sysdep.S: Renamed from
688         sysdeps/unix/sysv/linux/alpha/sysdep.S.  This file works for OSF/1
689         as well.
690         * sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the
691         EWOULDBLOCK -> EAGAIN mapping was unnecessary since
692         EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha).
693
694         * sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return
695         address register in the .frame directive.
696
697         * sysdeps/alpha/copysign.c: Remove.
698
699         * sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to
700         avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN.
701
702         * errno.h: Move __END_DECLS to correct place to make file
703         compilable under c++.
704
705         * dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro.  Define
706         d_ino only if <direntry.h> hasn't defined d_fileno.
707
708         * configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of
709         arguments to weakext to make .weakext detection work on ECOFF systems.
710
711         * FAQ: Add Linux/Alpha to list of supported platforms.  Mention
712         that _validuser() has been replaced by __ivaliduser().
713
714 Thu Jun  6 21:39:38 1996  David Mosberger-Tang  <davidm@azstarnet.com>
715
716         * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd
717         as unsigned long, not as int (to avoid incorrect int->long
718         promotion).
719
720 Tue Jun 18 17:56:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
721
722         * Version 1.91 test release.
723
724         * Makerules ($(common-objpfx)distinfo-$(subdir)): Change target from
725         distinfo to this.
726         (distinfo): Make phony target depending on that.
727         (TAGS, po/%.pot, dist): Change deps.
728         (common-clean): Remove that file.
729         * rpm/Makefile (distinfo): Change names.
730
731         * rpm/Makefile (clean): New target.
732
733         * stdlib/test-canon.c: New test program contributed by David Mosberger.
734         * stdlib/Makefile (tests): Add test-canon.
735         * stdlib/canonicalize.c: Rewritten by David Mosberger.
736
737 Mon Jun 17 17:53:21 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
738
739         * mach/Machrules (%_server.c %_server.h rule): Remove gratuitous
740         mention of $< in mig cmd.  Thanks to Shantanu Goel.
741
742         * sysdeps/mach/hurd/brk.c (___brk_addr): Define as weak alias for
743         _hurd_brk.
744
745         * libio/stdio.h [__USE_SVID]: Declare tempnam.
746
747 Fri Jun 14 19:28:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
748
749         * sysdeps/unix/sysv/linux/syscalls.list: Add swapon with two
750         parameters.
751
752 Wed Jun 12 20:40:51 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
753
754         * sysdeps/m68k/dl-machine.h (RTLD_START): Fix access to
755         _dl_default_scope.
756
757 Sun Jun 16 03:22:49 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
758
759         * sysdeps/stub/elfclass.h: New file.
760
761         * Make-dist (subdir): Make empty value really empty.
762
763         * version.h (VERSION): Update to 1.91.
764
765         * hurd/hurdinit.c (map0): Remove [!PIC] conditional.
766
767         * shlib-versions (*-*-*): Add libutil=1.
768
769         * rpm/Makefile (install-lib): Add libc.a et al.
770         (install-others): Only add libc.so if $(build-shared) is yes.
771
772         * math/Makefile (install-lib): New variable, list libieee.a.
773         (non-lib.a): Likewise.
774         (extra-objs): Likewise, and ieee-math.o.
775         ($(objpfx)libieee.a): New target, link to ieee-math.o.
776         * math/ieee-math.c: New file.
777         * sysdeps/unix/sysv/linux/Makefile [$(subdir)=math]: Remove setfpucw
778         and libieee.a stuff.
779         * sysdeps/unix/sysv/linux/ieee-fpucw.c: File removed.
780         * sysdeps/unix/sysv/linux/i386/ieee_fpu.c: File removed.
781
782         * sysdeps/unix/sysv/Makefile (sysdep_headers): Make append of termio.h
783         and rule for it conditional on termio.h not already being in
784         sysdep_headers.
785
786         * rpm/Makefile (install-others) [libc.so-version]: Get libc.so from
787         $(libdir), only the versioned named from $(slibdir).
788         (instfiles): New variable.
789         (glibc-$(version).$(config).rpm): New target.  Run rpm -bb.
790         * rpm/rpmrc: New file.  A third of the options controlling rpm can
791         only be given here (another third is on the command line, and a third
792         cannot be specified in any way shape or form).
793
794 Sun Jun 16 02:44:22 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
795
796         * rpm/template: New file.
797         * rpm/Makefile: New file.
798
799         * Makeconfig (sysdep-configures): Remove empty variable.
800
801         * Makerules (distinfo-vars): Write defns for $(install-lib.so) and
802         $(versioned).
803
804         * manual/Makefile (subdir_%): Add new rule with no deps, secondary to
805         to rule w/dep on %, with no-op commands.
806
807         * Makerules (subdir_distinfo): New phony target; depend on distinfo.
808         * Makefile (rpm/%): New rule.
809         (+subdir_targets): Add subdir_distinfo.
810
811 Sun Jun 16 00:40:20 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
812
813         * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add
814         fpu_control.h here.
815
816         * time/Makefile ($(installed-localtime-file)): If target exists, do
817         nothing but print a message; if not, make it an absolute symlink.
818
819         * time/tzset.c (__tzset): After stripping leading :, call
820         __tzfile_read on TZ even if it's empty or null.
821         * time/tzfile.c (__tzfile_read): Use "Universal" if passed "".
822
823 Sat Jun 15 18:13:43 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
824
825         * hurd/Makefile (routines): Add get-host, set-host.
826         (distribute): Add hurdhost.h.
827         * hurd/hurdhost.h: New file.
828         * sysdeps/mach/hurd/gethostname.c: Use _hurd_get_host_config.
829         * sysdeps/mach/hurd/gethostid.c: Likewise.
830         * sysdeps/mach/hurd/sethostname.c: Use _hurd_set_host_config.
831         * sysdeps/mach/hurd/sethostid.c: Likewise.
832         * hurd/get-host.c: New file.
833         * hurd/set-host.c: New file.
834
835         * math/Makefile (headers): Add fpu_control.h.
836         (aux): New variable, list fpu_control and setfpucw.
837         * sysdeps/generic/fpu_control.c: New file.
838         * sysdeps/stub/fpu_control.h: New file.
839         * sysdeps/unix/sysv/linux/m68k/fpu_control.h: Moved to ...
840         * sysdeps/m68k/fpu_control.h: here.
841         * sysdeps/unix/sysv/linux/i386/fpu_control.h: Moved to ...
842         * sysdeps/i386/fpu_control.h: here.
843         * sysdeps/unix/sysv/linux/alpha/fpu_control.h: Moved to ...
844         * sysdeps/alpha/fpu/fpu_control.h: here.  Fixed copyright.
845         * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove
846         setfpucw, fpu_control.
847         * sysdeps/unix/sysv/linux/alpha/fpu_control.c: File removed.
848         * sysdeps/unix/sysv/linux/setfpucw.c: Moved to ...
849         * sysdeps/generic/setfpucw.c: here.
850         (__fpu_control): Variable removed.
851         (__setfpucw): Use SET even if zero.
852
853         * elf/dl-deps.c (_dl_map_object_deps): Set MAP's mark bit before loop.
854         Set mark bits of deps as opened, instead of as scanned.
855
856         * elf/rtld.c (dl_main): Remove _dl_rtld_map from chain unconditionally.
857         Then if it has a nonzero l_opencount, add it back in search order.
858
859         * elf/dl-load.c (_dl_map_object): Don't use _dl_loaded's DT_RPATH if
860         it ain't got one!
861
862         * sysdeps/unix/sysv/linux/Dist: Add sys/klog.h.
863
864         * elf/dl-open.c (_dl_open): Remove PARENT argument, pass null.
865         * elf/link.h: Update prototype.
866         * elf/dl-load.c (_dl_map_object): If dependents' DT_RPATHs don't find
867         NAME, try the DT_RPATH of the executable itself if dynamic.
868         * elf/dlopen.c (dlopen): Don't pass first arg to _dl_open.
869
870         * elf/dl-load.c (_dl_map_object): Exit DT_RPATH checking loop when an
871         open succeeds.
872
873         * Makerules (build-shlib): Give -L opts for each elt of $(rpath-link).
874
875         * sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): Variable removed.
876         (rpath-link): Append to this instead.
877
878 Fri Jun 14 01:51:47 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
879
880         * version.c (banner): New static const variable, complete version
881         banner text.
882         (__libc_print_version): Use it, and use __write instead of printf.
883
884         * configure.in (sysnames): Don't cache the value, because it
885         depends only on libc sources.  Merge uniquifying third pass into
886         Implies/parent expansion second pass.  Report each unique name as
887         it is added in partial report string, terminated when finished.
888
889         * Makeconfig (sysdep_dir): Move defn before config.status rule that
890         expands it.
891         (sysdep-configures): Variable removed.
892         (config.status): Use its contents directly, tighten up a bit, and
893         include Implies files.
894
895         * elf/dl-open.c (_dl_open) [PIC]: Set PARENT to _dl_loaded if null.
896
897         * elf/Makefile ($(objpfx)$(rtld-installed-name)): Make a symlink.
898
899 Thu Jun 13 14:29:56 1996  Miles Bader  <miles@gnu.ai.mit.edu>
900
901         * hurd/hurdsig.c (_hurd_internal_post_signal): Rename `deliver:'
902         label to `deliver_pending:' to match goto.
903
904 Thu Jun 13 00:02:25 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
905
906         * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill):
907         Add comment.
908
909         * elf/rtld.c (dl_main): Close _dl_zerofd after mapping deps.
910
911         * sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as
912         weak alias for _mcount.
913         * sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
914
915         * elf/dl-lookup.c (_dl_lookup_symbol): If no value and *REF is
916         null, consider it a strong reference and give the error.
917
918 Wed Jun 12 15:52:46 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
919
920         * elf/dl-open.c (_dl_open): Correctly terminate relocating loop
921         after relocating NEW when it's the only new object.
922
923         * elf/dl-init.c (_dl_init_next): When out of initializers, set
924         _r_debug.r_state to RT_CONSISTENT and call _dl_debug_state just
925         before return.
926
927         * elf/rtld.c (dl_main): Move _dl_debug_initialize call after
928         relocation.  Call it unconditionally and only fill in DT_DEBUG
929         if it's present.  Then call _dl_debug_state with r_state RT_ADD
930         before running initializers.
931
932         * elf/dl-open.c (_dl_open): Call _dl_debug_initialize and then call
933         _dl_debug_state with r_state RT_ADD before running initializers
934         * elf/dl-close.c (_dl_close): Call _dl_debug_state with r_state
935         RT_DELETE before running finalizers and with RT_CONSISTENT just
936         before return.
937
938         * elf/Makefile (dl-routines): Add dl-debug.
939         * elf/dl-debug.c: New file.
940         * elf/rtld.c (_dl_r_debug): Rename to _r_debug and move to dl-debug.c.
941         (_dl_r_debug_state): Rename to _dl_debug_state and likewise move.
942         (dl_main): Use _dl_debug_initialize.
943         * elf/link.h: Fix name to _dl_debug_state in decl.
944         (_dl_debug_initialize): Declare new function from dl-debug.c.
945         (_r_debug): Declare it.
946
947         * Makerules (distinfo-vars): Add install-{lib,data,bin,sbin,others}.
948         In distinfo set $(subdir)-VAR and then set VAR to $($(subdir)-VAR).
949
950         * Makeconfig (rpath-link): New variable; add $(elfobjdir).
951         (default-rpath): Use it.
952         (built-program-cmd): Use it in LD_LIBRARY_PATH.
953
954         * Makeconfig (sysdep-configures): Prepend $(sysdep_dir) to names tried.
955
956         * sysdeps/unix/Dist: Add make-syscalls.sh.
957
958         * misc/Makefile (headers): Add sys/swap.h.
959         * posix/unistd.h: Remove decls for swapon, swapoff.
960         * sysdeps/generic/sys/swap.h: New file.
961         * sysdeps/unix/sysv/linux/sys/swap.h: New file.
962
963         * sysdeps/unix/sysv/linux/gnu/types.h: Remove temporary hack #define
964         of __kernel_fsid_t.  It is correctly defines in <linux/types.h> now.
965
966 Tue Jun 11 23:23:30 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
967
968         * Makerules (LDFLAGS-c.so): Use __libc_main instead of
969         __libc_print_version as entry point for shared object.
970         * version.c [HAVE_ELF] (__libc_main): New function.
971
972         * elf/dl-load.c (_dl_map_object_from_fd): Relocate l_entry with the
973         load address.
974
975 Tue Jun 11 19:13:04 1996  Richard Henderson  <rth@tamu.edu>
976
977         * sysdeps/alpha/dl-machine.h: New file.
978
979         * elf/dl-close.c: Include <string.h> for memcpy.
980         * elf/dl-lookup.c: Same.
981
982         * elf/elf.h: Add Elfxx_Symndx for symbol indices.
983         * elf/dl-lookup.c (_dl_lookup_symbol): Use it.
984         (_dl_setup_hash): Use it.
985         * elf/link.h (struct link_map): Use it.
986
987         * elf/rtld.c (_dl_start): Don't rely on pointer-to-first-arg hack
988         for getting the argc/argv/envp block.  Instead, make it the argument.
989         sysdeps/i386/dl-machine.h (RTLD_START): Do that.
990         sysdeps/m68k/dl-machine.h (RTLD_START): Same.
991
992         * shlib-versions: Add version numbers for alpha-linux.  To avoid
993         user confusion, make them the same as i386-linux.
994
995         * sysdeps/alpha/Makefile [subdir elf]: Add -mno-fp-regs to
996         sysdep-CFLAGS so that _dl_runtime_resolve doesn't have to save them.
997         Add -mbuild-constants to CFLAGS-rtld.c to that we can bootstrap
998         without using literal data.
999
1000         * sysdeps/generic/dl-sysdep.c: Include <string.h> for memcpy.
1001         Finish Elf32 -> ElfW migration.
1002
1003 Tue Jun 11 15:09:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1004
1005         * Makerules (elfobjdir): Use $(objdir) if set, even in elf subdir.
1006
1007         * elf/Makefile (routines): Remove init-first.
1008         * csu/Makefile (routines): New variable; put it here instead.
1009
1010         * config.make.in (CFLAGS): New variable.
1011
1012         * io/sys/stat.h (S_ISLNK, S_ISSOCK): Make conditional on __USE_BSD,
1013         not __USE_GNU.
1014         * string/string.h (strncasecmp): Likewise.
1015
1016         * elf/Makefile (lib-noranlib): Move rule adding deps for ld.so et al
1017         to after `include ../Rules', so $(rtld-installed-name) is defined.
1018
1019         * string/basename.c (basename): Cast FILENAME to char * for return.
1020
1021         * Makerules ($(libdir)/libc.so): Put $(rtld-installed) name between
1022         libc.so and libc.a in the deps.
1023
1024         * elf/Makefile ($(objpfx)$(rtld-installed-name)): New target to make
1025         link to ld.so if that is not the installed name.
1026         (lib-noranlib): Depend on the installed name in the build directory
1027         instead of on ld.so.
1028
1029         * Makeconfig (link-libc): Include $(elfobjdir)/$(rtld-installed-name)
1030         between libc.so and libc.a, because with libc.so's DT_NEEDED for ld.so
1031         ld searches libc.a before ld.so (is that an ld bug?).
1032         Add $(elfobjdir) to -rpath-link.
1033
1034         * Makerules (elfobjdir): Define as . when $(subdir) is elf.
1035
1036         * sysdeps/i386/dl-machine.h (elf_machine_rel): In R_386_32 case when
1037         relocating _dl_rtld_map, subtract SYM's value from final reloc value,
1038         but don't change *RELOC_ADDR before calling *RESOLVE, because it might
1039         call the function we are relocating!
1040
1041         * string/basename.c: New file.
1042         * string/Makefile (routines): Add basename.
1043
1044 Mon Jun 10 06:14:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1045
1046         * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so.
1047
1048         * elf/dl-close.c: New file.
1049         * elf/link.h: Declare _dl_close.
1050         * elf/Makefile (routines): Add dl-close.
1051         * elf/dlclose.c (dlclose): Use _dl_close.
1052
1053         * elf/Makefile ($(objpfx)librtld.so): Remove libelf from deps.
1054
1055         * elf/dl-runtime.c (_dl_global_scope): New variable.
1056         (_dl_object_relocation_scope): New function.
1057         (fixup): Use it.
1058         * elf/rtld.c (dl_main): Use it.
1059         * elf/dl-open.c (_dl_open): Use it.  If (MODE & RTLD_GLOBAL), set the
1060         l_global bit and append the new map to _dl_global_scope.
1061         * elf/link.h: Declare _dl_global_scope, _dl_global_scope_alloc,
1062         and _dl_object_relocation_scope.
1063
1064         * elf/link.h (struct link_map): Add l_loader member.
1065         Remove _dl_map_object_from_fd decl.
1066         * elf/dl-load.c (_dl_map_object): Pass LOADER to ...
1067         (_dl_map_object_from_fd): Take new arg LOADER and set l_loader member.
1068         (_dl_map_object): Try DT_RPATH from all loaders up the chain.
1069
1070         * elf/dl-object.c (_dl_loaded): Variable removed.
1071         (_dl_default_scope): New variable replaces it.
1072         * elf/link.h (_dl_loaded): Remove variable decl; instead define as
1073         macro for _dl_default_scope[2].
1074         (_dl_default_scope): Declare it.
1075         * sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_default_scope[2]
1076         instead of _dl_loaded.
1077         * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
1078         * elf/rtld.c (dl_main): Use _dl_default_scope for symbol lookups.
1079
1080         * elf/dl-reloc.c (_dl_relocate_object): Remove check for _dl_rtld_map.
1081         * elf/rtld.c (dl_main): Pass 0 for LAZY flag when re-relocating self.
1082
1083         * elf/link.h (struct link_map.l_type): Remove lt_interpreter.
1084         (struct link_map): Add new flag member l_global.
1085
1086         * elf/dl-reloc.c (_dl_relocate_object): Check for _dl_rtld_map
1087         directly instead of looking for lt_interpreter.
1088         * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
1089         * elf/rtld.c (_dl_start): Don't bother setting BOOTSTRAP_MAP.l_type.
1090         (dl_main): Set _dl_rtld_map.l_type to lt_library.
1091
1092         * elf/dl-deps.c (_dl_map_object_deps): Propagate MAP->l_type to
1093         dependencies loaded, downgrading lt_executable -> lt_library.
1094
1095         * elf/dl-load.c (_dl_map_object_from_fd): Take new arg TYPE and set
1096         l_type from that, translating lt_library->lt_executable based on the
1097         file's ELF type.
1098         (_dl_map_object): Likewise.
1099         * elf/link.h: Update prototypes.
1100         * elf/dl-open.c: Pass type lt_loaded.
1101         * elf/rtld.c: Pass type lt_library.
1102
1103         * elf/dl-load.c (_dl_map_object_from_fd): Handle null return from
1104         _dl_new_object.
1105         (_dl_map_object_from_fd: lose): Unchain and free L if it's not null.
1106         Free REALNAME, and just use NAME in error message.
1107         * elf/dl-object.c (_dl_new_object): If malloc fails, return null
1108         instead of calling _dl_signal_error.
1109
1110         * elf/dl-load.c (_dl_map_object_from_fd): Close FD before signalling
1111         error for _dl_zerofd setup failure.
1112
1113         * elf/dl-object.c (_dl_startup_loaded): Variable removed.
1114         * elf/link.h: Remove its decl.
1115
1116         * elf/dl-reloc.c (_dl_relocate_object): Take new SCOPE arg and pass it
1117         through to _dl_lookup_symbol.
1118         * elf/link.h (_dl_relocate_object): Update comment and prototype.
1119         * elf/rtld.c (dl_main): Pass scope vector to _dl_relocate_object.
1120
1121         * elf/dl-lookup.c (_dl_lookup_symbol): Arg SYMBOL_SCOPE is now a
1122         null-terminated vector of pointers, no longer a vector of exactly two.
1123         * elf/link.h (_dl_lookup_symbol): Update comment and prototype.
1124
1125         * elf/dl-runtime.c (fixup): Set up scope for symbol lookup properly as
1126         done in _dl_relocate_object.
1127
1128         * elf/dlopen.c: Pass "" to _dl_open when FILE is null.
1129
1130         * elf/link.h: Include elfclass.h to define __ELF_NATIVE_CLASS.
1131         (ElfW, ELFW): Use it.
1132         * elf/Makefile (headers): Add elfclass.h.
1133         * sysdeps/wordsize-32/elfclass.h: New file.
1134         * sysdeps/wordsize-64/elfclass.h: New file.
1135         * sysdeps/alpha/Implies: Add wordsize-64.
1136         * sysdeps/i386/Implies: Add wordsize-32.
1137         * sysdeps/m68k/Implies: Add wordsize-32.
1138         * sysdeps/mips/Implies: Add wordsize-32.
1139         * sysdeps/sparc/Implies: Add wordsize-32.
1140
1141         * sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
1142         (__close, __mmap): Likewise define with __ names now.
1143
1144 Mon Jun 10 05:13:18 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1145
1146         * elf/dl-support.c: New file.
1147         * elf/Makefile (CFLAGS-dl-support.c): New variable.
1148         (routines, elide-routines.so): Add dl-support.
1149
1150         * elf/dl-minimal.c (_dl_pagesize): Remove common defn.
1151         * elf/dl-load.c (_dl_pagesize): Define it here.
1152         (_dl_map_object_from_fd): Initialize it if zero.
1153         * elf/link.h (_dl_pagesize): Remove const.
1154
1155 Sun Jun  9 04:04:26 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1156
1157         * elf/Makefile (routines): Add dl-symbol.
1158         * elf/dl-lookup.c (_dl_symbol_value): Moved to ...
1159         * elf/dl-symbol.c: New file.
1160
1161         * elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
1162         (Elf32_Section, Elf64_Section): New types, 16 bits.
1163         (Elf32_Sym, Elf64_Sym): Use it.
1164
1165         * elf/dl-deps.c (_dl_open): Moved to ...
1166         * elf/dl-open.c: New file.
1167         * Makefile (routines): Add dl-open.
1168
1169         * elf/Makefile (dl-routines): New variable.
1170         (routines): Add $(dl-routines).
1171         (elide-routines.so): New variable, set to $(dl-routines).
1172         (libdl-inhibit-o): Variable removed; build all flavors of -ldl.
1173         (rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
1174         $(dl-routines).
1175
1176         * elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.
1177
1178         * elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.
1179
1180         * elf/dl-load.c (open_path): Use __ names for open and close.  Avoid
1181         using strdup.
1182         (_dl_map_object): Likewise.
1183         (_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
1184         * elf/dl-minimal.c (malloc): Likewise.
1185         * elf/dl-reloc.c (_dl_relocate_object): Likewise.
1186
1187         * elf/dl-minimal.c (_dl_pagesize): New variable.
1188         (malloc): Use that instead of a static variable.
1189         * elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
1190         calling getpagesize.
1191         * elf/dl-load.c (_dl_map_object_from_fd): Likewise.
1192         * elf/link.h: Declare _dl_pagesize.
1193
1194         * elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.
1195
1196         * elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
1197         * elf/rtld.c (dl_main): Use Half for phdr count arg.
1198         (_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.
1199
1200         * elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
1201         extract 4-byte magic number, not ElfW(Word).  Match EI_CLASS against
1202         native wordsize, either 32 or 64.
1203
1204         * elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed.  In C a
1205         char is always a byte, no need for a typedef.  Section indices are
1206         16-bit quantities in elf64, which already have a typedef Elf64_Half.
1207
1208         Remove partial -lelf implementation.  There is now a
1209         separately-distributed `libelf' package that implements it.
1210         * elf/dl-lookup.c: Don't #include <libelf.h> any more.
1211         (_dl_elf_hash): New function, moved from
1212         libelf.h:elf_hash.
1213         (_dl_lookup_symbol): Use it instead of elf_hash.
1214         * elf/libelf.h: File removed.
1215         * elf/elf_hash.c: File removed.
1216         * elf/Makefile (headers): Remove libelf.h.
1217         (extra-libs): Remove libelf.
1218         (libelf-routines): Variable removed.
1219
1220         * elf/Makefile (libdl.so): Remove commands from this target.  The
1221         implicit rule commands are correct, this explicit rule just serves to
1222         add some dependencies.
1223
1224         * elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
1225         ELF32_ST_TYPE.  Likewise ST_BIND.
1226         * elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.
1227
1228         * elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
1229         naming.
1230         (ELFW): New macro, likewise for ELFXX_* macro naming.
1231         (_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.
1232
1233 Sat Jun  8 20:52:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1234
1235         * elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
1236         elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
1237         elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
1238         elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
1239         `ElfW(XXX)' for wordsize-independence.
1240
1241 Sat Jun  8 20:50:42 1996  Richard Henderson  <rth@tamu.edu>
1242
1243         * elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
1244         (Elf64_auxv_t): New type.
1245         (EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1246
1247 Mon Jun 10 02:22:24 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1248
1249         * sysdeps/unix/sysv/linux/configure.in: New file, start with configure.
1250         Add check for installed <linux/version.h> being v2.0 or later.
1251
1252         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill): Call __open
1253         instead of open.
1254         (_dl_sysdep_fatal): Call __write instead of write.
1255         (_dl_sysdep_message): Likewise.
1256
1257 Sun Jun  9 20:40:00 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1258
1259         * sysdeps/m68k/fpu/e_acosl.c: New file.
1260
1261 Sun Jun  9 01:11:49 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1262
1263         * Makerules (o-objects): New variable.  Use it in place of
1264         $(objects:.o=$o); it filters out $(elide-routines$o).
1265         Use o-iterator for ar and ranlib rules so they use the per-type object
1266         list.
1267
1268         * elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.
1269
1270         * sysdeps/mach/mprotect.c: Define with __ name and weak alias.
1271         * sysdeps/stub/mprotect.c: Likewise.
1272         * sysdeps/unix/mman/syscalls.list (mprotect): Likewise.
1273         * sysdeps/generic/sys/mman.h: Declare __mprotect.
1274         * sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
1275         * sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
1276         * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
1277         * sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
1278         * sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
1279
1280         * Make-dist ($(tardir).tar): Use sed to check for file names longer
1281         than 14 chars, instead of doschk which checks for other things we
1282         don't care about.
1283
1284         * Version 1.90 test release.
1285
1286         * Makerules (make-target-directory): Use ./mkinstalldirs so we do not
1287         assume . is in PATH.
1288
1289 Sat Jun  8 22:05:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1290
1291         * math/Makefile (distribute): Comment out addition of
1292         $(long-m-routines) sources until they are all written.
1293
1294         * math/Makefile (distribute): Append long double source names to this
1295         instead of using elided-routines.
1296
1297 Sat Jun  8 15:15:07 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1298
1299         * mach/mach_shortcuts.c: Obsolete file removed.
1300         * mach/mach_syscalls.h: Likewise.
1301
1302         * hurd/Makefile (distribute): Consolidate defns into one.
1303
1304         * time/Makefile (tzfiles): Add solar87 solar88 solar89.
1305
1306 Fri Jun  7 16:48:13 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1307
1308         * sysdeps/unix/sysv/linux/i386/Dist: New file, list sys/perm.h and
1309         sys/vm86.h.
1310
1311         Removed old math code no longer used since the fdlibm integration.
1312         * sysdeps/stub/acos.c: File removed.
1313         * sysdeps/stub/asin.c: File removed.
1314         * sysdeps/stub/atan2.c: File removed.
1315         * sysdeps/stub/cosh.c: File removed.
1316         * sysdeps/stub/exp.c: File removed.
1317         * sysdeps/stub/fmod.c: File removed.
1318         * sysdeps/stub/frexp.c: File removed.
1319         * sysdeps/stub/log.c: File removed.
1320         * sysdeps/stub/log10.c: File removed.
1321         * sysdeps/stub/sinh.c: File removed.
1322         * sysdeps/stub/tan.c: File removed.
1323         * sysdeps/stub/tanh.c: File removed.
1324         * sysdeps/generic/acos.c: File removed.
1325         * sysdeps/generic/acosh.c: File removed.
1326         * sysdeps/generic/asin.c: File removed.
1327         * sysdeps/generic/asinh.c: File removed.
1328         * sysdeps/generic/atan.c: File removed.
1329         * sysdeps/generic/atan2.c: File removed.
1330         * sysdeps/generic/atanh.c: File removed.
1331         * sysdeps/generic/cabs.c: File removed.
1332         * sysdeps/generic/ceil.c: File removed.
1333         * sysdeps/generic/copysign.c: File removed.
1334         * sysdeps/generic/cosh.c: File removed.
1335         * sysdeps/generic/exp.c: File removed.
1336         * sysdeps/generic/expm1.c: File removed.
1337         * sysdeps/generic/fabs.c: File removed.
1338         * sysdeps/generic/floor.c: File removed.
1339         * sysdeps/generic/fmod.c: File removed.
1340         * sysdeps/generic/frexp.c: File removed.
1341         * sysdeps/generic/hypot.c: File removed.
1342         * sysdeps/generic/infnan.c: File removed.
1343         * sysdeps/generic/isnan.c: File removed.
1344         * sysdeps/generic/ldexp.c: File removed.
1345         * sysdeps/generic/log.c: File removed.
1346         * sysdeps/generic/log10.c: File removed.
1347         * sysdeps/generic/log1p.c: File removed.
1348         * sysdeps/generic/modf.c: File removed.
1349         * sysdeps/generic/pow.c: File removed.
1350         * sysdeps/generic/rint.c: File removed.
1351         * sysdeps/generic/sinh.c: File removed.
1352         * sysdeps/generic/tan.c: File removed.
1353         * sysdeps/generic/tanh.c: File removed.
1354         * sysdeps/ieee754/cabs.c: File removed.
1355         * sysdeps/ieee754/copysign.c: File removed.
1356         * sysdeps/ieee754/frexp.c: File removed.
1357         * sysdeps/ieee754/hypot.c: File removed.
1358         * sysdeps/ieee754/infnan.c: File removed.
1359         * sysdeps/ieee754/ldexp.c: File removed.
1360         * sysdeps/ieee754/log10.c: File removed.
1361
1362         * posix/Makefile (headers): Add schedbits.h.
1363
1364         * math/Makefile (elided-routines): Add long double routines.
1365
1366 Fri Jun  7 11:02:22 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1367
1368         * sysdeps/mach/hurd/getpriority.c (getpriority): Use new interface
1369         to __proc_getprocinfo.
1370
1371         * login/login.c (tty_name): New function.
1372         (login): Use it.
1373         (PATH_MAX): MACRO removed.
1374         <stdlib.h>: New include.
1375
1376 Fri Jun  7 09:11:17 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1377
1378         * sysdeps/unix/sysv/linux/Dist: Add sys/sysinfo.h, sys/mount.h,
1379         sys/kdaemon.h, sys/io.h, sys/mount.h, sysctl.c.
1380
1381         * gmon/Makefile (distribute): Add profil-counter.h.
1382
1383         * sysdeps/unix/sysv/linux/alpha/Dist: New file.
1384
1385         * sysdeps/unix/Dist: Add s-proto.S.
1386
1387         * sysdeps/unix/common/mk-local_lim.c: Obsolete file removed.
1388
1389         * Make-dist (+sysdep-tsrcs): Get all syscalls.list files too.
1390
1391         * csu/Makefile (distribute): Add start.c.
1392
1393         * elf/Makefile (distribute): Add dl-machine.h.
1394
1395         * sysdeps/alpha/Dist: Add _mcount.S.
1396
1397         * sysdeps/alpha/Makefile (sysdep_routines): Append instead of
1398         resetting; don't add bb_init_func.
1399
1400         * string/Makefile (routines): Add strerror_r.
1401         * string/string.h (strerror_r): Use int for BUFLEN arg.
1402
1403         * Makefile (distribute): Add shlib-versions.
1404
1405         * po/Makefile (distribute): Add SYS_libc.pot.
1406
1407         * misc/Makefile (routines): Add lsearch.
1408
1409         * manual/lang.texi (Consistency Checking): Merge in assert_perror defn
1410         and other changes inadvertently made to the obsolete assert.texi.
1411         * manual/assert.texi: File removed.
1412
1413         * mach/mach_syscalls.c: Obsolete file removed.
1414         * mach/mach_syscalls.h: Likewise.
1415         * mach/mach_traps.S: Likewise.
1416         * mach/msg_destroy.c: Likewise.
1417         * mach/vm_page_size.c: Likewise.
1418
1419         * locale/Makefile (distribute): Add weight.h, charset.h.
1420
1421         * Makefile (distribute): Add version.h.
1422
1423         * hurd/Makefile (headers): Add hurd/ioctl.h.
1424         (distribute): Add intr-rpc.d, intr-rpc.h, faultexc.defs.
1425
1426         * csu/Makefile (distribute): Add gmon-start.c.
1427
1428         * Makefile (distribute): Add config.h.in.
1429
1430 Wed Jun  5 22:06:21 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1431
1432         * sysdeps/m68k/dl-machine.h (elf_machine_rela): Fix type of reloc
1433         argument.
1434         [case R_68K_32]: Check for resolve being null.
1435         (RTLD_START): Add missing label.
1436
1437 Fri Jun  7 1996 05:29:32  Ulrich Drepper  <drepper@cygnus.com>
1438
1439         * misc/lsearch.c: New file.  Implementation of lfind and
1440         lsearch functions.
1441
1442         * misc/search.h: Add prototype for functions from tsearch
1443         family with __ prefix.
1444         Correct prototype for lsearch: BASE parameter must not be
1445         const.
1446
1447         * misc/tsearch.c: prepend all global function names with __
1448         and make normal names weak aliases.
1449
1450 Fri Jun  7 00:15:24 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1451
1452         * Make-dist (sysdep_dirs): Skip CVS dirs.
1453
1454 Thu Jun  6 16:12:39 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1455
1456         * malloc/Makefile (distribute): Change malloc/gmalloc-head.c to
1457         gmalloc-head.c.
1458         (malloc/gmalloc.c): Depend on malloc/gmalloc-head.c.
1459         (malloc/Makefile): Do $(make-target-directory) first.
1460         * malloc/gmalloc-head.c: New file.
1461
1462         * po/Makefile (linguas.mo): Don't commit .mo files to cvs.
1463
1464         * hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO==0 pending
1465         check, deliver a pending blocked signal if its action might be to
1466         ignore.
1467         * sysdeps/mach/hurd/sigaction.c: If new action is SIG_IGN or SIG_DFL
1468         and SIG is pending, wake up signal thread to check us.
1469
1470         * hurd/hurdsig.c (_hurd_internal_post_signal): Don't mark a signal
1471         pending while blocked or stopped when the action is to ignore it.
1472
1473 Thu Jun  6 12:56:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1474
1475         * hurd/hurdsig.c (_hurd_internal_post_signal: resume): Only set
1476         SS_SUSPENDED when the thread is really suspended.
1477
1478         * elf/rtld.c (dl_main): Don't dereference _dl_rtld_map.l_next if null.
1479
1480         * Makerules (headers): Move append of $(sysdep_headers) after include
1481         of sysdep makefiles.
1482
1483         * sysdeps/mach/hurd/errlist.c: File removed.
1484
1485 Thu Jun  6 07:32:14 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1486
1487         * resolv/gethnamaddr.c (struct hstorage): Make NAME field a pointer.
1488         (_gethtbyname2): Remove ALIAS variable.
1489         Initialize NAME field of SELF and TARGET to 0.
1490         Add SELF_NAME_SIZE static variable.
1491         Add loop to call gethostname until the space we allocated is enough.
1492         Use malloced strings instead of fixed size buffers.
1493         <stdlib.h>, <unistd.h>: New includes.
1494         * sysdeps/generic/sys/socket.h (PF_INET6, AF_INET6): New macros.
1495
1496         * sysdeps/mach/hurd/errlist.c (_sys_errlist): Add EILSEQ.
1497         (_sys_nerr): Initialize to 107.
1498         Update _HURD_ERRNOS consistency check.
1499
1500         * stdlib/canonicalize.c (canonicalize): Use pathconf for PATH_MAX,
1501         not sysconf.
1502
1503         * login/login.c [!PATH_MAX] (PATH_MAX): Define to be 1024 if not
1504         already defined.
1505
1506         * sysdeps/mach/hurd/setitimer.c (timer_thread): Supply SIGCODE
1507         argument to __msg_sig_post_request.
1508
1509         * hurd/hurdmalloc.c: Changes to bring in line with the hurd
1510         libthreads/malloc.c:
1511         (more_memory): Use assert_perror instead of MACH_CALL.
1512         "cthread_internals.h": Include removed.
1513         (realloc): Use LOG2_MIN_SIZE.
1514         (LOG2_MIN_SIZE): New macro.
1515         (realloc): Don't bother allocating a new block if the
1516         new size request fits in the old one and doesn't waste any space.
1517         Only free the old block if we successfully got a new one.
1518         [MCHECK] (struct header): New type.
1519         (union header): Only define if !MCHECK.
1520         (HEADER_SIZE, HEADER_NEXT, HEADER_FREE, HEADER_CHECK): New macros.
1521         [MCHECK] (MIN_SIZE): Add correct definition for this case.
1522         (more_memory, malloc, free, realloc): Use above macros, and add
1523         appropiate checks & frobs in MCHECK case.
1524
1525 Thu Jun  6 02:00:42 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1526
1527         * Makerules (distinfo-vars): Don't write constant line to frob sources.
1528         * Make-dist (sources): Append $(elided-routines) and $(extra-libs)
1529         routines.
1530
1531 Tue Jun  4 22:03:02 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1532
1533         * sysdeps/m68k/fpu/__math.h: Define long double versions of
1534         the inline functions.
1535         * sysdeps/m68k/fpu/e_asinl.c, sysdeps/m68k/fpu/e_atanl.c,
1536         sysdeps/m68k/fpu/e_acosl.c, sysdeps/m68k/fpu/e_expl.c,
1537         sysdeps/m68k/fpu/e_fmodl.c, sysdeps/m68k/fpu/e_log10l.c,
1538         sysdeps/m68k/fpu/e_logl.c, sysdeps/m68k/fpu/e_powl.c,
1539         sysdeps/m68k/fpu/e_remainderl.c, sysdeps/m68k/fpu/e_scalbl.c,
1540         sysdeps/m68k/fpu/e_sinhl.c, sysdeps/m68k/fpu/e_sqrtl.c,
1541         sysdeps/m68k/fpu/k_cosl.c, sysdeps/m68k/fpu/k_sinl.c,
1542         sysdeps/m68k/fpu/k_tanl.c, sysdeps/m68k/fpu/s_atanl.c,
1543         sysdeps/m68k/fpu/s_ceill.c, sysdeps/m68k/fpu/s_cosl.c,
1544         sysdeps/m68k/fpu/s_expm1l.c, sysdeps/m68k/fpu/s_fabsl.c,
1545         sysdeps/m68k/fpu/s_finitel.c, sysdeps/m68k/fpu/s_floorl.c,
1546         sysdeps/m68k/fpu/s_frexpl.c, sysdeps/m68k/fpu/s_ilogbl.c,
1547         sysdeps/m68k/fpu/s_isinfl.c, sysdeps/m68k/fpu/s_isnanl.c,
1548         sysdeps/m68k/fpu/s_ldexpl.c, sysdeps/m68k/fpu/s_log1pl.c,
1549         sysdeps/m68k/fpu/s_logbl.c, sysdeps/m68k/fpu/s_modfl.c,
1550         sysdeps/m68k/fpu/s_rintl.c, sysdeps/m68k/fpu/s_scalbnl.c,
1551         sysdeps/m68k/fpu/s_significandl.c, sysdeps/m68k/fpu/s_sinl.c,
1552         sysdeps/m68k/fpu/e_atanhl.c, sysdeps/m68k/fpu/e_coshl.c: New files.
1553
1554         * sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_fmod.c,
1555         sysdeps/m68k/fpu/k_cos.c, sysdeps/m68k/fpu/k_sin.c,
1556         sysdeps/m68k/fpu/k_tan.c, sysdeps/m68k/fpu/s_atan.c,
1557         sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_ilogb.c,
1558         sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_ldexp.c,
1559         sysdeps/m68k/fpu/s_modf.c: Define generic functions using FUNC and
1560         float_type with appropriate defaults.
1561
1562         * sysdeps/m68k/fpu/e_acosf.c, sysdeps/m68k/fpu/e_fmodf.c,
1563         sysdeps/m68k/fpu/k_cosf.c, sysdeps/m68k/fpu/k_sinf.c,
1564         sysdeps/m68k/fpu/k_tanf.c, sysdeps/m68k/fpu/s_atanf.c,
1565         sysdeps/m68k/fpu/s_frexpf.c, sysdeps/m68k/fpu/s_ilogbf.c,
1566         sysdeps/m68k/fpu/s_isinff.c, sysdeps/m68k/fpu/s_ldexpf.c,
1567         sysdeps/m68k/fpu/s_modff.c: Include the corresponding double
1568         versions with appropriate definitions to get float functions,
1569         instead of defining them directly.
1570
1571         * sysdeps/m68k/fpu/acos.c: File removed.
1572         * sysdeps/m68k/fpu/asin.c: File removed.
1573         * sysdeps/m68k/fpu/atan.c: File removed.
1574         * sysdeps/m68k/fpu/atan2.c: File removed.
1575         * sysdeps/m68k/fpu/atanh.c: File removed.
1576         * sysdeps/m68k/fpu/ceil.c: File removed.
1577         * sysdeps/m68k/fpu/cos.c: File removed.
1578         * sysdeps/m68k/fpu/cosh.c: File removed.
1579         * sysdeps/m68k/fpu/drem.c: File removed.
1580         * sysdeps/m68k/fpu/exp.c: File removed.
1581         * sysdeps/m68k/fpu/expm1.c: File removed.
1582         * sysdeps/m68k/fpu/fabs.c: File removed.
1583         * sysdeps/m68k/fpu/fl.h: File removed.
1584         * sysdeps/m68k/fpu/floor.c: File removed.
1585         * sysdeps/m68k/fpu/fmod.c: File removed.
1586         * sysdeps/m68k/fpu/frexp.c: File removed.
1587         * sysdeps/m68k/fpu/isinf.c: File removed.
1588         * sysdeps/m68k/fpu/isinfl.c: File removed.
1589         * sysdeps/m68k/fpu/isnan.c: File removed.
1590         * sysdeps/m68k/fpu/isnanl.c: File removed.
1591         * sysdeps/m68k/fpu/ldexp.c: File removed.
1592         * sysdeps/m68k/fpu/log.c: File removed.
1593         * sysdeps/m68k/fpu/log10.c: File removed.
1594         * sysdeps/m68k/fpu/log1p.c: File removed.
1595         * sysdeps/m68k/fpu/logb.c: File removed.
1596         * sysdeps/m68k/fpu/pow.c: File removed.
1597         * sysdeps/m68k/fpu/rint.c: File removed.
1598         * sysdeps/m68k/fpu/sin.c: File removed.
1599         * sysdeps/m68k/fpu/sinh.c: File removed.
1600         * sysdeps/m68k/fpu/sqrt.c: File removed.
1601         * sysdeps/m68k/fpu/tan.c: File removed.
1602         * sysdeps/m68k/fpu/tanh.c: File removed.
1603
1604 Thu Jun  6 00:02:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1605
1606         * sysdeps/unix/sysv/linux/syscalls.list: Add select (the syscall name
1607         is _newselect).
1608         * sysdeps/unix/sysv/linux/select.S: File removed.
1609
1610         * sysdeps/unix/sysv/linux/m68k/select.S: File removed; obsolete with
1611         current kernels, generic linux version is fine.
1612
1613         * locale/Makefile: Add vpath for %.gperf to programs.
1614
1615         * Make-dist (+tsrcs): Variable removed.
1616         (dist): Process $^ here instead of using $(+tsrcs).
1617
1618         * sysdeps/unix/sysv/linux/Makefile (install-others): Don't set.
1619         ($(includedir)/sys/syscall.h): Target removed.
1620         (sysdep_headers): Add syscall-list.h.
1621         ($(objpfx)syscall-%.[dh]): New rule to build syscall-list.[dh].
1622         (generated): Add those.
1623         * sysdeps/unix/sysv/linux/syscall.h: Include <syscall-list.h>.
1624
1625 Wed Jun  5 15:57:28 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1626
1627         * misc/sys/syscall.h: New file.
1628         * misc/Makefile (headers): Add sys/syscall.h.
1629
1630         * time/tzfile.h, time/private.h, time/zdump.c, time/zic.c,
1631         time/africa, time/asia, time/australasia, time/europe,
1632         time/northamerica, time/southamerica: Updated from ADO 96h.
1633
1634         * Make-dist (all-headers): Filter $(sysdep_headers) out of $(headers).
1635         (try-sysdeps, +sysdep-names): Check sysdeps/libm-ieee754 too.
1636
1637         * Makerules (distinfo-vars): Add sysdep_headers.
1638         * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Append to
1639         this instead of $(headers).
1640         * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise.
1641         * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
1642
1643         * Make-dist [subdirs-dirs]: Don't prefix $(subdir-dirs) with
1644         $(subdir); we are already there.
1645
1646         * sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist: Removed.
1647
1648         * mach/Machrules: Undo last change.
1649         (mach-generated): List .uh and .__h files only for $(user-interfaces),
1650         not for each .h in $(interface-headers); server-interfaces have no .uh
1651         or .__h files.
1652
1653 Wed Jun  5 15:42:51 1996  Miles Bader  <miles@gnu.ai.mit.edu>
1654
1655         * mach/Machrules (%_server.uh, %_server.__h): New rules, so that the
1656         corrsponding .defs file with without the `_server' will be used.
1657
1658         * mach/Makefile (mach/mach_interface.defs): Renamed from
1659         mach_interface.defs.
1660         (mach/memory_object_user.defs): New variable.
1661
1662 Wed Jun  5 15:10:58 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1663
1664         * Make-dist [subdir-dirs]: Set vpath for %, not just %.c.
1665
1666         * locale/Makefile (subdir-dirs): New variable.
1667
1668 Wed Jun  5 00:01:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1669
1670         * Makerules (distinfo-vars): Add sysdep_routines.
1671
1672         * mach/Machrules (include-%.defs): New canned sequence.
1673         Change all uses of `#include <$*.defs>' in cmds to use it.
1674         * mach/Makefile (mach_interface.defs): New variable, set to mach.defs.
1675
1676         * sysdeps/i386/dl-machine.h (elf_machine_rel): Handle RESOLVE being
1677         null in all cases but R_386_COPY.
1678         (elf_machine_rel):
1679
1680 Wed Jun  5 00:01:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1681
1682         * sysdeps/unix/bsd/ultrix4/mips/Dist: Updated.
1683         * sysdeps/unix/bsd/ultrix4/Dist: Removed.
1684         * sysdeps/unix/sysv/sysv4/Dist: Updated.
1685         * sysdeps/unix/sysv/sco3.2.4/Dist: Removed.
1686         * sysdeps/unix/sysv/irix4/Dist: Updated.
1687         * sysdeps/unix/sysv/linux/i386/Dist: Removed.
1688         * sysdeps/unix/sysv/Dist: Updated.
1689         * sysdeps/unix/bsd/sun/sunos4/Dist: Removed.
1690         * sysdeps/unix/bsd/sony/newsos4/Dist: Removed.
1691         * sysdeps/gnu/Dist: New file.
1692         * sysdeps/alpha/Dist: Updated.
1693         * sysdeps/mach/hurd/Dist: Updated.
1694
1695         * Make-dist [subdir-dirs]: Set a vpath for %.c.
1696
1697         * Make-dist (README): Fix typo in cvs cmd.
1698
1699         * elf/dl-lookup.c (_dl_lookup_symbol): Fix typos in last change.
1700         Comment out ref to nonexistent _dl_close.
1701
1702 Tue Jun  4 21:01:20 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1703
1704         * math/Makefile (libm-support, libm-calls): New variables.
1705         (libm-routines): Construct this from those.
1706         (calls): New variable.
1707         (routines): Construct this from it.
1708
1709         * resolv/res_debug.c: Add missing #include <ctype.h>.
1710
1711         * sysdeps/unix/getlogin.c: Must pass struct utmp ptr to getutline_r.
1712         * sysdeps/unix/getlogin_r.c: Likewise.
1713
1714         * sysdeps/libm-ieee754/w_hypotl.c: Fix typo.
1715
1716         * sysdeps/libm-ieee754/w_cabsl.c: __cabsl_complex -> __cabs_complexl
1717
1718         * math/Makefile (long-m-routines): Define recursive variable as
1719         $(long-m-$(long-double-fcts)).
1720         (long-m-yes): Put list of routines here.
1721         (long-c-routines, long-c-yes): Likewise.
1722
1723         * sysdeps/unix/sysv/linux/schedbits.h: File removed.
1724
1725         * sysdeps/i386/Makefile (long-double-fcts): New variable, set to yes.
1726         * sysdeps/m68k/Makefile: Likewise.
1727
1728         * math/Makefile [$(long-double-fcts)!=yes] (CPPFLAGS): Append
1729         -DNO_LONG_DOUBLE.
1730
1731         * sysdeps/mach/hurd/getlogin_r.c: New file.
1732
1733 Wed Jun  5 02:11:30 1996  Ulrich Drepper  <drepper@cygnus.com>
1734
1735         * io/Makefile (routines): Add ttyname_r.
1736
1737         * resolv/res_debug.c, resolv/resolv.h: Update from bind-4.3.4-T4A.
1738
1739         * sysdeps/libm-i387/e_asinl.S, sysdeps/libm-i387/e_atan2l.S,
1740         sysdeps/libm-i387/e_expl.S, sysdeps/libm-i387/e_fmodl.S,
1741         sysdeps/libm-i387/e_log10l.S, sysdeps/libm-i387/e_logl.S,
1742         sysdeps/libm-i387/e_remainderl.S, sysdeps/libm-i387/e_scalbl.S,
1743         sysdeps/libm-i387/e_sqrtl.S, sysdeps/libm-i387/s_atanl.S,
1744         sysdeps/libm-i387/s_cosl.S, sysdeps/libm-i387/s_ilogbl.S,
1745         sysdeps/libm-i387/s_log1pl.S, sysdeps/libm-i387/s_logbl.S,
1746         sysdeps/libm-i387/s_scalbnl.S, sysdeps/libm-i387/s_sinl.S,
1747         sysdeps/libm-i387/s_tanl.S: New files.  i387 assembler versions
1748         of `long double' math functions.
1749
1750         * sysdeps/libm-ieee754/k_standard.c: Add handling for errors
1751         in long double functions.
1752
1753         * sysdeps/libm-ieee754/s_ilogbl.c, sysdeps/libm-ieee754/s_logbl.c,
1754         sysdeps/libm-ieee754/s_modfl.c:  New files.  Generic versions
1755         of `long double' math functions.
1756
1757         * sysdeps/libm-ieee754/s_isinf.c [NO_LONG_DOUBLE]: Add string
1758         alias for __isinfl.
1759
1760         * sysdeps/libm-ieee754/w_acoshl.c, sysdeps/libm-ieee754/w_acosl.c,
1761         sysdeps/libm-ieee754/w_asinl.c, sysdeps/libm-ieee754/w_atan2l.c,
1762         sysdeps/libm-ieee754/w_atanhl.c, sysdeps/libm-ieee754/w_cabsl.c,
1763         sysdeps/libm-ieee754/w_coshl.c, sysdeps/libm-ieee754/w_dreml.c,
1764         sysdeps/libm-ieee754/w_expl.c, sysdeps/libm-ieee754/w_fmodl.c,
1765         sysdeps/libm-ieee754/w_gammal.c, sysdeps/libm-ieee754/w_gammal_r.c,
1766         sysdeps/libm-ieee754/w_hypotl.c, sysdeps/libm-ieee754/w_j0l.c,
1767         sysdeps/libm-ieee754/w_j1l.c, sysdeps/libm-ieee754/w_jnl.c,
1768         sysdeps/libm-ieee754/w_lgammal.c, sysdeps/libm-ieee754/w_lgammal_r.c,
1769         sysdeps/libm-ieee754/w_log10l.c, sysdeps/libm-ieee754/w_logl.c,
1770         sysdeps/libm-ieee754/w_powl.c, sysdeps/libm-ieee754/w_remainderl.c,
1771         sysdeps/libm-ieee754/w_scalbl.c, sysdeps/libm-ieee754/w_sinhl.c,
1772         sysdeps/libm-ieee754/w_sqrtl.c: New files.  Wrapper functions
1773         around long double function implementations.
1774
1775         * sysdeps/posix/ttyname_r.c (ttyname_r): Use _D_EXACT_NAMLEN
1776         to determine length of directory entry name.
1777
1778         * posix/Makefile (routines): Add getlogin_r.
1779         * posix/unistd.h: Add prototype for getlogin_r.
1780         * sysdeps/stub/getlogin_r.c: New file.  Reentrant version of
1781         getlogin function, specified in P1003.1c/D6.  Stub version.
1782         * sysdeps/unix/getlogin.c (getlogin): Use ttyname_r instead of
1783         ttyname.  This avoids saving and restoring the old content.
1784         Also use setutent_r, getutline_r and endutent_r instead of
1785         accing UTMP file directly.
1786         * sysdeps/unix/getlogin_r.c: New file.  Reentrant version of
1787         getlogin function, specified in P1003.1c/D6.
1788
1789 Tue Jun  4 20:10:09 1996  J.T. Conklin  <jtc@cygnus.com>
1790
1791         * sysdeps/libm-i387/s_finitef.S: Fix mask for exponent.
1792
1793 Tue Jun  4 18:57:57 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1794
1795         * elf/dl-lookup.c (_dl_lookup_symbol): Grok magical undefined symbols
1796         _GNU_libc_dl_{open,close,symbol} and resolve them to dl functions.
1797
1798         * elf/rtld.c (rtld_map): Renamed to _dl_rtld_map, made global.
1799         * elf/link.h: Declare _dl_rtld_map.
1800
1801         * elf/dl-lookup.c (_dl_symbol_value): New function.
1802         * elf/link.h: Declare it.
1803
1804         * elf/dladdr.c: Remove #include <setjmp.h>, we don't use it.
1805
1806         * shlib-versions: Set libdl=2.
1807
1808         * elf/dl-deps.c (_dl_map_object_deps): Use a linked list of alloca'd
1809         elements and then scan it to fill the single malloc'd array, instead
1810         of using realloc to grow the array in the first pass.  _dl_map_object
1811         may do some mallocs that break our stream of reallocs, and the minimal
1812         realloc can't handle that.
1813
1814         * elf/dl-init.c (_dl_init_next): Take argument, link_map whose
1815         searchlist describes the piece of the DT_NEEDED graph to be
1816         initialized.
1817         * elf/link.h: Update prototype.
1818         * sysdeps/i386/dl-machine.h (RTLD_START): Pass _dl_loaded as argument
1819         to _dl_init_next.
1820         * sysdeps/m68k/dl-machine.h: Likewise.
1821         * elf/dl-deps.c (_dl_open): Pass new object as arg to _dl_init_next.
1822
1823         * elf/link.h (struct link_map): Add `l_reserved' member, soaking up
1824         extra bits in last byte.
1825         * elf/dl-deps.c (_dl_map_object_deps): Use that for mark bit to avoid
1826         putting dup elts in search list.
1827
1828         * elf/dlclose.c: Use MAP->l_searchlist to find deps to close.
1829
1830         * elf/dlsym.c: Don't tweak linked list.  Scope array given to
1831         _dl_lookup_symbol does the right thing.
1832
1833         * elf/Makefile (subdir_lib): Change this target to lib-noranlib.
1834         (lib-noranlib): Depend on on $(extra-objs).
1835
1836         * errno.h: Move __END_DECLS out of #ifdef's so it matches
1837         __BEGIN_DECLS.
1838
1839 Tue Jun  4 02:25:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1840
1841         * stdio-common/vfprintf.c [USE_IN_LIBIO] (size_t): Don't define as
1842         macro.  _IO_size_t is just an alias for the real size_t anyway.
1843
1844         * elf/Makefile (libdl-routines): Add dladdr.
1845         * elf/dladdr.c: New file.
1846         * elf/dlfcn.h (Dl_info): New typedef.
1847         (dladdr): Declare it.
1848
1849         * sysdeps/libm-i387/s_finite.S: Use `setne' instead of `setnel'.
1850
1851         * intl/l10nflist.c: Fix conditional on #include <argz.h>.
1852
1853         * libio/stdio.h (FOPEN_MAX, FILENAME_MAX, TMP_MAX, L_tmpnam): Macros
1854         removed.  Instead, include <stdio_lim.h>.
1855
1856         * libio/_G_config.h: New file.
1857         * libio/Makefile (headers): Add _G_config.h.
1858
1859         * MakeTAGS (po/errlist.pot): Extract from sysdeps/gnu/errlist.c.
1860
1861         * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Define
1862         this macro too; current Linux kernels test that instead of
1863         _LINUX_TYPES_DONT_EXPORT.
1864
1865         * elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol.
1866
1867         * elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist.
1868
1869         * elf/dl-deps.c: New file.
1870         * elf/Makefile (rtld-routines): Add dl-deps.
1871         * elf/link.h: Declare _dl_map_object_deps, _dl_open.
1872         * elf/rtld.c (dl_main): Use _dl_map_object_deps.
1873         * elf/dlopen.c: Use _dl_open.
1874
1875         * elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list
1876         frobnication based on its value.  Detach RTLD_MAP from the chain if
1877         its l_opencount is zero after loading deps.
1878
1879         * elf/dlfcn.h (RTLD_BINDING_MASK): New macro.
1880
1881         * elf/link.h (struct link_map): Replace l_deps_loaded flag member with
1882         `struct link_map **l_searchlist' and `unsigned int l_nsearchlist'.
1883         * elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array
1884         of two link_map ptrs.  Search the maps in the l_searchlist of each
1885         elt that is not null.
1886         * elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array.
1887         * elf/dl-runtime.c: Likewise.
1888         * elf/dlsym.c: Likewise.
1889         * elf/rtld.c (dl_main): Likewise.
1890
1891         * elf/dl-minimal.c (realloc): Support realloc of the block most
1892         recently returned by the minimal malloc.
1893
1894 Tue Jun  4 00:16:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1895
1896         * sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("...").
1897
1898         * intl: Updated from gettext-0.10.13.
1899         * intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.
1900
1901         * signal/siggetmask.c: New file.  Wrapper around sigblock with
1902         link_warning about obsolescence.
1903         * signal/Makefile (routines): Add siggetmask.
1904
1905         * sysdeps/gnu/errlist.awk: New file, adapted from ...
1906         * sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it.
1907         * sysdeps/mach/hurd/Makefile (errlist.c): Target removed.
1908         * sysdeps/gnu/Makefile: New file.
1909         (sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this.
1910
1911 Mon Jun  3 21:03:54 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1912
1913         * manual/errno.texi (Error Codes): Add placeholder items for missing
1914         Linux/i386 errno codes, with perror text but no documentation.
1915         Some existing perror texts changed.
1916
1917         * malloc/mcheck.c (freehook, reallochook): Handle null pointer args.
1918
1919         * hurd/hurdsig.c (_hurd_internal_post_signal): When setting ACT to
1920         `ignore, resume the thread if SS_SUSPENDED, regardless of old action.
1921
1922 Sun Jun  2 20:14:30 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1923
1924         * locale/programs/linereader.c (lr_open): Don't pass NULL to
1925         xstrdup; fix memory leak.
1926         (lr_close): Fix memory leak.
1927
1928 Mon Jun  3 15:58:22 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
1929
1930         * hurd/hurdsig.c (_hurd_internal_post_signal): When turning the action
1931         for a HANDLE signal to IGNORE because the signal is blocked, clean
1932         up any pending suspension left over from a call to resume.
1933
1934 Mon Jun  3 00:30:35 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1935
1936         * elf/dl-lookup.c (_dl_lookup_symbol): Take new arg RELOC_ADDR and
1937         don't allow a defn resolving to that address.
1938
1939         * elf/link.h: Update prototype and comment.
1940         * elf/dl-runtime.c (fixup): Define local `resolve' function and pass
1941         it to elf_machine_relplt.
1942         * elf/dl-reloc.c (_dl_relocate_object: resolve): Take new arg
1943         RELOC_ADDR and pass it through to _dl_lookup_symbol.
1944         * elf/do-rel.h (elf_dynamic_do_rel): Pass RESOLVE to elf_machine_rel
1945         instead of calling it ourselves and passing its results.
1946         (elf_dynamic_do_rel): RESOLVE fn takes new arg RELOC_ADDR.
1947         * elf/rtld.c (dl_main): Pass 0 for RELOC_ADDR to _dl_lookup_symbol.
1948         * sysdeps/i386/dl-machine.h (elf_machine_rel): Remove SYM_LOADADDR
1949         arg.  Add RESOLVE function ptr arg.  Call *RESOLVE as necessary.
1950         * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
1951         * sysdeps/stub/dl-machine.h: Likewise.
1952
1953 Sun Jun  2 14:56:49 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1954
1955         * csu/initfini.c (_fini): Add extern decl for i_am_not_a_leaf.
1956
1957         * elf/dlfcn.h (dl_open_mode): Enumerated type removed.
1958         (RTLD_LAZY, RTLD_NOW): Define these as macros instead.
1959         (RTLD_GLOBAL): New macro.
1960         (dlopen): Take arg of type int instead of dl_open_mode.
1961         * elf/dlopen.c: Likewise.
1962
1963         * math/math.h (_Mldbl): New macro, either produces L suffix or not.
1964         (M_*): Use it for these constants.
1965
1966         * elf/dl-lookup.c (_dl_lookup_symbol): Arg NOSELF renamed to NOPLT.
1967         Reject SHN_UNDEF defns iff NOPLT is nonzero.
1968         * elf/link.h (_dl_lookup_symbol): Update prototype and comment.
1969         * elf/dl-runtime.c (fixup): Pass 1 to _dl_lookup_symbol for NOPLT.
1970         * elf/dlsym.c (dlsym): Pass 0.
1971         * elf/rtld.c (dl_main): Likewise.
1972         * elf/dl-reloc.c (_dl_relocate_object: resolve): Second arg R_OFFSET
1973         replaced with NOPLT flag.  Pass it through to _dl_lookup_symbol.
1974         * elf/do-rel.h (elf_dynamic_do_rel): Update prototype of RESOLVE arg.
1975         Pass `elf_machine_pltrel_p (R->r_type)' result as NOPLT flag value.
1976         * sysdeps/i386/dl-machine.h (elf_machine_pltrel_p): New macro.
1977         * sysdeps/m68k/dl-machine.h (elf_machine_pltrel_p): Likewise.
1978         * sysdeps/stub/dl-machine.h (elf_machine_pltrel_p): Likewise.
1979
1980         * login/pututline_r.c: Fix typo in sizeof for DATA_TMP alloca.
1981
1982         * sysdeps/generic/gnu/types.h (__clock_t): New type.
1983
1984 Wed May 29 00:57:37 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1985
1986         * sysdeps/unix/sysv/linux/gnu/types.h (__clock_t, __fsid_t): Define
1987         using kernel types.
1988         * time/time.h (clock_t): Include <gnu/types.h> and define using
1989         __clock_t.
1990
1991         * time/Makefile (tests): Add test-tz.
1992
1993         * time/test-tz.c: New test.
1994
1995         * time/clocktest.c: Rewrite to test more meaningfully.
1996
1997         * sysdeps/unix/sysv/linux/syscalls.list: Add bdflush,
1998         create_module, delete_module, get_kernel_syms, init_module,
1999         klogctl.
2000
2001         * sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Define as 5
2002         instead of SYMLOOP_MAX, which is nowhere to be found.
2003
2004         * sysdeps/unix/sysv/linux/sys/msq_buf.h,
2005         sysdeps/unix/sysv/linux/sys/sem_buf.h,
2006         sysdeps/unix/sysv/linux/sys/shm_buf.h [__USE_MISC]: Add more
2007         control ops and datastructures.
2008
2009         * sysdeps/unix/sysv/linux/sys/io.h: New file declaring low-level
2010         I/O related functions.
2011
2012         * sysdeps/unix/sysv/linux/sys/kdaemon.h: New file declaring kernel
2013         daemon related functions/operations.
2014
2015         * sysdeps/unix/sysv/linux/sys/klog.h: New file declaring kernel
2016         logging related functions/operations.
2017
2018         * sysdeps/unix/sysv/linux/sys/module.h: New file declaring kernel
2019         module related functions/operations.
2020
2021         * sysdeps/unix/sysv/linux/speed.c: Only do "mention this twice" hack
2022         for non-Alpha based Linux systems.
2023
2024         * sysdeps/unix/sysv/linux/alpha/speed.c: Remove.
2025
2026         * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/module.h,
2027         sys/io.h, sys/klog.h, and sys/kdaemon.h.
2028
2029         * sysdeps/unix/sysdep.h (END): Define empty END macro for
2030         platforms that don't need some sort of end directive at the
2031         end of functions.
2032
2033         * sysdeps/unix/make-syscalls.sh: Emit END($strong) at end of
2034         syscall wrapper to allow correct generation of debugging
2035         information.
2036
2037         * sysdeps/unix/alpha/sysdep.h (END): Redefine to use .end
2038         directive for both ELF and ECOFF.
2039         (ret): Delete macro.  It was a dangerous macro and unnecessary
2040         since the Alpha assemblers recognizes "ret" as a macro themselves.
2041
2042         * sysdeps/gnu/utmpbits.h (struct utmp): Move ut_tv behind
2043         ut_session to guarantee long alignment.  This is important for
2044         Linux/Alpha since ut_tv.tv_sec is 32 bits and time_t is 64 bits.
2045         This will all get cleaned up as programs start to use ut_tv
2046         instead ut_time.
2047
2048         * sysdeps/alpha/divrem.h: Include <sysdep.h> instead of <*/regdef.h>.
2049
2050         * sysdeps/alpha/bsd-_setjmp.S (setjmp): Renamed entry point to
2051         _setjmp.
2052
2053         * sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S,
2054         sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S,
2055         sysdeps/alpha/copysign.S, sysdeps/alpha/divrem.h,
2056         sysdeps/alpha/fabs.S, sysdeps/alpha/ffs.S, sysdeps/alpha/htonl.S,
2057         sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S,
2058         sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S,
2059         sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
2060         sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
2061         sysdeps/unix/sysv/linux/alpha/llseek.S,
2062         sysdeps/unix/sysv/linux/alpha/pipe.S,
2063         sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
2064         sysdeps/unix/sysv/linux/alpha/sysdep.S: Use END macro instead of
2065         .end directive.
2066
2067         * csu/initfini.c (_fini): Tell gcc that _fini is not a leaf
2068         function by having it contain a dummy function call.
2069
2070         * configure.in (config_machine): Don't make ELF the default for
2071         Linux/Alpha just yet (use --with-elf instead).
2072         (.init/.fini check): Generate .text to ensure function start and
2073         end are in same section.
2074
2075         * sysdeps/unix/bsd/osf/alpha/brk.S,
2076         sysdeps/unix/sysv/linux/alpha/brk.S (__curbrk): Store the entire
2077         break value, not just the low 32 bits to accomodate large
2078         memories.
2079
2080 Tue May 28 10:46:04 1996  Richard Henderson  <rth@tamu.edu>
2081
2082         * sysdeps/unix/sysv/linux/alpha/brk.S: Rather than attempt to
2083         dynamically resolve _end for initializing __curbrk, support the
2084         brk(0) query idiom.
2085
2086         * sysdeps/alpha/bb_init_func.S: Don't make `init' an external symbol.
2087
2088         * sysdeps/alpha/bsd-_setjmp.S: The function is _setjmp not setjmp.
2089
2090 Sun May 26 22:17:38 1996  Richard Henderson  <rth@tamu.edu>
2091
2092         * stdlib/lcong48_r.c, stdlib/seed48_r.c, stdlib/strtod.c,
2093         stdlib/strtol.c: Include <string.h> for mem* and str* fns used.
2094
2095 Thu May 23 02:15:56 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2096
2097         * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/io.h,
2098         sys/klog.h, and sys/kdaemon.h.
2099
2100         * sysdeps/unix/sysv/linux/sys/io.h: New file.
2101         * sysdeps/unix/sysv/linux/sys/klog.h: Ditto.
2102         * sysdeps/unix/sysv/linux/sys/kdaemon.h: Ditto.
2103
2104         * sysdeps/unix/alpha/sysdep.h (ret): Remove macro.  It is
2105         dangerous and unnecessary since both OSF/1 as and gas define "ret"
2106         as a pseudo-instruction.
2107
2108 Sat Jun  1 17:18:21 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2109
2110         * time/tzset.c (__tzset): Clear tz_rules name pointers after freeing
2111         them.  Bug found by David Mosberger-Tang.
2112
2113         * sysdeps/posix/tempname.c (__stdio_gen_tempname): Use __ptr_t instead
2114         of PTR.
2115
2116         * extra-lib.mk (extra-objs): Use patsubst intead of $(A:=B) syntax
2117         to work around Make bug when A contains var ref.
2118
2119 Fri May 31 18:27:52 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2120
2121         * string/string.h [__USE_MISC]: Declare basename; OSF/1 puts it here.
2122
2123         * sysdeps/unix/sysv/linux/syscalls.list (getpgid, setpgid): Define __
2124         strong names and [gs]etpgid as weak aliases.
2125
2126 Thu May 30 11:24:05 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2127
2128         * math/math_private.h (GET_LDOUBLE_EXP): Add missing backslash.
2129
2130         * po/header.pot: Replace with exact boilerplate pinard dictates.
2131
2132         * sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set
2133         errno and the check that jumped to it.
2134
2135         * sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx).
2136
2137 Thu May 30 03:21:57 1996  Ulrich Drepper  <drepper@cygnus.com>
2138
2139         * FAQ: Document need of gperf program for developers.
2140
2141         * elf/elf.h: Fix typos in comments.
2142
2143         * libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add
2144         prototypes for `ctermid' and `cuserid'.
2145
2146         * locale/programs/locale.c: Switch to user selected locale
2147         before printing variables.
2148
2149         * math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines
2150         and long-c-routines.  Only if the `long double' data type is
2151         available we need to compile the functions.
2152         (libm-routines): Add $(long-m-routines).
2153         (routines): Remove isinfl, isnanl.  Use new file s_isinfl and
2154         s_isnanl instead if `long double' is available.
2155
2156         * math/math.h: Include <mathcalls.h> again to define `long double'
2157         functions.
2158
2159         * math/math_private.h: Define data types, prototypes and access
2160         macros for `long double'.
2161
2162         * stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'.
2163         [GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which
2164         calls __strto{,u}q_internal.
2165
2166         * stdlib/strfmon.c: Replace PTR by `void *'.
2167
2168         * stdlib/strtoq.c: Define strtoll as weak alias.
2169         * stdlib/strtouq.c: Define strtoull as weak alias.
2170
2171         * string/tester.c: Correct `strsep' test.
2172
2173         * sysdeps/generic/strsep.c: Make compatible with BSD version.
2174         Trailing characters of skip set are not skipped.  In this case
2175         empty tokens are returned.
2176
2177         * sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c,
2178         sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c,
2179         sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed.  We
2180         now use the versions part of libm.
2181
2182         * sysdeps/i386/strsep.S: Removed.  Generic C version is of
2183         similar speed.
2184         * sysdeps/i386/strtok.S: Remove support for `strsep'.
2185
2186         * sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S,
2187         sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S,
2188         sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c,
2189         sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c,
2190         sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S:
2191         New i387 specific math functions implementing `long double'
2192         versions.
2193
2194         * sysdeps/libm-ieee754/s_ceill.c,
2195         sysdeps/libm-ieee754/s_copysignl.c,
2196         sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c,
2197         sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c,
2198         sysdeps/libm-ieee754/s_isnanl.c,
2199         sysdeps/libm-ieee754/s_nextafterl.c,
2200         sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c,
2201         sysdeps/libm-ieee754/s_significandl.c: New generic `long double'
2202         versions of libm functions.
2203
2204         * sysdeps/libm-i387/e_exp.S: Add a few comments to explain the
2205         Intel FPU nonsense.
2206
2207         * sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S,
2208         sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct
2209         handling of local variables.  The old version created a stack
2210         frame but stored the values outside.
2211
2212         * sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c
2213         [!NO_LONG_DOUBLE]: Define alias with `long double' versions name.
2214
2215 Wed May 29 12:53:10 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2216
2217         * login/pututline_r.c: Include sys/stat.h.  Fix typos.
2218
2219         * version.h (VERSION): Set to 1.90.
2220
2221         * Makerules (distinfo-vars): Write extra-libs and *-routines for each
2222         of its elts.
2223         * MakeTAGS (sources): Add those sources.
2224
2225         * MakeTAGS (all-sources): Add $(others:=.c) and $(tests:=.c).
2226
2227 Wed May 29 08:53:08 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2228
2229         * hurd/report-wait.c (_S_msg_report_wait): Return `itimer' for the
2230         itimer thread.
2231
2232         * hurd/hurdinit.c (_hurd_init): Set _HURDSIG_TRACED before calling
2233         _hurd_proc_init.
2234
2235 Wed May 29 00:52:20 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2236
2237         * string/tester.c (main): Fix strsep tests 6, 7, 20 to expect null
2238         token instead of it being implicitly skipped.
2239
2240         * sysdeps/i386/fpu/__math.h (logb): Correct contraint from =u to =t.
2241         Must operate on top of fp reg stack, not second from top.
2242
2243         * extra-lib.mk (alltypes-$(lib)): Don't append $(objpfx)$(lib).so.
2244         (others): Instead, make this depend on it.
2245
2246 Tue May 28 04:38:10 1996  Ulrich Drepper  <drepper@cygnus.com>
2247
2248         * limits.h: Change MB_LEN_MAX to 6.  A 31-bit ISO 10646
2249         character in UTF-8 encoding has that many bytes.
2250
2251         * locale/langinfo.h: New element _NL_CTYPE_MB_CUR_MAX.
2252         * locale/categories.def: Add description of field _NL_CTYPE_MB_CUR_MAX.
2253         * locale/Makefile (routines): Add mb_cur_max.
2254         * locale/mb_cur_max.c: New file.  This function gets called
2255         when the macro MB_CUR_MAX is used.
2256         * locale/C-ctype.c: Initialize new mb_cur_max field.
2257         * locale/localeinfo.h: Change magic value because of incompatible
2258         change.
2259         * locale/programs/ld-ctype.c: Determine value of mb_cur_max
2260         according to current character set and write it out with the rest.
2261         * stdlib/stdlib.h (MB_CUR_MAX): Not constant anymore.  Get value
2262         according to currently used locale for category LC_CTYPE by
2263         calling the function __ctype_get_mb_cur_max.
2264
2265 Tue May 28 03:27:46 1996  Ulrich Drepper  <drepper@cygnus.com>
2266
2267         * FAQ:  Fix some typos.
2268         Tell that for Linux the kernel header files are necessary.
2269
2270         * PROJECTS: New file.  List of open jobs for glibc.
2271         * Makefile (distribute): Add PROJECTS.
2272
2273         * crypt/GNUmakefile (headers): New variable.  Mention crypt.h.
2274         * crypt/crypt.h: Header for crypt functions.
2275
2276         * elf/elf.h: Add some new constants from recent Cygnus ELF
2277         header files.
2278
2279         * login/getutid_r.c: Test for correct type.
2280         Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and
2281         _HAVE_UT_ID resp. are defined.
2282         Make really compliant with specification.
2283
2284         * login/getutline_r.c, login/pututline_r.c: Don't depend on
2285         ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are
2286         defined.
2287         Make really compliant with specification.
2288
2289         * login/setutent_r.c: Don't depend on ut_type and ut_id unless
2290         _HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined.
2291
2292         * login/login.c, login/logout.c, login/logwtmp.c: Complete
2293         rewrite.  Now based on getut*/setut* functions.
2294
2295         * stdlib/strtol.c: Undo changes of Wed May 22 01:48:54 1996.
2296         This prevented using this file in other GNU packages.
2297
2298         * sysdeps/gnu/utmpbits.h: Define _HAVE_UT_TYPE, _HAVE_UT_ID,
2299         and _HAVE_UT_TV because struct utmp has these members.
2300
2301         * sysdeps/libm-i387/e_exp.S: Correct exp(+-Inf) case.
2302
2303         * utmp.h: New file.  Wrapper around login/utmp.h.
2304
2305 Tue May 28 13:11:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2306
2307         * elf/dl-error.c (struct catch): New type.
2308         (catch): New static variable, struct catch *.
2309         (catch_env, signalled_errstring, signalled_objname): Variables removed.
2310         (_dl_signal_error): If CATCH is non-null, set its errstring and
2311         objname members and jump to CATCH->env.  If it is null, call
2312         _dl_sysdep_fatal with a standard message.
2313         * elf/rtld.c (dl_main): Explode `doit' function into dl_main's body.
2314         No longer use _dl_catch_error.
2315
2316         * Makerules (sed-remove-objpfx): Avoid extra space in regexp due to
2317         continuation line.
2318
2319         * sysdeps/unix/sysv/linux/i386/socket.S: Fix off-by-one error in
2320         setting %ecx to 2nd syscall arg: we have pushed nothing, so function
2321         args are found at 4(%esp), not 8(%esp).
2322
2323 Mon May 27 10:10:00 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2324
2325         * Makefile ($(includedir)/stubs.h): Add missing backslash.
2326
2327         * sysdeps/unix/sysv/linux/i386/brk.c (__curbrk): Initialize it so it
2328         can be aliased.
2329
2330         * sysdeps/unix/sysv/linux/Makefile [$(subdir)=termios] (headers):
2331         Append termio.h.
2332
2333         * Makefile ($(includedir)/stubs.h): Print a msg if we do nothing.
2334
2335         * misc/sgtty.h: Add forward decl of struct sgttyb in case it is never
2336         defined.
2337
2338         * sysdeps/unix/sysv/linux/termio.h: New file.
2339         * sysdeps/unix/sysv/linux/Dist: Add it.
2340
2341         * sysdeps/unix/sysv/linux/ioctl-types.h: New file, wrapper around
2342         kernel header <asm/termios.h>.
2343
2344         * misc/Makefile (headers): Add ioctl-types.h.
2345         * sysdeps/generic/ioctl-types.h: New file.
2346         * misc/sys/ioctl.h: Include <ioctl-types.h>.
2347         (struct tchars, struct ltchars, struct sgttyb, struct winsize,
2348         struct ttysize): Types moved there.
2349
2350         * Makefile ($(includedir)/stubs.h): Don't touch target if new one is
2351         identical.
2352
2353         * time/Makefile (z.% rule): Generate generic zone%/ rule after
2354         zone%/right/ and zone%/posix/ rules so they match first.
2355
2356 Sun May 26 15:15:08 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2357
2358         * features.h [_GNU_SOURCE] (_BSD_SOURCE, _SVID_SOURCE,
2359         _POSIX_SOURCE, _POSIX_C_SOURCE): Define these.
2360
2361         * time/Makefile (tzcompile): Add missing backslash.
2362
2363         * stdlib/ldiv.c: Deansideclized.
2364
2365         * wctype/wctype.h (__need_wint_t): Define this and include stddef.h.
2366         [! _WINT_T] (wint_t): Conditionalize typedef on this in case pre-2.7.3
2367         stddef.h doesn't define it.
2368         * wcsmbs/wchar.h: Likewise.
2369         * stdlib/strtod.c: Likewise.
2370
2371         * wcsmbs/wcstok.c: Fix argument name typo.
2372
2373 Sun May 26 19:39:53 1996  Ulrich Drepper  <drepper@cygnus.com>
2374
2375         * intl/loadmsgcat.c (_nl_load_domain): Test correct variable
2376         after malloc.
2377
2378         * string/Makefile (tester-ENV): New variable to suppress message
2379         translation in test.
2380
2381         * string/tester.c: Add tests for strtok_r and strsep.
2382
2383         * sysdeps/i386/i486/strcat.S: Correct some more 8bit operation
2384         <-> 32 bit operand conflicts.
2385
2386         * sysdeps/i386/strsep.S: Wrapper around <sysdeps/i386/strtok.S>
2387         to produce strsep function.
2388         * sysdeps/i386/strtok.S: Optimized implementation of strtok
2389         function.
2390         * sysdeps/i386/strtok_r.S: Wrapper around <sysdeps/i386/strtok.S>
2391         to produce strtok_r function.
2392
2393         * sysdeps/generic/strtok.c: Moved here from string/strtok.c.
2394         Corrected example in comment.
2395
2396         * string/Makefile (routines): Add strtok_r.
2397         * sysdeps/generic/strtok_r.c: New file.  Implement reentrant version
2398         of strtok_r.
2399         * string/string.h: Add prototype for strtok_r.
2400         * wcsmbs/wcstok.c: Handle illegal SAVE_PTR argument the same
2401         as in strtok_r.
2402
2403 Sun May 26 13:28:23 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2404
2405         * time/tzset.c (__tzset): Ignore leading : in $TZ; always try tzfile
2406         first and fall back to 1003.1 syntax only if it fails.
2407
2408         * time/Makefile (install-others): Also install posix/ZONE and
2409         right/ZONE for each ZONE in $(zonenames).
2410         (z.% rule): Generate rules for right/ZONE and posix/ZONE targets too,
2411         the difference begin leapseconds vs /dev/null as 3rd dep.  For
2412         original ZONE targets use $(leapseconds), to be set in Makeconfig.
2413         (target-zone-flavor): New variable.
2414         (tzcompile): Use it to get the right -d for posix/ and right/ flavors.
2415         * Makeconfig (leapseconds): New variable.
2416
2417         * mach/Machrules (%.udeps rule): Depend on Machrules.
2418         Emit deps for .uh and .__h files.
2419         (%.uh, %.__h rules): Don't depend on %.defs; use #include <$*.defs>
2420         instead.
2421
2422 Sun May 26 01:06:47 1996  Ulrich Drepper  <drepper@cygnus.com>
2423
2424         * stdlib/Makefile (routines): Add llabs, lldiv.
2425         * stdlib/llabs.c: New file.  Implementation of return
2426         absolute value of long long argument.
2427         * stdlib/lldiv.c: New file.  Implementation of division with remainder
2428         of long long argument.
2429         * stdlib/stdlib.h [__USE_GNU] (lldiv_t): New type for lldiv
2430         function.
2431         Define prototypes for lldiv and llabs functions.
2432
2433         * locale/C-collate.c: Initialize _NL_COLLATE_NRULES element.
2434
2435         * stdlib/strtod.c: Replace wchar_t with wint_t.  The later is
2436         really the type for a single wide character.
2437
2438         * string/strxfrm.c (print_val): Define separate version for
2439         use as wcsxfrm.  Here we don't need UTF8 encoding.
2440
2441         * wcsmbs/wchar.h:  gcc-2.7.2-960517 finally introduces wint_t
2442         in <stddef.h>.  Use this value and only for older gcc version
2443         define in place.
2444         (uwchar_t): Remove definition.
2445
2446         * wcsmbs/wcscmp.c, wcsmbs/wcscoll.c, wcsmbs/wcsncmp.c,
2447         wcsmbs/wcsxfrm.c, wcsmbs/wmemcmp.c: : Don't use uwchar_t as unsigned
2448         type.  wint_t is intended for this.
2449
2450 Sat May 25 14:10:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2451
2452         * sysdeps/unix/bsd/direntry.h: Use [1] instead of [0] for d_name to
2453         quiet -ansi -pedantic.
2454         * sysdeps/unix/common/direntry.h: Likewise.
2455
2456         * login/Makefile (headers): Add lastlog.h.
2457         * login/lastlog.h: New file.
2458
2459         * login/Makefile (CFLAGS): Don't append -D_THREAD_SAFE.
2460         * login/utmp.h [_REENTRANT || _THREAD_SAFE]: Replace this conditional
2461         with #ifdef __USE_REENTRANT.
2462
2463         * features.h (__GNU_LIBRARY__): Set to 6.
2464         [_GNU_SOURCE] (_POSIX_SOURCE, _POSIX_C_SOURCE, _BSD_SOURCE,
2465         _SVID_SOURCE): Make sure they are all defined.
2466
2467         * sysdeps/unix/sysv/linux/gnu/types.h: Instead of including
2468         <linux/posix_types.h>, define _LINUX_TYPES_DONT_EXPORT and then
2469         include <linux/types.h>.
2470
2471         * resource/sys/resource.h: Remove trailing commas from enums.
2472
2473 Fri May 24 17:30:50 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2474
2475         * sysdeps/generic/netinet/in.h: Remove trailing commas from enums.
2476         * sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
2477
2478         * login/getutline_r.c: Include string.h.
2479
2480         * Rules (static-only-routines): Restore the rule to make these .so's
2481         empty objects.
2482
2483         * login/pututline_r.c: Use struct assignment instead of memcpy.
2484
2485         * login/getutline_r.c: Use strncmp instead of comparing two pointers
2486         that will only be equal if you are overwriting the data and screwing
2487         yourself anyway.
2488
2489 Fri May 24 02:31:36 1996  Ulrich Drepper  <drepper@cygnus.com>
2490
2491         * sysdeps/unix/sysv/linux/speed.c: Add new speed value 460800.
2492
2493 Thu May 23 23:09:33 1996  Ulrich Drepper  <drepper@cygnus.com>
2494
2495         * FAQ: Add answer for 100% source code compatibility to Linux
2496         libc by David Mosberger-Tang.
2497
2498         Update from bind-4.9.4-T3B.
2499         * inet/arpa/inet.h: Add prototypes for inet_pton, inet_ntop,
2500         inet_nsap_addr, and inet_nsap_ntoa.
2501         * resolv/gethnamaddr.c: Correct compatibility problems (sprintf),
2502         remove fourth argument to inet_pton and correct handling of
2503         host_addr passing.
2504         * resolv/inet_ntop.c: Correct compatibility problems (sprintf).
2505         * resolv/inet_pton.c: Remove fourth argument.
2506         * resolv/resolv.h: Remove prototypes for inet_nsap_addr and
2507         inet_nsap_ntoa.  Now in <arpa/inet.h>.
2508
2509         * stdlib/gmp-impl.h: Add prototypes for internal functions.
2510
2511 Thu May 23 22:49:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2512
2513         * Rules (subdir_install): Remove dep on sor-$(subdir).
2514         (static-only-routines): Removed variable and associated rules.
2515
2516 Wed May 22 00:40:50 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2517
2518         * sysdeps/unix/sysv/linux/alpha/speed.c (speeds): Add entry for
2519         460800 baud.
2520
2521         * sysdeps/unix/sysv/linux/alpha/statbuf.h: New file.
2522
2523         * sysdeps/unix/sysv/linux/alpha/Makefile (headers): Add
2524         alpha/ptrace.h.
2525         * sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h: New file.
2526
2527         * sysdeps/libm-ieee754/s_scalbnf.c: Call __scalbnf instead of
2528         scalbnf.
2529
2530         * sysdeps/generic/sigset.h (__sigismember, __sigaddset,
2531         __sigdelset): Add declaration to keep ANSI compilers quiet.
2532
2533         * sysdeps/alpha/__math.h (cabs): Remove underscores from struct
2534         __cabs_complex member names in call to __hypot().
2535
2536         * sysdeps/alpha/copysign.S, sysdeps/alpha/fabs.S: New files.
2537
2538         * sysdeps/alpha/divrem.h: Renamed from sysdeps/alpha/divrem.S to avoid
2539         name collision with math library.
2540
2541         * sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
2542         sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
2543         sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Include divrem.h instead
2544         of divrem.S.
2545
2546         * sysdeps/unix/alpha/sysdep.h: Include regdef.h.  Define LEAF macro
2547         to simplify declaration of leaf functions.
2548
2549         * sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S,
2550         sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/ffs.S,
2551         sysdeps/alpha/htonl.S, sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S,
2552         sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S,
2553         sysdeps/alpha/udiv_qrnnd.S, sysdeps/unix/sysv/linux/alpha/brk.S,
2554         sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
2555         sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
2556         sysdeps/unix/sysv/linux/alpha/pipe.S,
2557         sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
2558         sysdeps/unix/sysv/linux/alpha/syscall.S,
2559         sysdeps/unix/sysv/linux/alpha/start.S,
2560         sysdeps/unix/sysv/linux/alpha/sysdep.S: Remove include of regdef.h.
2561         sysdep.h includes it now. Replace ENTRY by LEAF with appropriate
2562         framesize declaration.  Replace "lda pv,sym/jsr pv" by "jsr sym".
2563
2564         * sysdeps/unix/sysv/linux/alpha/sysdep.h (NO_UNDERSCORES): Don't
2565         define.
2566
2567         * sysdeps/unix/sysv/linux/alpha/syscalls.list: Added getsockopt,
2568         ptrace, and sysctl.
2569
2570         * sysdeps/unix/sysv/linux/alpha/profil-counter.h: File removed.
2571
2572         * sysdeps/unix/sysv/linux/alpha/ioperm.c: Modify to support
2573         dynamic recognition of platform type.
2574         (_bus_base): New function.
2575
2576         * sysdeps/unix/sysv/linux/alpha/llseek.S: New file.
2577
2578         * sunrpc/rpc/rpc.h, sunrpc/rpc/svc.h: Avoid nested comments since
2579         they produce ugly warnings by gcc.
2580
2581         * posix/sys/types.h [__USE_MISC]: Add typedef for ulong.
2582
2583 Wed Mar 27 10:26:21 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2584
2585         * sysdeps/alpha/setjmp.S: Must establish global pointer before
2586         address of __sigsetjmp_aux can be loaded.
2587
2588 Wed May 22 22:10:01 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2589
2590         * stdlib/canonicalize.c: New file.
2591         * stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
2592         * stdlib/Makefile (routines): Add canonicalize.
2593
2594         * posix/unistd.h: Declare __canonicalize_directory_name_internal.
2595
2596 Thu May 23 00:01:10 1996  Ulrich Drepper  <drepper@cygnus.com>
2597
2598         * db/recno/rec_seq.c: Prevent `sccsid' definition by using the
2599         same #if condition as in the other db files.
2600
2601         * intl/Makefile: Add -Wno-unused CFLAGS for compilation of
2602         bindtextdom.c, finddomain.c, and localealias.c.
2603
2604         * intl/dcgettext.c: Don't define prototype for getcwd() when
2605         compiling in glibc.
2606
2607         * libio/cleanup.c: Add prototype for _IO_register_cleanup.
2608
2609         * libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
2610         define _POSIX_SOURCE unconditionally.
2611
2612         * libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
2613         compiling in glibc.
2614
2615         * libio/fileops.c (_IO_file_close_it): Don't sync file, call
2616         flush instead.  This relaxes the rules from POSIX.1 about
2617         changing the active handle a bit.
2618
2619         * libio/iofopncook.c (struct _IO_cookie_file): Move definition
2620         into <libio.h>.
2621         Add prototypes for local functions to prevent warnings.
2622
2623         * libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
2624         _IO_dup2 to contain complete parameter list.
2625
2626         * libio/libio.h: Add definition of struct _IO_cookie_file.
2627
2628         * libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
2629         and _IO_vsnprintf.
2630
2631         * libio/memstream.c: Include <stdio.h>.
2632
2633         * libio/stdio.h: Add prototypes for fopencookie,
2634         __stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
2635
2636         * libio/strops.c: Avoid useless expression in `for' initializer.
2637
2638         * locale/findlocale.c: Add some casts to prevent warnings.
2639
2640         * locale/programs/locfile.c (write_locale_data): Don't use
2641         double `/' in locale binary file.
2642
2643         * posix/unistd.h: Remove prototype for `reboot'.
2644
2645         Update from bind-4.9.4-T1A.
2646         * resolv/Makefile (routines): Add inet_ntop and inet_pton.
2647         * resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
2648         * resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
2649         resolv/res_debug.c, resolv/res_init.c
2650
2651         * resolv/inet_ntop.c, resolv/inet_pton.c: New files.
2652
2653         * resolv/resolv.h: Add RES_USE_INET6 flag.
2654         (__dn_isvalid): Renamed to __res_dnok.
2655         Add prototypes for __res_ownok and __res_mailok.
2656
2657         * stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
2658
2659         * stdio-common/getline.c, stdio-common/vfscanf.c,
2660         sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
2661
2662         * sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
2663         (sysdep_routines): Add s_reboot.
2664         (install-others): Add $(includedir)/sys/syscall.h.
2665         New rule for $(includedir)/sys/syscall.h to produce from
2666         <asm/unistd.h>.
2667
2668         * sysdeps/unix/sysv/linux/reboot.c: New file.  Make single
2669         argument function call 3 argument system call.
2670
2671         * sysdeps/unix/sysv/linux/sys/reboot.h: New file.  Linux specific
2672         definition for reboot function.
2673
2674         * sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
2675         comment.
2676
2677         * sysdeps/unix/sysv/linux/syscalls.list: Rename function for
2678         reboot syscall to __syscall_reboot.
2679
2680         * wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
2681         __USE_GNU, not USE_GNU.
2682
2683 Tue May 21 21:55:49 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
2684
2685         * locale/programs/charset.c, locale/programs/ld-collate.c:
2686         Add casts to prevent warnings on 64-bit machines.
2687
2688         * locale/programs/ld-monetary.c: Don't do unnecessary tests for
2689         int_frac_digits and frac_digits which only produce warnings.
2690
2691 Mon May 13 23:45:29 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
2692
2693         * inet/arpa/inet.h: Backup return type of inet_addr to u_long.
2694         * resolv/inet_addr.c: Likewise.
2695
2696         * resolv/Makefile (distribute): Add res_hconf.h
2697         (routines): Add res_hconf.
2698
2699         * resolv/gethnamaddr.c: Add support for /etc/host.conf.
2700
2701         * resolv/res_init.c: Initialize /etc/host.conf reader.
2702
2703         * resolv/res_hconf.c, resolv/res_hconf.h: New files.
2704         Implementation of reading /etc/host.conf.
2705
2706 Wed May 22 21:21:15 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2707
2708         * Rules (%.out rules): Prepend $($*-ENV) to the command.
2709
2710         * sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
2711         alias for __curbrk.
2712
2713 Wed May 22 19:37:27 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2714
2715         * hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
2716         * hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
2717
2718 Wed May 22 18:47:31 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2719
2720         * sysdeps/mach/hurd/getcwd.c
2721         (_hurd_canonicalize_directory_name_internal): New function, broken out
2722         of __getcwd.
2723         (__getcwd): Use it.
2724         (__canonicalize_directory_name_internal): New function using it.
2725
2726         * sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
2727         function, broken out of __getcwd.
2728         (__getcwd): Use it.
2729
2730 Wed May 22 18:14:05 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2731
2732         * string/argz-create.c (__argz_create): Correctly calculate length.
2733
2734         * string/argz-extract.c (__argz_extract): Add terminating 0 entry.
2735         * hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
2736
2737 Wed May 22 17:22:14 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2738
2739         * posix/glob.c [VMS]: Don't include <pwd.h>.
2740         [HAVE_VMSDIR_H]: Include "vmsdir.h".
2741         (glob) [VMS]: Don't grok ~.
2742
2743 Wed May 22 14:46:53 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2744
2745         * hurd/hurdstartup.c (_hurd_startup): Terminate the vectors we get
2746         back from argz_extract.
2747
2748 Wed May 22 13:56:42 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2749
2750         * configure.in: Remove checks for objdump, objcopy, and awk.
2751         * config.make.in (OBJDUMP, OBJCOPY, AWK): Variables removed.
2752         * Makefile (distribute): Remove extract-dynsym.
2753         * extract-dynsym: File removed.
2754
2755 Tue May 21 22:17:45 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2756
2757         * termios/cfmakeraw.c: Set MIN to 1 and TIME to 0.
2758
2759 Wed May 22 01:48:54 1996  Ulrich Drepper  <drepper@cygnus.com>
2760
2761         * stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
2762         macros if they are not available.
2763         (WEAKNAME): New macro to declare argument as weak.
2764         Define function with __ prefix and add normal name as weak alias.
2765
2766         * sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
2767         these macros if not already available based on R_OK, W_OK, and
2768         X_OK.
2769
2770 Tue May 21 18:48:46 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2771
2772         * misc/sys/syslog.h (__need___va_list): Define this instead of
2773         __need_va_list before including <stdarg.h>.
2774
2775         * Makerules (o-iterator): Use $(object-suffixes-left) instead
2776         of $(object-suffixes) to produce repetitions; this is used for other
2777         lists than just that one.
2778         [versioned]: Use $(o-iterator) properly.
2779
2780         * sysdeps/unix/sysv/linux/Implies: Include `gnu'.
2781         * sysdeps/mach/hurd/Implies: Likewise.
2782
2783 Sat May 18 02:57:46 1996  Ulrich Drepper  <drepper@cygnus.com>
2784
2785         * login/Makefile: New file.  This directory contains functions
2786         for user administration.
2787         * Makefile (subdirs): Add login.
2788
2789         * misc/Makefile (headers): Remove utmp.h.  Now in login/utmp.h.
2790         (extra-libs, libutil-routines): Ditto.
2791         * misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
2792         misc/utmp.h: Moved to misc/.
2793         * login/login.c, login/login_tty.c, login/logout.c,
2794         login/logwtmp.c, login/utmp.h: Moved to here from misc/.
2795
2796         * login/utmp.h: Split file.  Definitions of data structures
2797         and constants are now in the system dependent utmpbits.h file.
2798
2799         * login/setutent_r.c, login/setutent.c, login/endutent_r.c,
2800         login/endutent.c, login/getutent_r.c, login/getutent.c,
2801         login/getutid_r.c, login/getutid.c, login/getutline_r.c,
2802         login/getutline.c, login/pututline_r.c, login/pututline.c:
2803         New files.  Routines to handle utmp-style files.
2804
2805         * sysdeps/gnu/utmpbits.h: New file.  Contains GNU/Linux
2806         specific definitions of utmp data structures and constants.
2807
2808         * sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
2809
2810         * sysdeps/generic/utmpbits.h: New file.  Generic (BSDish) version of
2811         definitions of utmp data structures and constants.
2812
2813 Fri May 17 00:01:31 1996  Ulrich Drepper  <drepper@cygnus.com>
2814
2815         * locale/C-monetary.c: Default value for mon_decimal_point should be
2816         '.'.
2817
2818         * stdio-common/printf.h: Remove Linux libc compatibility stuff.
2819         Add `extra' flag.  Currently used in __printf_fp.
2820
2821         * stdio-common/printf_fp.c (__guess_grouping): Renamed from
2822         `guess_grouping' and extend visibility to extern.  This function
2823         is now used in `strfmon'.
2824         (__printf_fp): Recognize new bit flag in info struct.  This
2825         triggers to use the grouping information and decimal point from
2826         the LC_MONETARY category instead of the LC_NUMERIC category.
2827
2828         * stdio-common/vfprintf.c (process_arg): Correct major bug.  In
2829         `complicated' loop we must not use the varargs because the args
2830         are already available in the ARGS_VALUE array.
2831
2832         * stdlib/Makefile (headers): Add monetary.h.
2833         (routines): Add strfmon.
2834         * stdlib/monetary.h: New file.  Header for strfmon function.
2835         * stdlib/strfmon.c: New file.  Implement strfmon function to print
2836         monetary amounts according to current locale's rules.
2837
2838         * sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
2839         now (>= Linux-1.3.100) called <asm/vm86.h>.
2840
2841 Thu May 16 00:31:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2842
2843         * Makerules [versioned]: Make symlinks in the build directory, because
2844         the versioned names might be referenced by a DT_NEEDED in another
2845         library.
2846
2847 Wed May 15 18:59:38 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2848
2849         * manual/examples/longopt.c: Include stdlib.h and getopt.h.
2850
2851 Tue May 14 03:36:21 1996  Ulrich Drepper  <drepper@cygnus.com>
2852
2853         * sysdeps/unix/sysv/linux/Makefile [$subdir == misc] (headers):
2854         Add sys/acct.h and sys/sysctl.h.
2855
2856 Tue May 14 19:42:04 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2857
2858         * sysdeps/generic/strrchr.c: Deansideclized.
2859
2860         * elf/Makefile (ldd): Depend on Makefile.
2861         Find ld.so in $(slibdir) instead of $(libdir).
2862
2863         * sysdeps/i386/strrchr.S: Use `testl $3, %esi' instead of `testb $3,
2864         %esi'; gas misassembles the latter into `testb $3, %dh'.
2865
2866         * mach/Machrules (%.udeps rule): Do $(make-target-directory) first.
2867
2868 Tue May 14 16:38:44 1996  David Mosberger-Tang <davidm@AZStarNet.com>
2869
2870         * sunrpc/getrpcent.c (interpret): Declare args.  Rewrite parsing using
2871         strpbrk.
2872
2873 Tue May 14 20:18:38 1996  Ulrich Drepper  <drepper@cygnus.com>
2874
2875         * time/Makefile (routines): Add strptime.
2876         * time/time.h: Add prototype for strptime.
2877         * time/strptime.c: New file.  Implementation according to XPG4.
2878
2879 Tue May 14 14:07:10 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2880
2881         * libc-symbols.h (lint): Macro removed.  The sunrpc code does some
2882         really stupid things #ifdef lint.
2883
2884         * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Fix
2885         struct member name: sc_eip -> eip.
2886
2887 Mon May 13 19:52:33 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2888
2889         * Makerules (stub-$(subdir)): Put cmds including cd inside (...) with
2890         output redirect outside it.
2891
2892         * elf/Makefile (subdir_lib): Depend on ld.so.
2893
2894 Sun May 12 22:52:22 1996  Bruce Elliott  <belliott@accessone.com>
2895
2896         * stdio-common/vfprintf.c: Correct handling of unsigned short
2897         values.
2898
2899 Mon May 13 12:03:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2900
2901         * extra-lib.mk (alltype-$(lib)): Put libs in $(objpfx) instead of
2902         $(common-objpfx).
2903         * Makerules [install-lib.a]: Find them there.
2904
2905         * sysdeps/unix/sysv/linux/i386/profil-counter.h: New file.
2906
2907         * extra-lib.mk: Skip the hair if $(object-suffixes-$(lib)) is empty.
2908
2909         * posix/glob.h [_AMIGA]: Remove `struct stat;' forward decl.
2910
2911         * configure.in (--with-fp): Note in help string that it's the default.
2912
2913         * locale/programs/ld-ctype.c (struct locale_ctype_t): Use u_int32_t
2914         instead of unsigned int for map_collection_max and map_collection_act.
2915
2916         * stdio-common/vfprintf.c [USE_IN_LIBIO] (flockfile, funlockfile):
2917         Macros removed; they are in <stdio.h>.
2918         * stdio-common/vfscanf.c: Likewise.
2919
2920         * posix/glob.c [_AMIGA]: Don't include <pwd.h>.
2921         (glob): Remove bogus & in call to globfree.
2922         [_AMIGA]: Use AmigaDOS file name conventions.
2923
2924         * time/Makefile (zonenames): Target removed.
2925         (extra-objs): Remove it from here.
2926         Include the z.* files directly instead of including zonenames; use
2927         `-include' to not complain before they exist.
2928
2929         * sysdeps/unix/Makefile: Find sysd-syscalls and s-proto.d with
2930         $(common-objpfx) instead of $(objpfx).
2931
2932         * sysdeps/unix/bsd/telldir.c (seekdir, telldir): Use new struct member
2933         names without __.
2934
2935         * Makerules [install-lib-non.a]: Find these things with $(objpfx)
2936         instead of $(common-objpfx).
2937
2938         * Makeconfig (sysdep-configures): New variable.
2939         (config.status): Depend on $(sysdep-configures).
2940
2941 Fri May 10 20:07:52 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2942
2943         * sysdeps/unix/sysv/linux/profil.c: New file.
2944
2945 Fri May 10 19:59:50 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2946
2947         * sysdeps/m68k/Makefile (CFLAGS-setjmp.c): New variable.
2948
2949 Fri May 10 19:55:42 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2950
2951         * shlib-versions: Use libm=6 and libc=6 for m68k-linux.
2952
2953 Sun May 12 11:16:58 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2954
2955         * string/envz.c: Fix uses of unsigned to size_t.
2956
2957         * Makerules ($(libdir)/libc.so): Make the file an ld script.
2958
2959         * sysdeps/mach/hurd/configure.in: Don't grok --with-hurd option.
2960
2961         * sysdeps/mach/configure.in: File removed.
2962         * sysdeps/mach/configure: File removed.
2963
2964         * mach/Machrules (%.udeps rule): Write deps for %_server.[ch] too.
2965         (%_server.[ch] rule): Don't depend on %.defs; use #include to get
2966         installed .defs file.
2967
2968         * stdio-common/vfprintf.c (flockfile, funlockfile): Define to
2969         nothing for stdio.  Fix fUNlockfile -> funlockfile for libio.
2970         * stdio-common/vfscanf.c: Likewise.
2971
2972 Sat May 11 13:43:41 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
2973
2974         * hurd/hurdfault.c: Include faultexc_server.h instead of faultexc.h.
2975
2976         * mach/Machrules (%.ir rule): Don't produce deps for imports.
2977
2978         * elf/dl-fini.c (_dl_fini): Clear L->l_init_called after calling fn.
2979
2980         * Makerules (install): Depend on $(slibdir)/libc.so$(libc.so-version).
2981         [!subdir] ($(libdir)/libc.so, $(common-objpfx)/libc-syms.so): Protect
2982         these targets and install dep on $(libdir)/libc.so with this.
2983
2984         * hurd/Makefile: Removed all rules and defns for using code from Hurd
2985         sources and installing headers from there.
2986
2987         * sysdeps/mach/hurd/errnos.awk: Set in_mach_errors to FILENAME when we
2988         set it.  In Mach error matching clause, only match if FILENAME is
2989         still the same value.
2990
2991         * sysdeps/mach/hurd/Makefile: Don't include sysdeps/mach/Makefile;
2992         $(mach-srcdir) no longer exists.
2993         (hurd-srcdir): Variable removed.
2994         (includes): Don't append -I$(hurd-srcdir).
2995         (last-includes): Variable removed.
2996         Remove vpath specs using $(hurd-srcdir).
2997         (mach-errno-h): New canned sequence.
2998         ($(common-objpfx)errnos.d): New target, generated included makefile
2999         to determine absolute file names of Mach headers to search for error
3000         codes and set variable mach-errnos-deps.
3001         ($(common-objpfx)stamp-errnos): Depend on $(mach-errnos-deps) instead
3002         of prior explicit list.
3003         (generated): Add errnos.d, stamp-errnos.
3004
3005         * mach/Machrules (some-if-rtn): New variable and target; compute deps
3006         of some if routine and make all if routines depend on that .d file
3007         instead of static list of .h files.
3008
3009         * mach/Makefile (mach/mach_interface.defs,
3010         mach/memory_object_user.defs): Targets removed.
3011         ($(objpfx)mach-syscalls.mk): Tweak this kludge so it doesn't depend
3012         directly on Mach sources.
3013
3014         * sysdeps/mach/Makefile (mach-srcdir): Variable removed.
3015         (includes): Don't append -I$(mach-srcdir).
3016         Remove vpath specs using $(mach-srcdir).
3017
3018         * hurd/Makefile (server-interfaces): Add faultexc.
3019         (sig): Remove it from here.
3020         (fault%.[ch]): Rule removed.
3021         (MIGFLAGS-faultexc): New variable.
3022
3023         * hurd/faultexc.defs: New file.
3024
3025         * mach/Machrules (%.ustamp rule): Pass $(MIGFLAGS-$*) to mig.
3026         (%_server.[ch] rule): Likewise.
3027
3028         * mach/Makefile: Removed all rules and defns for using code from Mach
3029         sources and installing headers from there.
3030
3031         * Makeconfig [$(build-shared)=yes] (link-libc): Append
3032         $(libc.so-version) to libc.so.
3033
3034 Fri May 10 18:36:14 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3035
3036         * mach/Machrules (%.ustamp rule): Don't depend on %.defs.
3037         (%.udeps): New rule parallel to that one, generating included
3038         makefiles with -M output from `#include <%.defs>'.
3039
3040         * Makerules (sed-remove-objpfx): Remove space before \ at eol.
3041
3042         * Makefile (distribute): Add FAQ.
3043         * FAQ: New file contributed by drepper.
3044
3045         * time/Makefile (headers): Add timebits.h.
3046         * sysdeps/unix/sysv/linux/timebits.h: New file.
3047         * sysdeps/stub/timebits.h: New file.
3048         * time/time.h (CLK_TCK): Define to CLOCKS_PER_SEC.
3049         (CLOCKS_PER_SEC): Remove this macro.  Instead #include <timebits.h>.
3050
3051 Fri May 10 16:22:44 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
3052
3053         * string/argz-create.c (__argz_create): Restore const keyword to
3054         ARGV parm.
3055         * string/argz.h (__argz_create, argz_create): Restore const
3056         keyword.
3057         * string/envz.c (envz_get): Don't declare ENTRY const.
3058
3059 Fri May 10 11:48:03 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3060
3061         * string/argz.h (argz_create): Fix param type.
3062         * string/argz-create.c (__argz_create): Remove const from param type.
3063         * string/envz.c (envz_get): Remove const from return type.
3064
3065 Fri May 10 09:41:54 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
3066
3067         * string/argz.h (__argz_create, argz_create): Omit const keyword
3068         from declaration of ARGV.
3069         * string/envz.h (envz_get): Omit const from declaration of return
3070         type.
3071
3072 Thu May  9 09:17:46 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3073
3074         * aclocal.m4 (AC_FD_MSG, AC_FD_CC): Fix these for autoconf weirdness.
3075
3076         Cleanups in sunrpc code from NIIBE Yutaka <gniibe@mri.co.jp>.
3077         * sunrpc/clnt_tcp.c (clnttcp_create): Don't close *SOCKP if it's -1.
3078         * sunrpc/clnt_simp.c (callrpc): Don't close CRP->socket if it's
3079         RPC_ANYSOCK.
3080         * sunrpc/pmap_clnt.c (pmap_set): Don't close SOCKET, since
3081         CLNT_DESTROY already has.
3082         (pmap_unset): Likewise.
3083         * sunrpc/pm_getmaps.c (pmap_getmaps): Likewise.
3084         * sunrpc/pm_getport.c (pmap_getport): Likewise.
3085         * sunrpc/pmap_rmt.c (pmap_rmtcall): Likewise.
3086         * sunrpc/portmap.c (callit): Likewise.
3087
3088         * Makerules (versioned): Strip whitespace.
3089
3090         * Rules (static-only-routines rule): Remove spurious space in dep.
3091
3092         * misc/getusershell.c: Undo changes of 7 May 96 (rev 1.6).
3093         Cast string constants to char *.
3094
3095         * posix/glob/SMakefile, posix/glob/SCOPTIONS, posix/glob/Makefile.ami:
3096         New files, AmigaDOS support from Aaron Digulla.
3097         * posix/Makefile (glob.tar): Add AmigaDOS support files.
3098
3099         * sysdeps/unix/sysv/linux/net/if.h: New file.
3100         * sysdeps/unix/sysv/linux/Dist: Add it.
3101         * sysdeps/unix/sysv/linux/Makefile [$(subdir)=socket] (headers): Add
3102         net/if.h.
3103
3104         * Makeconfig (link-libc): Add libc.a after libc.so in link.
3105
3106         * Rules (static-only-routines rule): Use empty.o instead of dummy.o.
3107         (empty.o): New target.
3108         (generated): Add empty.c, empty.o.
3109
3110         * resolv: Code updated from BIND-4.9.3P2C3.
3111
3112         * Rules (static-only-routines rule): Use dummy.o, not dummy.so.
3113
3114 Wed May  8 20:04:29 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3115
3116         * extract-dynsym: New file.
3117         * Makefile (distribute): Add it.
3118         * Rules (subdir_install): Depend on $(common-objpfx)sor-$(subdir).
3119         [! libc.so-version]: Clear static-only-routines.
3120         ($(common-objpfx)sor-$(subdir)): New target.
3121         [static-only-routines]: New static pattern rule for these .so's.
3122         * Makerules [libc.so-version] ($(slibdir)/libc.so): Target removed.
3123         [libc.so-version] ($(libdir)/libc.so, $(common-objpfx)libc-syms.so):
3124         New targets replace it.
3125         (install) [libc.so-version]: Depend on $(libdir)/libc.so instead of
3126         $(slibdir)/libc.so.
3127         * io/Makefile (static-only-routines): New variable.
3128         * configure.in: Check for tools objdump and objcopy, and for awk.
3129         * config.make.in (OBJDUMP, OBJCOPY, AWK): New variables.
3130
3131 Thu May  9 01:24:00 1996  Ulrich Drepper  <drepper@cygnus.com>
3132
3133         * locale/programs/config.h: Remove definition of wint_t.
3134
3135         * locale/programs/ld-collate.c: Include <wchar.h> instead of
3136         <wcstr.h>.
3137
3138         * manual/time.texi: Add some more description for %U and %W
3139         format of strftime.  Describe new format %V of strftime.
3140
3141         * resolv/gethnamaddr.c: Prevent warning by preventing variable
3142         definition.
3143         * stdio-common/_itoa.c: Ditto.
3144
3145 Tue May  7 23:43:07 1996  Ulrich Drepper  <drepper@cygnus.com>
3146
3147         * libio/clearerr.c, libio/feof.c, libio/ferror.c, libio/fgetc.c,
3148         libio/fileno.c, libio/fputc.c, libio/freopen.c, libio/fseek.c,
3149         libio/genops.c, libio/getc.c, libio/getchar.c, libio/iofclose.c,
3150         libio/iofflush.c, libio/iofgetpos.c, libio/iofgets.c,
3151         libio/iofputs.c, libio/iofread.c, libio/iofsetpos.c,
3152         libio/ioftell.c, libio/iofwrite.c, libio/iogetdelim.c,
3153         libio/iogets.c, libio/ioputs.c, libio/iosetbuffer.c,
3154         libio/iosetvbuf.c, libio/ioungetc.c, libio/iovsprintf.c,
3155         libio/libio.h, libio/putc.c, libio/putchar.c, libio/rewind.c,
3156         libio/stdio.h, stdio-common/printf_fp.c, stdio-common/vfprintf.c,
3157         stdio-common/vfscanf.c: Prepare for reentrant libio.
3158
3159         * libio/clearerr_u.c, libio/feof_u.c, libio/ferror_u.c,
3160         libio/fputc_u.c, libio/getc_u.c, libio/getchar_u.c,
3161         libio/iofflush_u.c, libio/putc_u.c, libio/putchar_u.c: New files.
3162         Used in reentrant libio.
3163
3164         * misc/getusershell.c: Prevent warnings.
3165
3166 Wed May  8 12:08:35 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3167
3168         * Makerules (install-lib.so rules): Undouble $s in target and dep
3169         parts of o-iterator-doit defns.
3170         (unversioned libraries install rule): Fix pattern.
3171
3172         * mach/Makefile (mach-src-headers): Use $(base-machine) instead of
3173         $(config-machine).
3174         ($(includedir)/machine): Likewise.
3175
3176         * config.make.in (base-machine): New variable.
3177         * configure.in (machine): Move case stmt to set $machine out of sysdep
3178         dirs AC_CACHE_CHECK.
3179         (base_machine): New variable, set in that switch and AC_SUBST'd.
3180
3181         * Makerules (stub-$(subdir)): Use file name in directory as output,
3182         since cmd is cd'd.
3183
3184         * configure.in (MSGFMT): Use : if none found.
3185
3186         * po/Makefile: Include ../Rules instead of ../Makerules.
3187
3188 Tue May  7 23:18:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3189
3190         * po/Makefile: New file.
3191         * Makefile (subdirs): Add po.
3192
3193         * configure.in: Check for msgfmt.
3194         * config.make.in (MSGFMT): New variable.
3195
3196 Sun May  5 23:49:10 1996  Ulrich Drepper  <drepper@cygnus.com>
3197
3198         * misc/Makefile (routines): Add swapoff.
3199
3200         * sysdeps/unix/sysv/linux/Dist: Add sys/quota.h.
3201
3202         * sysdeps/unix/sysv/linux/sys/quota.h: New file.  Wrapper around
3203         kernel header file.
3204
3205 Tue May  7 19:00:01 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3206
3207         * string/argz-extract.c: Remove const from decl.
3208         * string/argz.h: Here too.
3209
3210         * Makeconfig (version.mk): Fix regexp in sed cmd.
3211         Depend on $(..)Makeconfig.
3212
3213         * GMP code updated from gmp-2.0 release.
3214         * stdlib/Makefile (mpn-routines): Removed add_1, added inlines.
3215         * sysdeps/generic/add_1.c: File removed.
3216         * stdlib/strtod.c: mp_limb is now mp_limb_t.
3217         * stdlib/fpioconst.c, stdlib/fpioconst.h: Likewise.
3218         * stdio-common/_itoa.c: Likewise.
3219         * stdio-common/printf_fp.c: Likewise.
3220         Don't include ansidecl.h.
3221
3222         * sysdeps/mach/hurd/getcwd.c: Use io_identity instead of io_stat.
3223
3224         * shlib-versions: New file.
3225         * Makerules (soversions.mk): New target, include file generated from
3226         shlib-versions.  Moved shared library rules before installation rules.
3227         Rewrote shared library installation rules for versioned libraries.
3228         * math/Makefile (libm.so-version): Variable removed.
3229
3230         * sysdeps/mach/hurd/i386/exc2signal.c: Use struct hurd_signal_detail.
3231
3232         * hurd/report-wait.c (_S_msg_describe_ports): New function.
3233
3234         * configure.in: Add AC_PROG_LN_S check.
3235         * config.make.in (LN_S): New variable.
3236
3237 Sun May  5 03:10:44 1996  Ulrich Drepper  <drepper@cygnus.com>
3238
3239         * misc/efgcvt_r.c (ecvt_r): Work aroung gcc bug.  gcc does
3240         not know about weak aliases now and optimizes necessary `if'
3241         statement away.
3242
3243         * posix/unistd.h: Add swapoff prototype.
3244
3245         * sysdeps/generic/confname.h: Add even more POSIX.4 symbols.
3246
3247         * sysdeps/posix/fpathconf.c (__fpathconf): Get information
3248         for _PC_PATH_MAX from fstatfs function if available.
3249
3250         * sysdeps/posix/sysconf.c: Add code to handle _SC_AIO_LISTIO_MAX,
3251         _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX,
3252         _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_RTSIG_MAX,
3253         _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, and
3254         _SC_TIMER_MAX.
3255         * sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.
3256
3257         * sysdeps/stub/swapoff.c: New file.  Stub version for swapoff
3258         function.
3259
3260         * sysdeps/unix/syscalls.list:  Add swapoff.
3261
3262         * sysdeps/unix/sysv/linux/Dist: Add sys/acct.h.
3263
3264         * sysdeps/unix/sysv/linux/Makefile [$(subdir) == misc]
3265         (sysdep_routines): Add mount, umount, llseek, setfsgid, setfsuid,
3266         sysinfo, and uselib.
3267         (headers): Add sys/sysinfo.h.
3268
3269         * sysdeps/unix/sysv/linux/gethostid.c: Prevent warning.
3270
3271         * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == misc]
3272         (sysdep_routines): Add ioperm, iopl, and vm86.
3273         (headers): Add sys/perm.h and sys/vm86.h.
3274
3275         * sysdeps/unix/sysv/linux/i386/sys/perm.h: New file.  Contains
3276         prototypes for iopl and ioperm.
3277
3278         * sysdeps/unix/sysv/linux/i386/sys/vm86.h:  New file.  Contains
3279         prototype for vm86.
3280
3281         * sysdeps/unix/sysv/linux/i386/syscalls.list: New file.  Add
3282         vm86 system call.
3283
3284         * sysdeps/unix/sysv/linux/sys/acct.h: New file.  Contains
3285         prototypes for acct function.
3286
3287         * sysdeps/unix/sysv/linux/sys/socket.h: Provide real header
3288         file with prototypes.
3289
3290         * sysdeps/unix/sysv/linux/sys/sysinfo.h: New file.  Contains
3291         prototype for sysinfo function.
3292
3293         * sysdeps/unix/sysv/linux/syscalls.list: Add flock, ioperm, iopl,
3294         llseek, setfsgid, setfsuid, sysinfo, and uselib.
3295
3296         * sysdeps/unix/sysv/linux/sysconf.c: Instead of duplicating
3297         posix/sysconf.c now only handle cases different to that
3298         implementation.
3299
3300 Tue May  7 15:08:19 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3301
3302         * stdio/linewrap.c (__line_wrap_output): Renamed from lwoutput
3303         (all references changed).  Now exported.
3304
3305         * stdio/linewrap.c (struct data): Type deleted (moved to linewrap.h).
3306         (wrap_stream, unwrap_stream, lwclose, lwfileno, lwoutput,
3307         line_wrap_stream, line_unwrap_stream): Use struct line_wrap_data
3308         instead of struct data.
3309         (lwoutput, line_wrap_stream, line_unwrap_stream): Rename various
3310         occurences of `wrap' and `wrapmargin' to `wmargin'.
3311         (line_wrapped, line_wrap_lmargin, line_wrap_set_lmargin,
3312         line_wrap_rmargin, line_wrap_set_rmargin, line_wrap_wmargin,
3313         line_wrap_set_wmargin, line_wrap_point): New functions.
3314         * stdio/linewrap.h: New file.
3315         * stdio/Makefile (headers): Add linewrap.h.
3316
3317 Tue May  7 14:19:12 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3318
3319         * sysdeps/unix/sysv/linux/i386/Makefile: File removed.
3320
3321         * stdio/stdio.h: Remove line_wrap_stream, line_unwap_stream decls.
3322
3323         * sysdeps/unix/sysv/linux/schedbits.h: New file.
3324
3325 Tue May  7 13:47:02 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3326
3327         * stdio/linewrap.c (struct data): Make margin fields not-pointers.
3328         (lwoutput): Adjust uses acordingly.
3329
3330 Tue May  7 10:51:52 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3331
3332         * sysdeps/mach/hurd/fdatasync.c: New file.
3333         * sysdeps/mach/hurd/fsync.c: Pass new flag to file_sync.
3334
3335         * sysdeps/mach/hurd/xmknod.c: Pass new flag to dir_link.
3336         * sysdeps/mach/hurd/symlink.c: Likewise.
3337         * sysdeps/mach/hurd/link.c: Likewise.
3338         * sysdeps/mach/hurd/bind.c: Likewise.
3339         * hurd/hurdsig.c (write_corefile): Likewise.
3340
3341         * hurd/hurdsig.c (write_corefile): Pass cttyid port to crash server.
3342
3343         * sysdeps/mach/hurd/fpathconf.c: RPC takes int pointer, not long int.
3344
3345         * sysdeps/mach/hurd/_exit.c (_hurd_exit): Pass sigcode arg to
3346         proc_mark_exit.
3347         * sysdeps/mach/hurd/dl-sysdep.c (_exit): Likewise.
3348
3349         * sysdeps/mach/hurd/wait4.c: Pass sigcode arg to proc_wait.
3350
3351         * sysdeps/mach/hurd/rename.c: Pass new flag to dir_rename.
3352
3353         * hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise): Use struct
3354         hurd_signal_detail.
3355         * hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
3356         * hurd/hurd-raise.c (_hurd_raise_signal): Likewise.
3357         * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
3358         Likewise.
3359         * sysdeps/mach/hurd/setitimer.c (restart_itimer): Likewise.
3360
3361         * hurd/hurd/signal.h: Fix _hurd_exception2signal prototype.
3362
3363         * hurd/hurdsig.c (write_corefile): Take const struct
3364         hurd_signal_detail * arg.  Pass all details to crash_dump_task.
3365         (_hurd_internal_post_signal): Pass DETAIL to write_corefile.
3366         (_hurd_internal_post_signal: suspend): Pass code and error to
3367         proc_mark_stop.
3368
3369         * hurd/hurdprio.c (_hurd_priority_which_map): Pass flags arg to
3370         proc_getprocinfo by reference.
3371
3372         * wcsmbs/wcwidth.c, wcsmbs/wcswidth.c: Fixed typos.
3373
3374         * sysdeps/unix/sysv/linux/sys/mman.h: Fixed typo.
3375
3376         * sysdeps/stub/sched_getp.c: Add missing #include <sys/types.h>.
3377         * sysdeps/stub/sched_sets.c: Likewise.
3378         * sysdeps/stub/sched_setp.c: Likewise.
3379         * sysdeps/stub/sched_rr_gi.c: Likewise.
3380         * sysdeps/stub/sched_gets.c: Likewise.
3381
3382         * hurd/hurdsig.c: Use struct hurd_signal_detail.
3383         * hurd/hurd/fd.h (_hurd_fd_error): Likewise.
3384         * sysdeps/mach/hurd/sysd-stdio.c (fd_fail): Likewise.
3385
3386 Mon May  6 09:51:05 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3387
3388         * stdio/linewrap.c: New file.
3389         * stdio/Makefile (routines): Add linewrap.
3390         * stdio/stdio.h [__USE_GNU]: Declare line_wrap_stream,
3391         line_unwrap_stream.
3392
3393 Mon May  6 14:53:26 1996  Ulrich Drepper  <drepper@cygnus.com>
3394
3395         * time/strftime.c (week): Add third parameter telling how
3396         many days must be in new year so that it is called week 1.
3397         (Following ISO 8601).
3398         Correct computation for %U and %V formats when day was first
3399         day of the week.
3400         (strftime): Implement %V format according to Spec1170.
3401
3402 Mon May  6 17:01:09 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
3403
3404         * hurd/hurd/signal.h (_hurd_intr_rpc_mach_msg): New declaration.
3405
3406 Sat May  4 05:44:25 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3407
3408         * hurd/hurd/sigpreempt.h (struct hurd_signal_preempter): Change
3409         prototype of `preempter' elt to use struct hurd_signal_detail.
3410
3411         * hurd/hurd/signal.h (struct hurd_signal_detail): New type.
3412         (struct hurd_sigstate): Make `pending_data' member an array of that.
3413         Use the new type in several decls.
3414
3415         * locale/setlocale.c (_nl_C_name): Variable removed.
3416         * locale/C_name.c: New file.
3417         (_nl_C_name): Put it here instead.
3418         * locale/Makefile (aux): Add C_name.
3419
3420         * sysdeps/mach/hurd/dl-sysdep.c (open): Don't pass io port in
3421         auth_user_authenticate rpc.
3422         (open): Avoid using strtol in digit conversion for "fd/N" magic.
3423         (_dl_sysdep_start): Likewise for memobj name in magic switches.
3424
3425         * elf/Makefile (reloc-link): New variable.
3426         (dl-allobjs.so): New target, link together $(rtld-routines).
3427         (librtld.so): Depend on that instead of the rtld components.
3428         (generated): Add dl-allobjs.so.
3429
3430         * hurd/hurd-raise.c (_hurd_raise_signal): Pass sigcode in msg_sig_post
3431         rpc.
3432
3433         * hurd/hurdmsg.c (_S_msg_set_environment): Use argz.h functions
3434         instead of _hurd_split_args.
3435         (_S_msg_*_exec_flags): Functions removed.
3436         (_S_msg_startup_dosync): Stub removed.
3437
3438 Sat May  4 02:11:55 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3439
3440         * sysdeps/mach/hurd/ptrace.c: Set _hurdsig_traced instead of
3441         EXEC_TRACED bit in _hurd_exec_flags.
3442         Pass sigcode arg in msg_sig_post_untraced rpc.
3443
3444         * sysdeps/mach/hurd/access.c: Don't pass io port in
3445         auth_user_authenticate rpc.
3446
3447         * posix/sched.h: Fix typos.
3448
3449         * sysdeps/mach/hurd/fork.c: Use new critical section lock.
3450         Clear _hurdsig_traced instead of EXEC_TRACED.
3451
3452         * sysdeps/stub/nanosleep.c (nanosleep): Fix typo.
3453
3454         * wcsmbs/wcstol.c: Find strtol.c in ../stdlib.
3455         * wcsmbs/wcstof.c: Find strtod.c in ../stdlib.
3456         * wcsmbs/wcstod.c: Likewise.
3457         * wcsmbs/wcstold.c: Likewise.
3458
3459         * wcsmbs/wcwidth.h: Find cname-lookup.h in ../wctype.
3460
3461         * string/envz.c (envz_entry): Use const.
3462         (envz_get, envz_remove): Likewise.
3463         (envz_entry): Return char *, not const char *.
3464
3465         * string/envz.h: Fix decl.
3466
3467         * string/argz-create.c: Use const in prototype.
3468         * string/argz-next.c: Likewise.
3469
3470 Fri May  3 13:32:08 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3471
3472         * sysdeps/mach/hurd/sigprocmask.c: Pass sigcode arg to msg_sig_post.
3473         * sysdeps/mach/hurd/i386/sigreturn.c: Likewise.
3474         * sysdeps/mach/hurd/sigsuspend.c: Likewise.
3475         * sysdeps/mach/hurd/kill.c: Likewise.
3476
3477         * hurd/hurdexec.c (_hurd_exec): Use new critical section lock.
3478         * hurd/catch-exc.c (_S_catch_exception_raise): Likewise.
3479         * hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Likewise.
3480         * hurd/thread-cancel.c (hurd_thread_cancel, hurd_check_cancel):
3481         Likewise.
3482         * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise.
3483         * sysdeps/mach/hurd/sigaction.c: Likewise.
3484
3485         * sysdeps/mach/hurd/errnos.awk: Don't use ARGV in comment; it can
3486         change meaninglessly.
3487
3488         * hurd/hurd/signal.h (struct hurd_sigstate): Replace critical section
3489         flag with a spin lock.
3490         (_hurd_critical_section_lock): Use spin_try_lock on that to see if we
3491         get it.  No need to take SS->lock at all.
3492         (_hurd_critical_section_unlock): Unlock SS->critical_section_lock
3493         instead of clearing the old flag member.
3494         * hurd/hurdsig.c (_hurd_internal_post_signal): Use spin_lock_locked to
3495         test the critical section state.
3496
3497         * hurd/hurdinit.c (_hurd_init): Set _hurdsig_traced from the intarray.
3498
3499         * hurd/hurdkill.c (_hurd_sig_post): Pass 0 sigcode in msg_sig_post.
3500
3501         * hurd/hurdsig.c (_hurd_internal_post_signal): Test _hurdsig_traced
3502         instead of testing (_hurd_exec_flags & EXEC_TRACED).
3503         (_S_msg_sig_post): Take sigcode arg and pass it through.
3504         (_S_msg_sig_post_untraced): Likewise.
3505         (reauth_proc): Don't pass proc port in auth_user_authenticate.
3506
3507         * hurd/setauth.c (_hurd_setauth): Don't pass object ports in
3508         auth_user_authenticate RPCs, just the one-off rendezvous port.
3509         * hurd/dtable.c (reauth_dtable): Likewise.
3510         * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Likewise.
3511
3512         * hurd/hurdexec.c (_hurd_exec): Pass 0 flags to file_exec.
3513         Pass sigcode arg to msg_sig_post.
3514
3515         * string/argz.h (argz_create): Use const in prototype.
3516
3517         * hurd/hurdinit.c (_hurd_proc_init): Test _hurdsig_traced instead of
3518         testing (_hurd_exec_flags & EXEC_TRACED).
3519         Pass sigcode arg to msg_sig_post.
3520
3521         * hurd/hurd.h: Declare _hurdsig_traced.
3522
3523         * string/argz.h (__argz_next): Cast ENTRY before returning it.
3524
3525         * hurd/hurd/signal.h (_hurd_critical_section_unlock): Pass sigcode arg
3526         to msg_sig_post.
3527
3528         * hurd/path-lookup.c: New file.
3529         * hurd/Makefile (routines): Add path-lookup.
3530         * hurd/hurd/lookup.h: Declare file_name_path_scan,
3531         hurd_file_name_path_lookup.
3532         * hurd/hurd.h: Declare file_name_path_lookup.
3533
3534         * sysdeps/mach/hurd/select.c: The io_select rpc no longer has a TAG_ID
3535         argument.  Instead, use a separate reply port for each RPC and put them
3536         all in a port set to wait for slow replies.
3537
3538         * intl/Makefile (CPPFLAGS): Change $(nlsdir) to $(i18ndir) in
3539         LOCALE_ALIAS_PATH.
3540
3541 Fri May  3 03:14:02 1996  Ulrich Drepper  <drepper@cygnus.com>
3542
3543         * intl/Makefile (routines): Add l10nflist and explodename.
3544         (distribute): Add loadinfo.h and locale.alias.
3545         (install-others): New variable to install locale.alias.
3546
3547         * intl/dcgettext.c, intl/finddomain.c, intl/gettextP.h,
3548         intl/loadmsgcat.c: Adapt for upcoming gettext-0.10.13.  Some code
3549         is now shared with the locale implementation.
3550
3551         * intl/explodename.c, intl/l10nflist.c, intl/loadinfo.h: New file.
3552         Extracted from finddomain.c.  This is also used in the locale
3553         implementation.
3554
3555         * intl/locale.alias: New file.  Locale alias database compatible
3556         with X Window System's locale alias file.  Can now be used in
3557         locale and gettext code.
3558
3559         * libio/stdio.h: Add prototypes for asprint and vasprintf.
3560
3561         * locale/C-collate.c, locale/C-ctype.c, locale/C-messages.c,
3562         locale/C-monetary.c, locale/C-numeric.c, locale/C-time.c: Add new
3563         field in structure with name of locale ("C" in this case).
3564
3565         * locale/Makefile (routines): Add findlocale.
3566
3567         * locale/findlocale.c: New file.  Instead of trying to load the
3568         directly described file we now try to be much smarter when this
3569         fails.  Use the same code as gettext does.
3570
3571         * locale/loadlocale.c, locale/setlocale.c: Rewrite to know about
3572         new loading scheme.
3573
3574         * locale/localeinfo.h: Adapt prototypes and declarations for new
3575         setlocale implementation.  Remove definition of u32_t type.  We
3576         now use u_int32_t from <sys/types.h>.
3577
3578         * locale/programs/charset.h (ILLEGAL_CHAR_VALUE): Provide type
3579         with constant.
3580
3581         * locale/programs/config.h, locale/lc-collate.c,
3582         locale/localeinfo.h, locale/programs/ld-collate.c,
3583         locale/programs/ld-ctype.c, locale/programs/ld-messages.c,
3584         locale/programs/ld-monetary.c, locale/programs/ld-numeric.c,
3585         locale/programs/ld-time.c, locale/weight.h, string/strcoll.c:
3586         Change to use u_int32_t and u_int16_t.
3587
3588         * locale/programs/localedef.c (construct_output_path): Change name
3589         of output locale to contain normalized form of the character set
3590         portion.
3591
3592         * string/Makefile (routines): Add agrz-ctsep and argz-next.
3593         (tests): Add tst-strlen.
3594
3595         * string/argz-ctsep.c: New file.  Implement reverse operation
3596         from argz-stringify.
3597
3598         * string/argz-next.c: Non-inline version of function from argz.h.
3599
3600         * string/argz.h, string/envz.h: Make usable as global header file.
3601
3602         * string/envz.c: Fix declarations to use size_t where prototypes
3603         say so.
3604
3605         * string/tst-strlen.c: New file.  Another test for critical
3606         situation in strlen implementations.
3607
3608         * sysdeps/i386/i586/strlen.S: Fix bug with highest byte in word
3609         being zero.
3610
3611         * wctype/test_wctype.c: Fix controlling comparison after change to
3612         32 bit character class array.
3613
3614 Fri May  3 12:53:12 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3615
3616         * sysdeps/unix/sysv/linux/sys/socket.h: Remove spurious doubled line.
3617
3618 Thu May  2 22:50:52 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3619
3620         * sysdeps/unix/sysv/linux/getpriority.c: New file.
3621         * sysdeps/unix/sysv/linux/syscalls.list: Add s_getpriority.
3622
3623 Thu May  2 22:41:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3624
3625         * sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_DEFAULT):
3626         Disable all exceptions.
3627
3628 Thu May  2 22:33:14 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3629
3630         * sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_acosf.c,
3631         sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/e_fmodf.c,
3632         sysdeps/m68k/fpu/isinfl.c, sysdeps/m68k/fpu/isnanl.c,
3633         sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_atanf.c,
3634         sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_frexpf.c,
3635         sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_ilogbf.c,
3636         sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_isinff.c,
3637         sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_ldexpf.c,
3638         sysdeps/m68k/fpu/s_modf.c, sysdeps/m68k/fpu/s_modff.c: Don't
3639         define __NO_MATH_INLINES, which is already defined on command
3640         line.
3641
3642 Thu May  2 22:18:28 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3643
3644         * sysdeps/libm-ieee754/e_j0f.c (__ieee754_j0f, __ieee754_y0f):
3645         Replace 0x80000000 by 0x48000000.
3646         * sysdeps/libm-ieee754/e_j1f.c (__ieee754_j1f): Likewise.
3647
3648 Thu May  2 21:30:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3649
3650         * sunrpc/svc_simple.c: Make global variable pl local to
3651         registerrpc.
3652
3653 Thu May  2 00:24:04 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3654
3655         * time/Makefile (tz-cflags): New variable.
3656         (CFLAGS-tzfile.c): New variable.
3657         (CFLAGS-zic.c): Add $(tz-cflags).
3658         (tz-cc): Remove variable.
3659         ($(objpfx)tzfile.o, $(objpfx)zic.o): Remove targets.
3660
3661 Wed May  1 09:10:04 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3662
3663         * sysdeps/mach/hurd/getcwd.c: Jump out of both loops when we find a
3664         name, instead of checking for reaching end of buffer, which happens
3665         when the match is the last entry in the buffer.
3666
3667         * time/strftime.c: Use canonical autoconf nugget for time.h+sys/time.h
3668         include.
3669
3670 Mon Apr 29 02:48:26 1996  Ulrich Drepper  <drepper@cygnus.com>
3671
3672         * ctype/ctype-info.c: (__ctype_width): New variable.
3673         (__ctype_names): Initialize correctly without offset.
3674
3675         * locale/C-collate.c, locale/C-ctype.c,
3676         locale/C-messages.c, locale/C-monetary.c,
3677         locale/C-numeric.c, locale/C-time.c: Change copyright.
3678
3679         * locale/C-ctype.c (_nl_C_LC_CTYPE_class32): Correct
3680         endianess for initialization value.
3681
3682         * locale/lc-ctype.c (current): Add parameter for offset.
3683         (__ctype32_b, __ctype_width): Add initialization for these
3684         variables.
3685
3686         * locale/programs/charmap.c: Finish support for WIDTH information.
3687         (new_width): New function.
3688
3689         * locale/programs/charset.h (width_rule): new data structure.
3690         (charset_t): Add elements for width information.
3691
3692         * locale/programs/ld-ctype.c (locale_ctype_t): Add element
3693         for width information.
3694         (allocate_arrays): Add new argument for charset.
3695         (ctype_finish): Make sure all characters named in charset
3696         width table are known to name table.
3697         (ctype_output): Correct handling of class and map name
3698         information and write out width information.
3699         (find_idx): Prepare for being called with NULL pointer as
3700         TABLE argument.  This means only allocate name entry.
3701         (allocate_arrays): Correct handling of array element -1.
3702         Because EOF == -1 the value of element 127 must *not* be
3703         mirrored here.
3704         Fill width information from charset tables.
3705
3706         * locale/programs/localedef.c (main): Correct loop over all
3707         categories after change of order from Thu Mar 28 14:22:51 1996.
3708         Add new charset argument to call of `write_all_categories'.
3709
3710         * locale/programs/locales.h (ctype_finish, ctype_output): New
3711         charset argument.
3712
3713         * locale/programs/locfile.c (write_all_categories): Call
3714         `ctype_output' with additional argument charset.
3715
3716         * posix/getconf.c (vars): Add _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
3717         and _POSIX_PRIO_IO definitions.
3718
3719         * posix/posix2_lim.h: Add definition of _POSIX2_CHARCLASS_NAME_MAX
3720         and CHARCLASS_NAME_MAX.
3721
3722         * posix/unistd.h: Document _POSIX_SYNC_IO, _POSIX_ASYNC_IO,
3723         and _POSIX_PRIO_IO.
3724
3725         * stdlib/grouping.h: Prepare for use in wide string functions.
3726
3727         * stdlib/stdlib.h: Correct prototypes for __strto*_internal
3728         functions.
3729
3730         * stdlib/strtod.c: Extend for use as `wcsto{f,d,ld}'.
3731
3732         * stdlib/strtol.c: Extend for use as `wcsto{l,ul,q,uq}'.
3733
3734         * string/strcoll.c: Extend for use as `wcscoll'.
3735
3736         * string/strxfrm.c: Extend for use as `wcsxfrm'.
3737
3738         * sysdeps/generic/confname.h: Add definition of _PC_SYNC_IO,
3739         _PC_ASYNC_IO, _PC_PRIO_IO and _SC_CHARCLASS_NAME_MAX.
3740
3741         * sysdeps/generic/stpncpy.c: Correct return value.
3742
3743         * sysdeps/posix/fpathconf.c: Add handling of _PC_SYNC_IO,
3744         _PC_ASYNC_IO, and _PC_PRIO_IO.
3745
3746         * sysdeps/posix/sysconf.c: Add handling of _SC_REALTIME_SIGNALS,
3747         _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
3748         _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC,
3749         _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
3750         _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES,
3751         _SC_SHARED_MEMORY_OBJECTS, and _SC_CHARCLASS_NAME_MAX.
3752         * sysdeps/stub/sysconf.c: Ditto.
3753         * sysdeps/unix/sysv/sysv4/sysconf.c: Ditto.
3754
3755         * sysdeps/unix/sysv/linux/Dist: Add sys/sysctl.h.
3756
3757         * sysdeps/unix/sysv/linux/Makefile [subdir == misc]
3758         (sysdep_routines): Add s_sysctl and sysctl.
3759
3760         * sysdeps/unix/sysv/linux/sys/mman.h: Add declaration of mremap.
3761
3762         * sysdeps/unix/sysv/linux/sys/socket.h: New file.  Wrapper
3763         around kernel header.
3764
3765         * sysdeps/unix/sysv/linux/sys/sysctl.h: New file.  Define
3766         interface to `sysctl' function.
3767
3768         * sysdeps/unix/sysv/linux/syscalls.list: Add mremap and _sysctl.
3769
3770         * sysdeps/unix/sysv/linux/sysconf.c: Add handling of
3771         _SC_CHARCLASS_NAME_MAX.
3772
3773         * sysdeps/unix/sysv/linux/sysctl.c: new file.  Implement caller
3774         of _sysctl system call.
3775
3776         * sysvipc/Makefile (routines): Add ftok.
3777
3778         * sysvipc/ftok.c: use variable `proj_id' not `id'.  Patch by
3779         David Mosberger-Tang.
3780
3781         * wcsmbs/Makefile (routines): Add wcpcpy, wcpncpy, wcstol,
3782         wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
3783         wcsxfrm, wcwidth, and wcswidth.
3784
3785         * wcsmbs/wchar.h: Add declarations for wcpcpy, wcpncpy, wcstol,
3786         wcstoul, wcstoq, wcstouq, wcstod, wcstold, wcstof, wcscoll,
3787         wcsxfrm, wcwidth, and wcswidth.
3788         Declare internal interfaces for wcsto* functions.
3789         [OPTIMIZE]: Define inline functions for wcsto* functions to
3790         call internal interface functions.
3791
3792         * wcsmbs/wcpcpy.c, wcsmbs/wcpncpy.c: New files.  Implement non-
3793         standard function equivalent to stpcpy/stpncpy.
3794
3795         * wcsmbs/wcscoll.c: Implement `wcscoll' function by using
3796         `strcoll' implementation.
3797
3798         * wcsmbs/wcscpy.c, wcsmbs/wcsncpy.c: Use wint_t instead of
3799         wchar_t.
3800
3801         * wcsmbs/wcstod.c: Implement `wcstod' function by using `strtod'
3802         implementation.
3803         * wcsmbs/wcstof.c: Same for `wcstof'.
3804         * wcsmbs/wcstold.c: Same for `strtold'.
3805
3806         * wcsmbs/wcstol.c: Implement `wcstol' function by using `strtol'
3807         implementation.
3808         * wcsmbs/wcstoq.c: Same for `wcstoq'.
3809         * wcsmbs/wcstoul.c: Same for `wcstoul'.
3810         * wcsmbs/wcstouq.c: Same for `wcstouq'.
3811
3812         * wcsmbs/wcswidth.c: Implement `wcswidth' function from X/Open
3813         CAE.
3814         * wcsmbs/wcwidth.c: Ditto for `wcwidth'.
3815         * wcsmbs/wcwidth.h: Common function for definitions of above two
3816         functions.
3817
3818         * wcsmbs/wcsxfrm.c: Implement `wcsxfrm function by using
3819         `strxfrm implementation.
3820
3821         * wctype/wctype.c: Remove case for `wctype_t' being 16 bit type.
3822
3823         * wctype/wctype.h (wint_t): Protect against multiple definition.
3824         (wctype_t): Always define as `unsigned long int'.
3825
3826         * wctype.h: New file.  Wrapper around wctype/wctype.h.
3827
3828 Tue Apr 30 17:30:46 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3829
3830         * hurd/hurdsig.c (_hurdsig_abort_rpcs): Add timeout argument to
3831         interrupt_operation call.
3832         (_hurdsig_interrupt_timeout): New variable.
3833
3834         * hurd/report-wait.c (describe_number): Correctly allocate space
3835         in DESCRIPTION for the digits in I.
3836
3837 Mon Apr 29 00:11:59 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3838
3839         * hurd/hurdstartup.c (_hurd_split_args): Function removed.
3840         (_hurd_startup): Use argz functions.
3841
3842         * hurd/hurdexec.c: Use argz functions.
3843
3844         * errno.h [!__error_t_defined] (error_t): New type.
3845         * sysdeps/mach/hurd/errnos.awk: #define __error_t_defined after the
3846         typedef in errnos.h.
3847
3848         * string/envz.c, string/envz.h: New files.
3849         * string/argz.h, string/argz-append.c, string/argz-count.c,
3850         string/argz-create.c, string/argz-delete.c, string/argz-extract.c,
3851         string/argz-insert.c, string/argz-stringify.c: New files.
3852         * string/Makefile (routines): Add envz, argz-*.
3853         (headers): Add argz.h, envz.h.
3854
3855 Sun Apr 28 14:14:35 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3856
3857         * sysdeps/unix/sysv/linux/i386/Makefile: New file.
3858
3859 Wed Apr 24 17:35:30  Ulrich Drepper  <drepper@cygnus.com>
3860
3861         * inet/netinet/in.h, socket/sys/socket.h: Move to
3862         sysdeps/generic/netinet/in.h, sysdeps/generic/sys/socket.h.
3863         * netinet/in.h, sys/socket.h: Remove file.
3864
3865         * misc/Makefile (routines): Add fdatasync.
3866
3867         * posix/Makefile (headers): Add sched.h.
3868         (routines): Add nanosleep, sched_setp, sched_getp, sched_sets,
3869         sched_gets, sched_yield, sched_primax, sched_primin, sched_rr_gi.
3870
3871         * posix/getconf.c (vars): Add entries for _POSIX_REALTIME_SIGNALS,
3872         _POSIX_PRIORITY_SCHEDULING, _POSIX_TIMERS, _POSIX_ASYNCHRONOUS_IO,
3873         _POSIX_PRIORITIZED_IO, _POSIX_SYNCHRONIZED_IO, _POSIX_FSYNC,
3874         _POSIX_MAPPED_FILES, _POSIX_MEMLOCK, _POSIX_MEMLOCK_RANGE,
3875         _POSIX_MEMORY_PROTECTION, _POSIX_MESSAGE_PASSING,
3876         _POSIX_SEMAPHORES, _POSIX_SHARED_MEMORY_OBJECTS.
3877
3878         * posix/sched.h: New file.  Header for POSIX scheduling interface.
3879
3880         * posix/unistd.h: Describe options from POSIX.4.
3881         Add declaration of fdatasync.
3882
3883         * sysdeps/generic/confname.h: Add definition for
3884          _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS,
3885         _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO,
3886         _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
3887         _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING,
3888         _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS.
3889
3890         * sysdeps/generic/fdatasync.c: New file.  Default implementation
3891         simply uses fsync.
3892
3893         * sysdeps/generic/netinit/in.h: Moved to here from inet/netinet/in.h.
3894
3895         * sysdeps/generic/schedbits.h: New file.  System dependent
3896         defintion for POSIX.4 scheduling interface.
3897
3898         * sysdeps/generic/sys/socket.h: Moved to here from socket/sys/socket.h.
3899
3900         * sysdeps/stub/nanosleep.c, sysdeps/stub/sched_getp.c,
3901         sysdeps/stub/sched_gets.c, sysdeps/stub/sched_primax.c,
3902         sysdeps/stub/sched_primin.c, sysdeps/stub/sched_rr_gi.c,
3903         sysdeps/stub/sched_setp.c, sysdeps/stub/sched_sets.c,
3904         sysdeps/stub/sched_yield.c: New file:  Stub implementation
3905         for systems missing these POSIX.4 system calls.
3906
3907         * sysdeps/unix/sysv/linux/gnu/types.h,
3908         sysdeps/unix/sysv/linux/ioctls.h: Use kernel header for
3909         data type definitions.
3910
3911         * sysdeps/unix/sysv/linux/netinet/in.h: New file.  Linux
3912         specific version.
3913
3914         * sysdeps/unix/sysv/linux/posix_opt.h: New file.  Define POSIX
3915         options applicable for Linux.
3916
3917         * sysdeps/unix/sysv/linux/syscalls.list: Add definitions for
3918         fdatasync, nanosleep, sched_setparam, sched_getparam,
3919         sched_setscheduler, sched_getscheduler, sched_yield,
3920         sched_get_priority_max, sched_get_priority_min, and
3921         sched_rr_get_interval.
3922
3923         * sysdeps/unix/sysv/linux/sysconf.c: Add handling of POSIX.4
3924         options.
3925
3926         * sysdeps/unix/sysv/linux/termbits.h: Use kernel headers.
3927
3928         * time/sys/time.h: Remove definition of `struct timespec'.
3929
3930         * time/time.h (struct timespec): Move definition to here.
3931
3932 Fri Apr 26 01:55:07 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3933
3934         * malloc/mcheck.c (mabort): Use __libc_fatal only #ifdef _LIBC.
3935
3936 Thu Apr 25 15:49:57 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3937
3938         * sysdeps/mach/hurd/getcwd.c (__getcwd): When we find a match in
3939         the scan for a name, avoid doing another readdir (which overwrites
3940         NENTRIES, and was resulting in a bogus ENOENT).
3941
3942         * sysdeps/mach/hurd/fcntl.c (__fcntl): Add missing break after F_SETFL.
3943
3944 Wed Apr 24 00:22:42 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3945
3946         * stdio/internals.c (seek_to_target): Set errno if seek function
3947         returns the wrong offset.
3948
3949         * wcsmbs/wcsrtombs.c [! EILSEQ] (EILSEQ): Define to EINVAL.
3950         * wcsmbs/wcrtomb.c: Likewise.
3951
3952         * stdio-common/vfprintf.c: Include errno.h.
3953
3954 Tue Apr 23 21:09:14 1996  Miles Bader  <miles@gnu.ai.mit.edu>
3955
3956         * hurd/hurdsig.c (signal_allowed): For SIGIO/SIGURG, add a new
3957         variable, LUCKY, to use instead of setting D to -1 (which fouls
3958         things up).
3959
3960 Tue Apr 23 15:56:56 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3961
3962         * config.h.in (HAVE_REGEX): New macro.
3963
3964         * sysdeps/unix/syscalls.list: Add statfs, fstatfs.
3965         * io/Makefile (headers): Add sys/statfs.h, statfsbuf.h.
3966         (routines): Add statfs, fstatfs.
3967         * sysdeps/mach/hurd/statfs.c: New file.
3968         * sysdeps/mach/hurd/fstatfs.c: New file.
3969         * sysdeps/stub/fstatfs.c: New file.
3970         * sysdeps/stub/statfs.c: New file.
3971         * io/sys/statfs.h: New file.
3972         * sysdeps/generic/statfsbuf.h: New file.
3973         * sysdeps/unix/sysv/linux/statfsbuf.h: New file.
3974
3975 Tue Apr 23 00:06:47 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3976
3977         * malloc/Makefile (gmalloc-routines): Add valloc back here.
3978         (dist-routines): Remove it here.
3979         * malloc/valloc.c [_MALLOC_INTERNAL && GMALLOC_INHIBIT_VALLOC]
3980         (ELIDE_VALLOC): Define it.
3981         [! ELIDE_VALLOC]: Make whole file conditional on this.
3982         * malloc/malloc.h (valloc): Make decl conditional on
3983         [!GMALLOC_INHIBIT_VALLOC] instead of [!emacs].
3984
3985 Mon Apr 22 00:02:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3986
3987         * MakeTAGS: Include version.mk.
3988         (po/SYS_libc.pot): Add missing / in sed s cmd.
3989
3990 Sat Apr 20 18:13:00 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
3991
3992         * Makerules (no-whole-archive): Test $(have-no-whole-archive), not
3993         $(libc_cv_ld_no_whole_archive).
3994
3995 Sat Apr 20 17:07:17 1996  Ulrich Drepper  <drepper@cygnus.com>
3996
3997         * assert/assert.h, ctype/ctype.h, dirent/dirent.h, errno.h,
3998         grp/grp.h, io/fcntl.h, io/sys/stat.h, io/utime.h, locale/locale.h,
3999         math/math.h, misc/nlist.h, misc/sgtty.h, misc/sys/file.h,
4000         misc/sys/ioctl.h, misc/sys/uio.h, posix/sys/times.h,
4001         posix/sys/types.h, posix/sys/utsname.h, posix/sys/wait.h,
4002         posix/tar.h, posix/wordexp.h, pwd/pwd.h, resource/sys/vlimit.h,
4003         resource/sys/vtimes.h, setjmp/setjmp.h, signal/signal.h,
4004         stdio-common/printf.h, stdlib/alloca.h, stdlib/stdlib.h,
4005         string/string.h, sysdeps/generic/sigaction.h,
4006         sysdeps/generic/sigset.h, sysdeps/generic/sys/ptrace.h,
4007         sysdeps/generic/sys/ptrace.h, sysdeps/unix/bsd/osf/sigaction.h,
4008         sysdeps/unix/sysv/linux/sys/ptrace.h,
4009         sysdeps/unix/sysv/minix/sigaction.h,
4010         sysdeps/unix/sysv/sco3.2.4/sigaction.h,
4011         sysdeps/unix/sysv/sysv4/sigaction.h,
4012         sysdeps/unix/sysv/sysv4/sigset.h, termios/termios.h,
4013         time/sys/time.h, time/time.h: Fix copyright comment.
4014
4015 Fri Apr 19 00:49:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
4016
4017         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): If uids and gids are
4018         not given in stack aux vector, fetch them with syscalls.
4019
4020         * stdlib/rpmatch.c (rpmatch: try): Take new arg NOMATCH, return value
4021         for nonmatching nonerror (instead of !MATCH).
4022         (rpmatch): Use it, so we return -1 when NOEXPR doesn't match either.
4023
4024         * resolv/getnetnamadr.c (getnetbyaddr): Use u_int32_t instead of
4025         unsigned long for variable NET2.
4026
4027         * time/etcetera, time/europe, time/solar89: Updated from ADO's 96e.
4028
4029 Tue Apr  9 14:37:31 1996  Ulrich Drepper  <drepper@cygnus.com>
4030
4031         * catgets/Makefile, catgets/catgets.c, catgets/catgetsinfo.h,
4032         catgets/config.h, catgets/gencat.c, catgets/nl_types.h,
4033         catgets/open_catalog.c: New files.  Implementation of XPG4
4034         compliant catgets() function and needed tools.
4035         * Makefile (subdirs): Add catgets.
4036
4037 Thu Apr 18 23:36:11 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
4038
4039         * math/Makefile (CPPFLAGS): Append -D__NO_MATH_INLINES.
4040
4041 Wed Apr 10 20:48:43 1996  Ulrich Drepper  <drepper@cygnus.com>
4042
4043         * stdio-common/vfprintf.c: Correct some typos.
4044
4045         * sysdeps/libm-ieee754/w_gammaf.c, sysdeps/libm-ieee754/w_lgamma.c,
4046         sysdeps/libm-ieee754/w_lgammaf.c: Reference signgam instead of
4047         __signgam.
4048
4049 Thu Apr 18 21:07:27 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
4050
4051         * Makerules (no-whole-archive): New variable.
4052         (build-shlib): Use it.
4053         * elf/Makefile (libdl.so): Use it.
4054         * configure.in (libc_cv_ld_no_whole_archive): New check for
4055         --no-whole-archive.
4056         * config.make.in (have-no-whole-archive): New variable.
4057
4058         * stdio-common/printf_fp.c: Increase fudge factor for BIGNUM_SIZE calc
4059         from 3 to 4.
4060
4061         * Make-dist: Include version.mk.
4062         (version, release): Variables removed.
4063         * Makeconfig (version.mk): New target.
4064
4065 Fri Apr 19 01:42:18 1996  Ulrich Drepper  <drepper@cygnus.com>
4066
4067         * locale/Makefile (headers): Add langinfo.h.
4068         (CPPFLAGS): Remove -Iliblib.
4069
4070 Mon Apr 15 16:49:04 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
4071
4072         * malloc/memalign.c, malloc/malloc.h [__DJGPP__ == 1]: Elide memalign
4073         function and its declaration.
4074
4075 Wed Apr 10 14:13:45 1996  Miles Bader  <miles@gnu.ai.mit.edu>
4076
4077         * hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Store
4078         MACH_PORT_DEAD in the thread reply-port variable before destroying
4079         the signal handler's reply port, to avoid infinite recursion.
4080
4081 Mon Apr  8 18:27:17 1996  Miles Bader  <miles@gnu.ai.mit.edu>
4082
4083         * sysdeps/mach/gettimeofday.c (__gettimeofday): Don't fail if the
4084         user passes in TZ, just zero it (emacs passes in a dummy variable,
4085         and rms says the hurd should be the one to change).
4086
4087 Sun Apr  7 10:37:30 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
4088
4089         * sysdeps/mach/hurd/fork.c: Don't leak send rights to the child's proc
4090         port in the parent.
4091
4092 Fri Apr  5 17:43:41 1996  Miles Bader  <miles@gnu.ai.mit.edu>
4093
4094         * sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Store
4095         MACH_PORT_DEAD in the thread reply-port variable before destroying
4096         the signal handler's reply port to avoid infinite recursion.
4097         * sysdeps/mach/hurd/mig-reply.c (__mig_dealloc_reply_port): Only
4098         attempt to destroy PORT if it's a valid port name.
4099
4100 Wed Apr  3 17:10:44 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
4101
4102         * extra-lib.mk: Put libs in $(common-objpfx) instead of $(objpfx).
4103         * Makerules ($(install-lib) rules): Find libs with $(common-objpfx)
4104         instead of $(objpfx).
4105
4106 Tue Apr  2 21:27:01 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4107
4108         * posix/glob.c (glob_pattern_p): Avoid scanning past eos if
4109         the pattern ends with a backslash and quoting is enabled.
4110         * posix/fnmatch.c (fnmatch): Likewise; return FNM_NOMATCH for such
4111         patterns.
4112
4113 Mon Apr  1 13:34:55 1996  Roland McGrath  <roland@whiz-bang.gnu.ai.mit.edu>
4114
4115         * stdio-common/tst-printf.c (main): Add new test case.
4116
4117         * sysdeps/generic/setenv.c (unsetenv): Use old-style definition.
4118
4119 Mon Apr  1 11:39:10  Ulrich Drepper  <drepper@gnu.ai.mit.edu>
4120
4121         * stdlib/strtod.c (STRTOD): Fix handling of American style FP
4122         numbers.
4123
4124         * stdio-common/vfprintf.c (vfprintf): Don't increment format
4125         string pointer twice after seeing `*'.
4126