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