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