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