(root)/
glibc-2.38/
ChangeLog.old/
ChangeLog.1
Thu Sep 3 17:31:13 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/unix/bsd/setgroups.S: New file. How did this
manage not to exist already??

* Version 1.04.

* sysdeps/generic/memmem.c (memmem): Fixed loop condition
not to use nonexistent variable.

* string/string.h (memmem): Put const qualifier on args.

* sysdeps/stub/sigaltstack.c (sigaltstack): Fix arg type.

* setjmp/sigsetjmp.c: #undef sigsetjmp before defining
the function.

Wed Sep 2 16:43:58 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* misc/Makefile (headers): Add syscall.h. * sys‐
deps/unix/Makefile: Only generate syscall.h if it would
otherwise come from stub. * sys‐
deps/stub/syscall.h: New file.

* time/Makefile (routines): Add stime.

* io/Makefile (routines): Add fchdir.

* signal/Makefile (routines): Add sigaltstack.

* string/Makefile (routines): Add memmem.

* setjmp/Makefile (routines): Add sigsetjmp, _setjmp.

* misc/Makefile (routines): Add getpass.

* Makefile (distribute): Add NEWS.

* Makerules (ar‐it) [! objdir]: Pass ‘ru’ instead of ‘u’
to ar. Use $(..)libc.a instead of $(libc.a).

* sysdeps/unix/sysv/i386/linux/sysdep.h (PSEUDO): Call
numbers are SYS_*, not __NR_*.

* sysdeps/unix/sysv/i386/linux/__wait.S: Prepend extra _
to ‘__waitpid’ for jmp.

* Makerules (check): New rule; alias for ‘tests’.

* sysdeps/stub/__setregid.c: Args are gid_t, not int.

* sysdeps/posix/readv.c: #include <string.h>.

* sysdeps/generic/printf_fp.c: If LDBL_DIG or
LDBL_MAX_10_EXP is defined by float.h, #define each to
DBL_*.

Tue Sep 1 16:29:07 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/unix/Makefile (syscall.h): Add missing back‐
slashes.

* Makeconfig [!objdir && !..] (common‐objpfx): Define as
‘sysdeps/..’; The Almighty KludgeMeister 2000 wins again.

* Makerules (sysdep‐Makefile): Rename to sysd‐Makefile.

* Makeconfig (CC): Don’t use ‐pipe by default.

* configure (switches): Put quotes around os‐release and
os‐version values.

Mon Aug 31 19:33:15 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/stub/cbrt.c: New file.

* sysdeps/generic/cabs.c: New file.

* sysdeps/generic/ceil.c: New file, split from floor.c.
* sysdeps/generic/__rint.c: Replaced with code split from
floor.c. * sysdeps/generic/Makefile (routines): Don’t
remove ceil, __rint.

Thu Aug 27 15:58:13 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* malloc/malloc.h [! __STDC__] (ptrdiff_t): #define.

Wed Aug 26 18:15:47 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* malloc/free.c (__free): Rename to _free_internal.
(free), malloc/malloc.c (morecore): Change callers.
* malloc/malloc.h: Change decl.

Tue Aug 18 17:38:13 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/generic/__copysign.c: New file.

* sysdeps/unix/sysv/sysdep.h: #include <syscall.h>, not
<sys/syscall.h>. Don’t #define _SYS_SYS_S; should no
longer be necessary.

* sysdeps/unix/Makefile (syscall.h): Replaced simple code
to just find the file in any of several places, with
hairier code to find it and massage it.

* malloc/Makefile (obstack.%): Remove rule.
(gpl2lgpl): Define this instead. * posix/Make‐
file (gpl2lgpl): Define to include getopt source files.
* Makerules ($(gpl2lgpl)): New rule to snarf code and
frob its copying notices.

Fri Aug 14 13:28:39 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* Makeconfig (common‐objdir, common‐objpfx): Define new
vars. (libc.a): Define in terms of $(common‐objpfx).
Find config.make with $(common‐objpfx), not $(objpfx).
* Makerules (common‐objdir‐compile): Define canned se‐
quence. (native‐compile): Use $(@D)/$(@F) instead of
stripping off $(objpfx). * sysdeps/unix/Makefile, sys‐
deps/unix/bsd/Makefile, sysdeps/generic/Makefile: Use it.
Use $(common‐objpfx) for generated things not specific to
one subdir.

* sysdeps/unix/Makefile (sysdep_headers): Add
$(sys/param.h‐includes) to this instead of to headers.

Thu Aug 13 18:30:58 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* posix/glob.c: Always #include <sys/types.h>.
[! USG]: Don’t do it here. [STDC_HEADERS]: Test
this instead of __STDC__ for size_t. [HAVE_STRCOLL]:
Test this instead of ANSI_STRING for strcoll.

* posix/glob/Makefile.in (Makefile): Remove rule.

Wed Aug 12 16:12:52 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/sparc/jmp_buf.h: Deansideclized.

* sysdeps/generic/make_siglist.c: #undef
HAVE_SYS_SIGLIST, not SYS_SIGLIST_MISSING. *
sysdeps/generic/signame.[ch]: Re‐symlinked from /gd/gnu/lib.
Who’s been removing random things from my source tree??

Tue Aug 11 15:01:50 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* posix/getconf.c (main): Cast printf field with arg to
int.

* Makefile (distribute): Remove ansidecl, ansidecl.m4.

* posix/glob.c [_AIX]: Don’t declare alloca.

Mon Aug 10 17:09:40 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/m68k/fpu/__math.h (__expm1): Define just like
expm1.

* sysdeps/unix/ioctls‐tmpl.c [SMIOSTATS, SMIOGETREBOOT0,
ZIOCBCMD]: Include headers for these.

Fri Aug 7 16:01:43 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* string/tester.c (main): Use sys_nerr and sys_errlist,
not _sys_*.

* stdio/stdio.h [__USE_GNU] (_sys_nerr, _sys_errlist):
Declare.

* string/strerror.c, stdio/perror.c [HAVE_GNU_LD]
(_sys_errlist, _sys_nerr): Remove decls.

* stdio/memstream.c (enlarge_buffer): Notice when target
is ‐1 and don’t treat it as a huge value.

* stdio/tst‐printf.c: #if 0 code that tickles printf_fp
bugs.

* grp/testgrp.c: Don’t bomb if uid not in passwd file.

* stdlib/tst‐strtol.c (tests): C‐t on LONG_MIN and
LONG_MIN‐1 elts.

* stdlib/strtol.c: Use int flag NEGATIVE instead of char
1/‐1 SIGN. Fixed checking for overflow of long int that
fits in unsigned long int‐‐must cast LONG_MIN before
negating!

Thu Aug 6 18:46:24 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* stdio/bug3.c (main): Define ansideclifily.

* sysdeps/unix/bsd/sun/sparc/__pipe.S: Define __pipe, not
___pipe.

* math/test‐math.c (main): Remove unused vars.

* io/flock.c: #include <sys/file.h>, and not fcntl.h or
sys/types.h.

* sysdeps/m68k/fpu/__math.h (__rint): Define just like
rint.

* math/math.h (__rint): Declare.

* configure (esix*): base_os=unix/sysv.

* dirent/getdents.c: #include <dirent.h>.

* Rules (subdir): Avoid TAB before # at end of defn.

* sysdeps/unix/bsd/bsd4.4/__wait3.c: Last arg type is
struct rusage *.

Tue Aug 4 18:19:43 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/ieee754/Makefile: Removed.

* math/math.h: Declare __expm1.

Mon Aug 3 13:02:05 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/ieee754/cabs.c (cabs, z_abs): Members of struc‐
ture have __.

* sysdeps/unix/bsd/seq386: Remove directory.

Thu Jul 30 15:42:01 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/unix/bsd/sun/sparc/sigcontext.h: Deanside‐
clized.

* sysdeps/unix/bsd/sun/sunos4/__wait4.c: Make last arg
struct rusage instead of PTR.

* sysdeps/unix/morecore.c (__default_morecore): Make arg
ptrdiff_t.

* sysdeps/ieee754/cabs.c (cabs, z_abs): Use ‘struct
__complex’ for arg.

* sysdeps/generic/pow.c: #include <limits.h>.

* sysdeps/generic/mathimpl.c: #include <math.h> before
frobnication.

* misc/getusersh.c (okshells): Make const.
(initshells): Properly declare static.

* sysdeps/unix/bsd/__tcgetatr.c: Cast sg_[io]speed to
(unsigned char) to avoid gcc warnings.

* math/bsd/common/atan2.c, math/bsd/common/tan.c,
math/bsd/common/sincos.c, math/bsd/common/trig.h,
math/bsd/common_source/__expm1.c, math/bsd/com‐
mon_source/fmod.c, math/bsd/common_source/acosh.c,
math/bsd/common_source/log.c, math/bsd/common_source/as‐
incos.c, math/bsd/common_source/asinh.c, math/bsd/com‐
mon_source/log1p.c, math/bsd/common_source/atan.c,
math/bsd/common_source/log__L.c, math/bsd/com‐
mon_source/atanh.c, math/bsd/common_source/mathimpl.h,
math/bsd/common_source/cosh.c, math/bsd/com‐
mon_source/exp.c, math/bsd/common_source/sinh.c,
math/bsd/common_source/exp__E.c, math/bsd/com‐
mon_source/tanh.c, math/bsd/common_source/floor.c: Moved
to sysdeps/generic. * math/bsd/ieee/{cabs,cbrt,sup‐
port}.c: Moved to sysdeps/ieee754. * All above + sys‐
deps/generic/mathimpl.h, sysdeps/generic/pow.c: New code
from 4.4/net2.

* sysdeps/generic/ffs.c: #include <string.h>, not
<bstring.h>.

* posix/glob/Makefile.in (Makefile): Depend on con‐
fig.status; invoke it directly instead of using $(SHELL).

* posix/glob.c [! USG]: #include <sys/types.h> before
<sys/dir.h>.

Tue Jul 28 17:54:23 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/unix/bsd/ultrix42: Renamed to ultrix4.

* sysdeps/unix/sysv/isc2.2/__rename.S: New. *
configure (isc*): base_os=unix/sysv.

* Makefile, Makerules, Rules, math/Makefile, ctype/Make‐
file: Use "export foo := $(foo)" instead of ifdef
have_export_directive. * Makeconfig (have_export_direc‐
tive): Remove; move .NOEXPORT down.

Mon Jul 27 18:01:30 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* configure: Remove redundant test to set os_used.

Sun Jul 26 17:03:31 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* README.template: Don’t mention Q+A. * Makefile
(distribute): Remove Q+A.

* Makefile, Makerules, Rules, math/Makefile, ctype/Make‐
file: Put "ifdef have_export_directive" around uses of
‘export’ directive. They are only needed for dist and
tags anyway. * Makeconfig (have_export_directive): Add
commented‐out defn, and comment to explain.
(.NOEXPORT): Add special target for old versions of GNU
make.

* posix/glob.c [_AIX]: #pragma alloca first thing.
[ANSI_STRING]: Remove #define’s for index et al.

Thu Jul 23 21:49:53 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* misc/getpass.c: New. * posix/unistd.h (get‐
pass): Declare.

* posix/unistd.h (getusershell, setusershell, enduser‐
shell): Declare. * misc/Makefile (routines): Add ge‐
tusersh. * misc/getusersh.c: New.

Tue Jul 14 20:03:57 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* stdlib/Makefile (tests): Add testdiv. *
stdlib/testdiv.c: New.

* sysdeps/unix/sysv/i386/linux/{re‐
name,__mkdir,__rmdir,__dup2, getpgrp,__setpgrp,setsid}.S:
New files.

* sysdeps/unix/__getppid.S: If SYS_getppid is defined,
use it rather than alternate value of getpid. *
__gete[ug]id.S: Similar.

* sysdeps/unix/sysv/i386/linux/__waitpid.S: New file.
* sysdeps/unix/sysv/i386/linux/__wait.S: New file.
* sysdeps/posix/__wait3.c: New file.

* sysdeps/unix/sysv/i386/linux/socket.S: New file.
* bind.S, connect.S, listen.S, accept.S, getsockname.S,
getpeername.S, socketpair.S: Also new (and trivial).

Mon Jul 13 17:41:46 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/unix/sysv/i386/linux/sysdep.[hS]: New files.

* configure (linux*): base_os=unix/sysv (gnu*,
linux*): Always set ‐‐with‐gnu‐ld and ‐‐with‐gnu‐as.

* stdio/obstream.c: #include <string.h> (ob‐
stack_vprintf): Use bzero rather than memset.

* stdio/glue.c (unix_FILE.glue): Add two members, which
will overlap get_limit and put_limit in GNU stdio.
(_iob): Initialize them to same as ‘streamp’.

Thu Jul 9 21:27:39 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* stdio/stdio.h (open_obstack_stream, obstack_printf,
obstack_vprintf): Declare.

* posix/glob.c [STDC_STRINGS]: Don’t test this.
[! ANSI_STRING]: Put memcpy, strrchr, memset defns here
instead.

* posix/glob/Makefile.in (glob.o, fnmatch.o): / after
$(srcdir).

Tue Jul 7 03:11:23 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* stdio/Makefile (routines): Add obstream.

* Makerules (%.o: %.S, %.o: %.c): If using gcc, put the
file name before the options on the command line.

* malloc/Makefile (dist‐routines): Define with routines
for malloc.tar. (routines): Define with that plus the
rest. (nodist): Remove. (routines): Add ob‐
stack. (headers): Add obstack.h. (obstack.%):
New rule.

* stdio/glue.c: Add comments.

* stdio/printf.h (struct printf_info.spec): Make unsigned
char.

* stdio/stdio.h (__validfp): Fixed glued‐stream snarfing.

Mon Jul 6 20:00:47 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/i386/jmp_buf.h: Deansideclized.

* sysdeps/posix/Makefile (objdir‐CPPFLAGS): Define; if in
parent dir, add ..s to ‐Is. (mk‐stdiolim): Use
it in place of $(CPPFLAGS).

Sat Jul 4 20:44:42 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* posix/glob/Makefile.in (glob.o, fnmatch.o): Put $(sr‐
cdir) on deps.

Wed Jul 1 00:13:40 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/generic/strstr.c: If NEEDLE is "", return end
of HAYSTACK.

* string/tester.c (main): Remove decls of sys_nerr and
sys_errlist.

* configure: Accept ‐‐prefix=*, ‐‐exec_prefix=* options.
Set values in config.make and config.status.

* io/umask.c: Fixed return type in fn alias.

* posix/glob.c [! ANSI_STRING]: #define strcoll to str‐
cmp. Remove extra decls of free, qsort, malloc, and re‐
alloc.

* dirent/alphasort.c: #include <string.h>, and not
<stdlib.h>.

* sysdeps/unix/bsd/i386/__wait3.S: Load SYS_wait into
%eax before trapping. Use literal .byte instead of lcall
to avoid gas bug. Use 0(REG), not (REG), for register‐
indirect addressing.

* configure: Make config.status executable.

Tue Jun 30 21:14:53 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* configure: Add ‐‐os‐release=* and ‐‐os‐version=* op‐
tions. Record settings (which might be automagically
guessed) in config.status.

* misc/mknod.c: Use __mode_t for arg in fn alias.

* posix/unistd.h (setregid): Declare to take __gid_t
args.

* sysdeps/unix/bsd/i386/__wait3.S: Don’t use lcall insn
gas barfs on.

* posix/vfork.c: Move to sysdeps/generic/.

* Rules (others, tests): Export them.

* io/umask.c, io/mkdir.c, io/chmod.c: Use mode_t not int
in arg decls.

* sysdeps/i386/ffs.c: #include <string.h>, not
<bstring.h>.

* stdio/vfscanf.c: Use function_alias.

* stdio/vsscanf.c: Use va_list, not PTR, in arg decl in
fn alias.

* sysdeps/unix/i386/sysdep.h (PSEUDO): Enough backslashes
and semicolons.

* stdio/stdio.h: For __gnuc_va_list, #test
__GNUC_VA_LIST, not __va_list_defined.

* stdio/fmemopen.c: Use memchr to find NUL for append
mode.

* stdio/memstream.c (enlarge_buffer): Double the buffer
size, rather than adding 100. Don’t clobber *INFO‐>buf‐
size when called with the put limit reset. If the target
has been set, extend and zero‐fill the buffer.
(seek): New function. (open_memstream): Use it
for seek io fn. Call fmemopen with "w+" mode.

Sun Jun 28 19:01:01 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* stdio/fseek.c: Fail with EINVAL for a negative file
pos.

Fri Jun 26 00:07:53 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Makeconfig (stdarg.h): New variable. * Make‐
file (headers): Add $(stdarg.h).

* stdio/stdio.h: Change __va_list to __gnuc_va_list in
decls.

* sysdeps/unix/morecore.c: Include malloc.h #ifndef _MAL‐
LOC_INTERNAL. Don’t include <stdio.h>. (NULL):
Define to 0 if not defined.

* sysdeps/i386/bzero.c: Include string.h, not bstring.h.

Thu Jun 25 21:01:40 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* stdio/perror.c, string/strerror.c (_sys_errlist,
_sys_nerr): Don’t declare #ifndef HAVE_GNU_LD.

* stdio/fwrite.c: Cast arg to write io func to const char
* (from uns).

* sysdeps/unix/Makefile: If syscall.h doesn’t exist in
$(sysincludedir), look for sys/syscall.h and create $(ob‐
jpfx)syscall.h to #include it.

* sysdeps/unix/morecore.c (__default_morecore): Deanside‐
clized. * malloc/*.c: Only #include <malloc.h> #ifndef
_MALLOC_INTERNAL.

Wed Jun 24 19:09:04 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/unix/snarf‐ioctls: Avoid looking at a few par‐
ticular headers which tend to mislead us.

* Makefile (distribute): Add COPYING.

* configure (Makefile): When invoking make in srcdir, set
ARCH rather than objdir on the cmd line.

* posix/glob.c [DIRENT] (direct): Don’t define to dirent.
[! DIRENT] (direct): Define to dirent.

* Make‐dist [!subdir] (+tsrcs): Don’t include $(distrib‐
ute). It was already included above.

Mon Jun 22 16:58:34 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Makerules (sysdep_routines): Export it.

Wed Jun 17 17:58:05 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* posix/glob.c (my_realloc): Test only __GNU_LIBRARY__.
Can’t trust STDC_HEADERS.

Tue Jun 16 20:20:01 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* resource/sys/resource.h (enum __rlimit_resource): Added
MEMLOCK, NPROC, OFILE.

* posix/Makefile (glob.tar): Include Makefile.in & con‐
figure, and not Makefile. (glob/configure): New
rule.

* posix/glob/Makefile: Moved to posix/glob/Makefile.in.
(VPATH, srcdir, CPPFLAGS): Define to be replaced by auto‐
conf.

* posix/glob.c: Rearranged conditionals for use with au‐
toconf.

Thu Jun 11 15:47:43 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/unix/bsd/sun/sparc/start.c: Added alias for
start ‐> __start.

Tue Jun 9 20:15:12 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/posix/rename.c: Return failure and don’t remove
the old link if the link failed with other than EEXIST.

* posix/glob/Makefile: Fixed copyright notice.
(realclean): Don’t remove ˜ backup files.

Thu Jun 4 16:41:56 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* time/Makefile (install‐data): Don’t include zoneinfo/.
Makerules already makes sure the necessary directories
exist.

* setjmp/setjmp.h (sigsetjmp) [__GNUC__]: Use typeof
hackery to construct the type of the temporary var for
the arg. (_setjmp) [__FAVOR_BSD]: Make same as setjmp.

* malloc/malloc.h (mtrace): Declare.

* malloc/malloc.h, malloc/calloc.c, malloc/free.c, mal‐
loc/malloc.c, malloc/mcheck.c, malloc/memalign.c, mal‐
loc/mstats.c, malloc/mtrace.c, malloc/realloc.c, mal‐
loc/valloc.c: Deansideclized; changed copyright notices
to be independent of libc. * malloc/Makefile (glob/%.c,
glob/%.h): Don’t need to ansideclificate.

* io/ftw.h, io/ftw.c: New. * io/Makefile (head‐
ers): Added ftw.h. (routines): Added ftw.

Tue Jun 2 21:49:22 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/unix/bsd/signum.h (SIG_ERR, SIG_DFL, SIG_IGN):
Use __sighandler_t.

* posix/glob.c (__ptr_t): Define.

Thu May 28 06:57:14 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/m68k/jmp_buf.h: Don’t use PTR.

Wed May 27 18:09:40 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* posix/{glob,fnmatch}.[ch]: Deansideclized; changed
copyright notice to be independent of libc. *
posix/Makefile (glob/%.c, glob/%.h): Don’t need to ansideclifi‐
cate.

* posix/unistd.h (_SC_2_FORT_RUN, _SC_2_LOCALDEF): De‐
fine.

* posix/unistd.h: Define _POSIX2_* without #ifdef
__USE_POSIX2.

* posix/unistd.h (_POSIX2_FORT_DEV): Removed.

* posix/fnmatch.h (FNM_FILE_NAME): Alias for FNM_PATH‐
NAME.

Tue May 26 00:39:39 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* time/Makefile (install‐data): Include zoneinfo/, so the
directory gets made.

* Makeconfig (+gcc‐nowarn): Define to ‐w if using gcc.
* time/Makefile (tz‐cc): Use it to suppress warnings for
grody code.

* posix/Makefile (libposix.a), math/Makefile (libm.a):
Make archive containing /dev/null instead of nothing; ar
won’t create an empty archive.

* Makerules (%/): Added generic mkdir rule.

* posix/Makefile (install‐lib): Define to libposix.a.
(libposix.a): Create empty archive.

* posix/Makefile (distribute): Added utsnamelen.h.

* ctype/ctype.c (tolower, toupper): If the arg doesn’t
fit in a char, return it unchanged. *
ctype/ctype.h (tolower, toupper): Don’t define as macros.
[__GNUC__]: Define as extern inline functions.

* sysdeps/unix/bsd/sun/sunos4/utsnamelen.h, sys‐
deps/unix/bsd/sun/sunos4/uname.S: New.

* configure: Only do hacking to snarf uname info if the
config uses the generic uname implementation.

* Makeconfig (+defines): Define to include $(gnu_ld),
rather than ‐DHAVE_GNU_LD. * configure: Write
config.make with gnu_ld/gnu_as defns.

* sysdeps/unix/bsd/sun/sunos411: Renamed back to
.../sunos4. * sysdeps/unix/bsd/bsd44: Renamed to
.../bsd4.4.

* Makeconfig: include $(objpfx)configparms instead of
$(objdir)/Makeconfig. Define objpfx as soon as
objdir is defined, so we can use it.

* sysdeps/generic/uname.c: Use UNAME_* from config‐
name.h.

Mon May 25 19:33:07 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* configure: Accept all standard GNU configure options.
Expect to be run in object directory, and find source di‐
rectory elsewhere. Write config.status as a
shell script that can be run to recreate the configura‐
tion. Grok os names containing dots by trying each suc‐
cessively less‐precise substring. Write Sysnames
and config‐name.h in current directory. Write #define’s
for uname sysname, release, version, and machine elts in
config‐name.h. Hackery to intuit release and version info.

* stdio/vsnprintf.c, stdio/vsprintf.c, stdio/vasprintf.c,
stdio/vdprintf.c, stdio/vfscanf.c, stdio/vscanf.c,
stdio/__vsscanf.c: Take arg list as va_list, not PTR.

* stdio/stdio.h: Replaced #include <stdarg.h> with magic.
Properly use __va_list in prototypes.

* Makeconfig (exec_prefix): Define. (libdir, in‐
cludedir, bindir): Use it.

* sysdeps/unix/sysv/Makefile [subdir==io] (sysdep‐rou‐
tines): Removed __utssys. * sys‐
deps/unix/sysv/Dist: Removed __utssys.S. * sys‐
deps/unix/sysv/__utssys.S, sysdeps/unix/sysv/uname.c: Removed.
* sysdeps/unix/sysv/uname.S, sysdeps/unix/sysv/utsname‐
len.h: New.

* posix/sys/utsname.h (_UTSNAME_LENGTH): Don’t define;
instead, #include <utsnamelen.h> to define it. *
sysdeps/generic/utsnamelen.h: New.

Sun May 24 00:07:45 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/generic/inet‐cvt.h: Deansideclized.

* string/string.h (memfrob): First arg is __ptr_t, not
char *.

* misc/sys/cdefs.h (__ptr_t): Made #define rather than a
typedef.

Fri May 22 01:52:04 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Makefile, Rules, Makerules: Remove all rules for ansid‐
eclificating headers.

* posix/glob.h, posix/fnmatch.h: Use explicit cruft for
C++. Define __P and const for C++/ANSI vs old C our‐
selves, to avoid dependence on <sys/cdefs.h>.

* inet/Makefile: Remove cruft to snarf things from bsd/.
* inet/bsd/*.c: Moved to inet/.

* Makerules: Install headers from source directories into
$(includedir), rather than ansidecl madness. *
Makeconfig (ansi‐incldir, trad‐incldir): Removed. (in‐
cludedir): Define instead.

* assert/assert.h, ctype/ctype.h, dirent/dirent.h,
grp/grp.h, locale/locale.h, locale/localeinfo.h,
math/math.h, misc/sys/file.h, misc/sys/ioctl.h,
misc/sys/ptrace.h, misc/sys/uio.h, misc/sgtty.h,
misc/nlist.h, posix/gnu/types.h, posix/sys/wait.h,
posix/sys/types.h, posix/sys/times.h, posix/sys/ut‐
sname.h, posix/unistd.h, posix/tar.h, posix/utime.h,
posix/wordexp.h, posix/glob.h, posix/fnmatch.h, pwd/pwd.h,
resource/sys/resource.h, resource/sys/vlimit.h,
resource/sys/vtimes.h, setjmp/setjmp.h, signal/sig‐
nal.h, signal/gnu/signal.h, socket/sys/socket.h,
stdio/stdio.h, stdio/printf.h, stdlib/alloca.h,
stdlib/stdlib.h, string/string.h, termios/termios.h,
time/sys/time.h, time/time.h, io/sys/stat.h, io/fc‐
ntl.h, errno.h, stddef.h, malloc/malloc.h: Deanside‐
clized. Use <sys/cdefs.h> macros instead of ansidecl and
C++ cruft. * features.h: #include <sys/cdefs.h>.

* string/string.h (strfry, memfrob): Declare. *
string/Makefile (routines): Added strfry and memfrob. *
string/strfry.c, string/memfrob.c: New.

* locale/C‐ctype_ct.c: Made BS be isspace.

* sysdeps/generic/strstr.c: Return HAYSTACK, not its end,
if NEEDLE is the empty string.

* sysdeps/generic/strncase.c: Fixed for case of empty
string.

Wed May 20 02:36:09 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* io/sys/stat.h (fchmod): Declare, rather than two __fch‐
mod decls.

* configure (sysv, bsd): Don’t make base_os=unix;
unix/{sysv,bsd} instead. Set os_used if base_os
is used.

Tue May 19 21:00:11 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* crypt/*: New files from glad.

* stdio/stdio.h (sys_nerr, sys_errlist): Don’t declare
const.

Sun May 17 15:50:00 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* io/Makefile (headers): Remove gnu/stat.h; add
sys/stat.h.

* posix/glob.c (glob): Don’t let us fall off the end
without returning.

* sysdeps/stub/setenv.c, sysdeps/posix/setenv.c: New.
* stdlib/stdlib.h [__USE_BSD] (setenv): Declare.
* stdlib/Makefile (routines): Add setenv.

* malloc/mtrace.c (old_{free,malloc,realloc}_hook): Re‐
named to tr_& to not conflict with mcheck.c when combined
into gmalloc.c.

Fri May 15 19:07:54 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* socket/sys/socket.h (PF_NBS, AF_NBS): Removed.
(PF_ISO, PF_OSI, PF_APPLETALK, PF_ROUTE, PF_LINK): De‐
fine. (PF_MAX): Increase accordingly.

* inet/bsd/*.c: Snarfed latest code from 4.4.

* misc/sys/cdefs.h (__BEGIN_DECLS, __END_DECLS): Define
cruft for C++.

Thu May 14 01:45:12 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* posix/glob.h (GLOB_MAGCHAR): Check user feature‐test
macros, rather than __USE_BSD, so we don’t depend on fea‐
tures.h.

* sysdeps/stub/__wait4.c: Last arg is struct rusage *,
not PTR.

* math/bsd/common_source/mathimpl.h: Don’t #define const.
#include <sys/cdefs.h> instead.

* Makefile (+other_dirs): Add crypt, but only if it ex‐
ists at run time. * crypt/GNUmakefile: New file.
* sysdeps/sparc/Makefile, sysdeps/m68k/Makefile (crypt):
Define to use machine‐dependent assembly code in
crypt/crypt.*.S. * crypt: New directory.

* find‐sysdirs: Don’t lose if there are no sysnames.

* termios/Makefile (headers): Added sys/termios.h.
* termios/sys/termios.h: New file; just #include
<termios.h>.

* stdlib/qsort.c: Define _quicksort rather than qsort.
* stdlib/msort.c: New file; defines qsort function that
does merge sort. Falls back to _quicksort if it fails to
allocate a temp array. * stdlib/Makefile (routines):
Added msort.

* string/string.h (memccpy, strdup): Also declare #ifdef
__USE_BSD. [__USE_BSD] (index, rindex, bcmp, bzero,
ffs): Declare. * string/strings.h: Just #include
<string.h>. * string/Makefile (headers): Removed
bstring.h.

* misc/Makefile (routines): Removed swab. *
string/Makefile (routines): Put it here instead. *
misc/swab.c: Moved to string/swab.c.

* stdio/stdio.h [__USE_BSD] (sys_nerr, sys_errlist): De‐
clare.

* grp/grp.h (setgrent, endgrent, getgrent): Also do
#ifdef __USE_BSD.

* posix/glob.h [__USE_BSD] (GLOB_MAGCHAR): Declare.
(glob_t): Added member ‘gl_flags’. *
posix/glob.c (glob, glob_in_dir): Set gl_flags member to FLAGS;
or in GLOB_MAGCHAR if any metachars are seen.

* sysdeps/unix/bsd/bsd44/readdir.c: New.

* sysdeps/unix/bsd/sun/readdir.c: Don’t need to declare
__getdirentries here. Use off_t and ssize_t.

* misc/Makefile (routines): Removed getdents and __get‐
dents. * dirent/Makefile (routines): Put them here in‐
stead. * misc/getdents.c: Moved to dirent/getdents.c.
* dirent/dirent.h [__USE_BSD] (__getdirentries, getdiren‐
tries): Declare.

* dirent/Makefile (routines): Added scandir and alpha‐
sort. * dirent/scandir.c, dirent/alphasort.c: New.
* dirent/dirent.h [__USE_BSD] (scandir, alphasort): De‐
clare.

* sysdeps/unix/bsd/nice.c, sysdeps/unix/sysv/nice.S,
sysdeps/stub/nice.c: New. * resource/Makefile
(routines): Added nice.

* misc/sys/cdefs.h [__USE_BSD] (const, signed, volatile):
#define to __ versions, for the sake of 4.4 header files.

Wed May 13 00:35:12 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* stdlib/tst‐strtol.c: Fixed typo in test table.

* stdlib/strtol.c: Fixed checking for overflow of long
int that fits in unsigned long int.

* misc/Makefile (headers): Added ttyent.h. (rou‐
tines): Added getttyent. * misc/ttyent.h, misc/gett‐
tyent.h: New; snarfed from 4.4.

* posix/sys/wait.h [__USE_BSD]: Added forward decl for
struct rusage. (__wait4, __wait3): Declare arg as struct
rusage, not PTR.

* inet/arpa/*.h, inet/protocols/*.h, inet/netdb.h,
inet/resolv.h: New files from 4.4. * inet/Make‐
file (headers): Snarf *.h from arpa/ and protocols/.

* sysdeps/m68k/fpu/__math.h, assert/assert.h: #include
<sys/cdefs.h> and use its macros rather than rolling our
own.

* misc/sys/cdefs.h: New file. * misc/Makefile
(headers): Add it.

* Makerules: Moved check for headers coming from env to
Rules.

Tue May 12 01:04:10 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* sysdeps/generic/strsep.c: New. *
string/string.h [__USE_BSD] (strsep): Declare. *
string/Makefile (routines): Added strsep.

* sysdeps/unix/sysv/__settod.c, sys‐
deps/unix/sysv/stime.S, sysdeps/unix/bsd/stime.c, sys‐
deps/stub/stime.c: New. * time/time.h [__USE_SVID]
(stime): Declare it.

* sysdeps/unix/bsd/bsd44/__getdents.S: New.

* posix/wordexp.h, posix/utime.h, posix/unistd.h,
time/time.h, termios/termios.h, posix/tar.h,
string/strings.h, string/string.h, stdlib/stdlib.h, sig‐
nal/signal.h, stdio/stdio.h, misc/sgtty.h,
setjmp/setjmp.h, inet/resolv.h, pwd/pwd.h,
stdio/printf.h, misc/nlist.h, inet/netdb.h, math/math.h,
malloc/malloc.h, locale/locale.h, grp/grp.h,
posix/glob.h, posix/getopt.h, posix/fnmatch.h, io/fc‐
ntl.h, errno.h, dirent/dirent.h, ctype/ctype.h,
string/bstring.h, assert/assert.h, stdlib/alloca.h,
misc/a.out.h [__cplusplus]: Added stupid cruft for losing
C++.

Mon May 11 01:40:49 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* math/Makefile (headers): Added huge_val.h and nan.h.

* io/Makefile (headers): Changed gnu/stat.h to statbuf.h.

* time/Makefile (install‐data): Include $(localtime‐file)
and $(posixrules‐file) if they are relative.
(install‐others): Include them if absolute.
($(posixrules‐file), $(localtime‐file)): Define rules to
install if absolute file names. * Makerules
(+install): Include $(install‐others) verbatim. * Make‐
config (localtime‐file): Made default /etc/localtime.

* sysdeps/generic/Makefile (endian.h): Only generate if
would otherwise use stub version. * sys‐
deps/stub/endian.h, sysdeps/i386/endian.h: New.

* Rules, Makefile: Export distribute and dont_distribute.
* Make‐dist: Export sysdep_dirs. Unexport things rather
than clobbering their values.

* misc/sys/ptrace.h: Fixed typo.

* stdio/stdio.h (__io_read, __io_write, __io_seek,
__io_close): Added comments.

* stdio/internals.c (flushbuf): If in append mode, don’t
do aligned writing, seek to the target, or update the
offset.

* posix/unistd.h (lseek): Doc fix.

* misc/swab.c: New. * misc/Makefile (routines):
Added swab.

Wed May 6 12:32:18 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* math/Makefile, inet/Makefile (source_dirs): Export it.
* MakeTAGS (all‐dirs): Include $(source_dirs).

* Makefile (TAGS): Removed dep on subdir_TAGS.
(+subdir_targets): Removed subdir_TAGS. * Make‐
TAGS [! subdir] (TAGS): Depend on subdir_TAGS. [! sub‐
dir] (subdir_TAGS): Recurse on subdirectories.

* Makerules (headers): Don’t take value from the environ‐
ment.

* Makerules (sysdirs, sysdep_dir): Export them.

* MakeTAGS: New makefile. * Makefile (distrib‐
ute): Include it. * Makefile (TAGS), Rules (TAGS): Re‐
moved rules. * Makerules (TAGS): New rule that uses
MakeTAGS. * Makefile (TAGS): Depend on subdir_TAGS.

* Makerules (install, install‐lib, install‐data, rou‐
tines, aux): Don’t bother removing these if they come
from the environment, since they won’t with make >=
3.62.8. * Rules (distribute, headers): Ditto.
(subdir): Export it. * Makerules (sources, head‐
ers): Export these. * Makefile (subdirs): Export it.

* Rules (+tags_sources): Removed. * Makerules
(tags‐sources): Define here. * ctype/Makefile (tags‐
sources): Redefine to give headers precedence over
sources. * Rules (TAGS), Makefile (TAGS): Rewrote rules.
* Makeconfig (+ctags): Removed. (ETAGS): Define.

* sysdeps/posix/getcwd.c: Don’t closedir twice.

* sysdeps/unix/bsd/hp/m68k/__wait3.S: Define __wait3, not
___wait3.

* posix/sys/types.h [__USE_BSD] (fsid_t): Define.
* posix/gnu/types.h (__fsid_t): Define.

* io/fcntl.h (F_GETLK): Define.

Tue May 5 18:36:46 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* misc/Makefile (routines): Added seteuid and setegid.
* sysdeps/stub/sete[ug]id.c, sys‐
deps/unix/bsd/bsd44/sete[ug]id.S: New. * posix/unistd.h
[__USE_BSD] (seteuid, setegid): Declare.

* sysdeps/unix/bsd/tcsendbrk.c: #include <sys/types.h>

* Makerules: Strip whitespace from $(headers) so ifdef
wins.

* sysdeps/unix/bsd/bsdtty.h: #undef a bunch more things.

* sysdeps/unix/bsd/bsd44/errnos.h: New, hacked from 4.4
<sys/errno.h>.

* sysdeps/unix/Makefile (ioctls.h, errnos.h): Only gener‐
ate if the files that would be used otherwise are the
stub versions.

* sysdeps/unix/bsd/tcflow.c: Don’t write VSTOP or VSTART
if it is _POSIX_VDISABLE.

* sysdeps/unix/bsd/tcflush.c: Use FREAD|FWRITE for
TCIOFLUSH.

* sysdeps/unix/bsd/usleep.c: Use select rather than
itimers to wait.

* sysdeps/unix/bsd/tcsendbrk.c: Use select rather than
itimers to wait.

* termios/cfmakeraw.c: New. * termios/Makefile
(routines): Added cfmakeraw.

* sysdeps/unix/bsd/bsd44/ioctls.h: New file, hacked from
4.4 <sys/ioctl.h>. * sys‐
deps/unix/bsd/bsd44/__tcgetatr.c: New. * sys‐
deps/unix/bsd/bsd44/tcsetattr.c: New. * sys‐
deps/unix/bsd/bsd44/tcdrain.c: New.

* termios/sys/ttydefaults.h: New, snarfed from 4.4.
* termios/Makefile (headers): Define. *
termios/termios.h [__USE_BSD]: #include <sys/ttydefaults.h>

* sysdeps/posix/getcwd.c: Removed unused variable.

* time/__tzset.c: Cast string literal to (char *).

* setjmp/sigjmp_save.c: Declare properly to return void.

* sysdeps/ieee754/nan.h: Created; somehow it disappeared.

Mon May 4 18:30:52 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/unix/bsd/bsd44/__wait4.S: New.

* sysdeps/unix/bsd/4.4: Renamed to sys‐
deps/unix/bsd/bsd44.

* signal/gnu/signal.h (__SA_DISABLE, __SA_NOCLDSTOP): Use
same bits 4.4 uses.

Sun May 3 13:57:25 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* stdio/fwrite.c: Use unsigned char to avoid sign exten‐
sion.

* stdlib/__random.c (randtbl): Replaced default constants
so they match the state produced by "srandom (1)".

* stdlib/mbtowc.c: Test for S == "" before testing for no
mbchars.

* stdlib/Makefile (tests): Added testrand. *
stdlib/testrand.c: New test for rand.

* stdlib/testmb.c: Added 2 mblen tests.

* stdlib/wcstombs.c: Don’t do anything strange for EOF.
Copy non‐MB characters as they are. Properly in‐
crement S after writing.

* stdlib/testmb.c: Added test case for wcstombs.

* signal/signal.h (SA_DISABLE): Define. * sig‐
nal/gnu/signal.h (__SA_DISABLE): Define.

* signal/signal.h (struct sigaltstack): Define new type.
(sigaltstack): Declare new fn. * sys‐
deps/stub/sigaltstack.c: New. * sys‐
deps/unix/bsd/4.4/sigaltstack.S: New.

* misc/Makefile (routines): Added reboot. *
posix/unistd.h (reboot): Declare. * sysdeps/stub/re‐
boot.c: New.

* sysdeps/unix/bsd/ulimit.c [! HAVE_GNU_LD]: #define
_etext ‐> etext.

* sysdeps/unix/bsd/sun/sparc/sethostid.S: #define _ER‐
RNO_H before #include <errnos.h>.

* configure (newos*): base_os=unix/bsd.

Fri May 1 12:21:47 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* io/gnu/stat.h: Moved to sysdeps/unix/bsd/statbuf.h.
* sysdeps/unix/bsd/statbuf.h: Define struct stat, not
struct __stat. * io/stat.c: Use struct stat, not struct
__stat. * sysdeps/stub/statbuf.h: New. *
io/sys/stat.h: #include <statbuf.h> instead of gnu/stat.h.
(stat, fstat, lstat, chmod, fchmod, umask, mkdir, mknod):
Don’t #define; declare as fns instead. * sys‐
deps/unix/sysv/stat.h: New. * sys‐
deps/unix/sysv/sysv_stat.h, sysdeps/unix/sysv/sys_stat.S,
sysdeps/unix/sysv/sys_fstat.S: Removed. * sys‐
deps/unix/sysv/Makefile (sysdep_routines): Removed sys_stat,
sys_fstat. * sysdeps/unix/sysv/Dist: Removed
sys_stat.S, sys_fstat.S. * sysdeps/unix/bsd/__stat.S,
sysdeps/unix/bsd/__fstat.S: Moved to sysdeps/unix.

* sysdeps/m68k/fpu/switch/Makefile: Refer to dirs fpu and
fpu/switch, not 68881 and 68881‐switch.

* sysdeps/m68k/fpu/switch/switch.c: #include
<68881‐sw.h>, not 68881‐switch.h.

* sysdeps/m68k/fpu/__expm1.c, sysdeps/m68k/fpu/__rint.c,
sysdeps/m68k/fpu/asin.c, sysdeps/m68k/fpu/atan.c,
sysdeps/m68k/fpu/atanh.c, sysdeps/m68k/fpu/ceil.c,
sysdeps/m68k/fpu/cos.c, sysdeps/m68k/fpu/cosh.c,
sysdeps/m68k/fpu/exp.c, sysdeps/m68k/fpu/fabs.c,
sysdeps/m68k/fpu/floor.c, sysdeps/m68k/fpu/log.c,
sysdeps/m68k/fpu/log10.c, sysdeps/m68k/fpu/log1p.c,
sysdeps/m68k/fpu/sin.c, sysdeps/m68k/fpu/sinh.c,
sysdeps/m68k/fpu/sqrt.c, sysdeps/m68k/fpu/tan.c,
sysdeps/m68k/fpu/tanh.c: #include <acos.c> without ex‐
plicit path (which has changed).

* sysdeps/unix/bsd/sun/sparc/start.c: #include
<syscall.h>. (syscall): Removed C function; define all
inside asm instead. (init_shlib): Cast return value of
syscall to right types.

Thu Apr 30 01:15:33 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* sysdeps/unix/bsd/sun/sparc/start.c: Added code to use
dynamic linker from trq@dionysos.thphys.ox.ac.uk.

* sysdeps/unix/bsd/sun/sunos4: Renamed to sunos411.

* setjmp/setjmp.h (sigsetjmp): Don’t declare as a func‐
tion. Define as a macro instead.
(__sigjmp_save): Declare; internal fn used by sigsetjmp
macro. (_setjmp), [__FAVOR_BSD] (setjmp): Always define
as a macro. * setjmp/sigjmp_save.c: New file. *
setjmp/_setjmp.c, setjmp/sigsetjmp.c: Removed. * Make‐
file (routines): Removed _setjmp, sigsetjmp; added sigjmp_save.
* misc/bsd‐compat.c (setjmp): Don’t define.

* configure (sysv, bsd): base_os=unix

* configure: Fatal error if the machine or os did not
generate any sysdep dirs.

* configure: No error message after config.sub fails.

* sysdeps/mips, sysdeps/unix/bsd/ultrix42: New port from
brendan@cs.widener.edu.

* Reorganized sysdeps: unix/bsd/
hp9k3bsd ‐> hp/m68k news ‐> sony/m68k
sun/ sun3/os3 ‐> sunos3/m68k
sun3 ‐> m68k sun4 ‐> sparc unix/sysv/
r4 ‐> sysv4 m68k/ 68881 ‐>
fpu 68881/68881‐switch ‐> fpu/switch * sys‐
deps/unix/bsd/sony/m68k/start.c: Changed #include. *
configure: Use config.sub to canonicalize name. Then use
combinations of machine, vendor, and os (with special
hacks for os flavors) for sysdep dirs to try. *
Makefile (distribute): Added config.sub.

Wed Apr 29 23:06:06 1992 Brendan Kehoe (bren‐
dan@churchy.gnu.ai.mit.edu)

* sysdeps/unix/bsd/hp9k3bsd/sysdep.h, sys‐
deps/unix/bsd/sun/sun3/sysdep.h, sysdeps/unix/bsd/sun/sun4/sys‐
dep.h, sysdeps/unix/bsd/vax/sysdep.h,sys‐
deps/unix/i386/sysdep.h, sysdeps/mach/i386/sysdep.h:
Change all definitions of movl/mov to MOVE(s, d), for
insn sets with d,s instead of s,d move insns. * sys‐
deps/unix/__getegid.S, sysdeps/unix/__geteuid.S, sys‐
deps/unix/__getppid.S: Use that in each of these.

Wed Apr 29 17:58:21 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* io/getwd.c: Default PATH_MAX if not defined.

* sysdeps/unix/getlogin.c, sysdeps/posix/ttyname.c: Make
buffers only as big as needed, avoiding PATH_MAX.

* sysdeps/posix/getcwd.c: Dynamically extend the buffer
as we go, not afterwards; default PATH_MAX if not de‐
fined.

* posix/execvp.c: Dynamically allocate an array on the
stack for the path name, rather than using a fixed‐size
array.

* pwd/putpwent.c: Print pw_dir field.

* sysdeps/posix/mktemp.c: If the pid has changed, update
OLDPID.

Tue Apr 28 19:25:21 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* malloc/valloc.c [emacs]: #include "config.h"

Thu Apr 23 13:55:34 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* sysdeps/m68k/68881/__drem.c: Define __drem, not drem.
Call ____drem, not __drem.

* malloc/realloc.c, malloc/malloc.c: Don’t #define memcpy
or memset if already #define’d.

Tue Apr 21 04:16:56 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* malloc/Makefile: Moved include ../Rules after mal‐
loc.tar rules. They need $(routines), which Rules
clears.

* malloc/realloc.c (MIN): Renamed to min. Conflicted
with HPUX system header files.

* Makefile (sysdep‐subdirs): Is not called +sysdep‐sub‐
dirs.

* configure: Don’t try to create config.status if . is
not writable.

* sysdeps/generic/printf_fp.c: Fixed padding loop condi‐
tion for zero case.

* math/math.h: Don’t #include <float.h> for HUGE_VAL.
Instead, #include <huge_val.h>. *
stdlib/stdlib.h: Ditto. * math/math.h [__USE_GNU]: #in‐
clude <nan.h> to get NAN value. * float.h: Removed.
* Makefile (headers): Removed float.h and fl.h.
* sysdeps/ieee754/huge_val.h, sysdeps/ieee754/nan.h,
sysdeps/stub/huge_val.h, sysdeps/stub/nan.h, sys‐
deps/vax/huge_val.h: Created (from old fl.h files).

* math/bsd/common_source/pow.c (pow_p): When checking if
Y is an integer, don’t let it overflow a ‘long int’.
(pow): Check for NaN with __isnan, not (X != X).

Tue Apr 21 02:26:19 1992 Brendan Kehoe (brendan@cs.widener.edu)

* sysdeps/unix/bsd/sun/sun4/__pipe.S, sys‐
deps/unix/bsd/vax/__wait3.S, sysdeps/unix/bsd/hp9k3bsd/__wait3.S:
Use the ENTRY macro for each beginning

* sysdeps/unix/sysdep.h, sysdeps/unix/bsd/hp9k3bsd/sys‐
dep.h, sysdeps/unix/bsd/sun/sun3/sysdep.h, sys‐
deps/unix/bsd/sun/sun4/sysdep.h, sysdeps/unix/bsd/vax/sysdep.h,
sysdeps/unix/i386/sysdep.h, sysdeps/unix/sysdep.h,
sysdeps/unix/sysv/sysdep.h [SYSCALL, SYSCALL__, PSEUDO]:
Modify to also receive the number of args the syscall
takes; added for future ports that will require this in‐
formation.

* sysdeps/unix/i386/__pipe.S, sys‐
deps/unix/bsd/vax/__pipe.S, sys‐
deps/unix/bsd/sun/sun4/__pipe.S, sys‐
deps/unix/bsd/hp9k3bsd/__pipe.S, sysdeps/unix/i386/__brk.S,
sysdeps/unix/bsd/sun/__getdents.S, sys‐
deps/unix/i386/__fork.S, sysdeps/unix/bsd/vax/__fork.S,
sysdeps/unix/bsd/sun/sun4/__fork.S, sysdeps/unix/__set‐
gid.S, sysdeps/unix/__setuid.S, sys‐
deps/unix/bsd/sun/sun3/__vfork.S, sys‐
deps/unix/bsd/sun/sun4/__vfork.S, sys‐
deps/unix/bsd/vax/__wait.S, sysdeps/unix/bsd/hp9k3bsd/__wait.S,
sysdeps/unix/i386/__wait.S, sys‐
deps/unix/bsd/sun/sunos4/sys_wait4.S, sys‐
deps/unix/bsd/sun/sun3/sethostid.S, sys‐
deps/unix/bsd/sun/sun4/sethostid.S, sys‐
deps/unix/bsd/__sigvec.S, sysdeps/unix/bsd/sun/sun4/__sigvec.S,
sysdeps/unix/sysv/i386/__sigret.S, sysdeps/unix/__getp‐
pid.S, sysdeps/unix/bsd/__access.S, sys‐
deps/unix/sysv/signal.S, sysdeps/unix/__getegid.S, sys‐
deps/unix/__geteuid.S, sysdeps/unix/bsd/bsd_getgrp.S,
sysdeps/unix/bsd/__dup2.S, sysdeps/unix/bsd/__fchmod.S,
sysdeps/unix/bsd/__fchown.S, sysdeps/unix/bsd/__flock.S,
sysdeps/unix/bsd/__fstat.S, sysdeps/unix/bsd/__lstat.S,
sysdeps/unix/bsd/__mkdir.S, sysdeps/unix/bsd/__read‐
link.S, sysdeps/unix/bsd/__rmdir.S, sys‐
deps/unix/bsd/__stat.S, sysdeps/unix/bsd/__symlink.S,
sysdeps/unix/bsd/4.4/chflags.S, sysdeps/unix/bsd/4.4/fch‐
flags.S, sysdeps/unix/bsd/4.4/sstk.S, sys‐
deps/unix/bsd/4.4/setlogin.S, sysdeps/unix/bsd/__get‐
dtsz.S, sysdeps/unix/bsd/__getpgsz.S, sys‐
deps/unix/bsd/__setregid.S, sysdeps/unix/bsd/__setreuid.S,
sysdeps/unix/bsd/__utimes.S, sysdeps/unix/bsd/ftrun‐
cate.S, sysdeps/unix/bsd/readv.S, sysdeps/unix/bsd/trun‐
cate.S, sysdeps/unix/bsd/vhangup.S, sys‐
deps/unix/bsd/writev.S, sysdeps/unix/bsd/__getpgrp.S,
sysdeps/unix/bsd/__setpgrp.S, sys‐
deps/unix/bsd/__getrusag.S, sysdeps/unix/bsd/getprio.S,
sysdeps/unix/bsd/getrlimit.S, sysdeps/unix/bsd/setprio.S,
sysdeps/unix/bsd/__sigblock.S, sys‐
deps/unix/bsd/__sigpause.S, sysdeps/unix/bsd/__sigstmsk.S,
sysdeps/unix/bsd/killpg.S, sysdeps/unix/bsd/sigstack.S,
sysdeps/unix/bsd/rename.S, sysdeps/unix/bsd/__adjtime.S,
sysdeps/unix/bsd/__setitmr.S, sysdeps/unix/bsd/__set‐
tod.S, sysdeps/unix/sysv/sys_stat.S, sys‐
deps/unix/sysv/sys_fstat.S, sysdeps/unix/sysv/__utssys.S,
sysdeps/unix/sysv/utime.S, sysdeps/unix/sysv/__times.S,
sysdeps/unix/sysv/i386/time.S, sysdeps/unix/sysv/alarm.S,
sysdeps/unix/sysv/pause.S, sysdeps/unix/sysv/ulimit.S,
sysdeps/unix/__chdir.S, sysdeps/unix/__chmod.S, sys‐
deps/unix/__chown.S, sysdeps/unix/__close.S, sys‐
deps/unix/__dup.S, sysdeps/unix/__fcntl.S, sys‐
deps/unix/__link.S, sysdeps/unix/__lseek.S, sys‐
deps/unix/__open.S, sysdeps/unix/__read.S, sys‐
deps/unix/__umask.S, sysdeps/unix/__unlink.S, sys‐
deps/unix/__write.S, sysdeps/unix/__ioctl.S, sys‐
deps/unix/__mknod.S, sysdeps/unix/acct.S, sys‐
deps/unix/chroot.S, sysdeps/unix/fsync.S, sys‐
deps/unix/ptrace.S, sysdeps/unix/swapon.S, sysdeps/unix/sync.S,
sysdeps/unix/__execve.S, sysdeps/unix/__getgid.S,
sysdeps/unix/__getpid.S, sysdeps/unix/__getuid.S,
sysdeps/unix/_exit.S, sysdeps/unix/__kill.S, sys‐
deps/unix/inet/__gethstnm.S, sysdeps/unix/inet/__select.S,
sysdeps/unix/inet/gethostid.S, sys‐
deps/unix/inet/sethostid.S, sysdeps/unix/inet/sethost‐
nam.S, sysdeps/unix/inet/accept.S, sys‐
deps/unix/inet/bind.S, sysdeps/unix/inet/connect.S, sys‐
deps/unix/inet/getpeernam.S, sysdeps/unix/inet/getsocknam.S,
sysdeps/unix/inet/getsockopt.S, sysdeps/unix/inet/lis‐
ten.S, sysdeps/unix/inet/recv.S, sys‐
deps/unix/inet/recvfrom.S, sysdeps/unix/inet/recvmsg.S,
sysdeps/unix/inet/send.S, sysdeps/unix/inet/sendmsg.S,
sysdeps/unix/inet/sendto.S, sys‐
deps/unix/bsd/vax/__wait3.S, sysdeps/unix/bsd/hp9k3bsd/__wait3.S,
sysdeps/unix/inet/setsockopt.S, sysdeps/unix/inet/shut‐
down.S, sysdeps/unix/inet/socket.S, sys‐
deps/unix/inet/socketpair.S: Added the argument count to
every use of SYSCALL, SYSCALL__ or PSEUDO.

Tue Apr 21 00:06:52 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* limits.h [__GNUC__ >= 2]: Use #include_next to get
GCC’s <limits.h>.

* sysdeps/posix/sysd‐stdio.c (__stdio_read,
__stdio_write, __stdio_errmsg) [EINTR && EINTR_REPEAT]:
Do EINTR looping. * sysdeps/unix/sysv/sysd‐stdio.c: New.
#define EINTR_REPEAT and #include posix/sysd‐stdio.c.

* stdlib/mbstowcs.c: Copy non‐MB chars verbatim, instead
of error.

* sysdeps/generic/printf_fp.c: Note sign of exponent and
take its absolute value for arithmetic.

* stdlib/testmb.c: New. * stdlib/Makefile
(tests): Added testmb.

* sysdeps/generic/frexp.c [NAN]: If VALUE is infinite,
return NAN. If VALUE is NAN, set errno to EDOM and re‐
turn VALUE. If VALUE is zero, return it. In all special
cases, clear *EXP.

* stdio/test‐fseek.c: New. * stdio/Makefile
(tests): Added test‐fseek.

* stdio/fseek.c: Position returned from io_funcs.seek is
absolute, not EOF‐relative when using SEEK_END.

* sysdeps/posix/sysd‐stdio.c (__stdio_gen_tempname): Set
errno to EEXIST when we run out.

* sysdeps/posix/sysd‐stdio.c (exists): Use stat rather
than open, so we don’t need read access.

* sysdeps/posix/mk‐stdiolim.c (TMP_NAM): is 62 ** 3.

Mon Apr 20 23:08:02 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/posix/sysd‐stdio.c (__stdio_gen_tempname):
Don’t return the same name twice when the file doesn’t
exist.

* stdio/vfprintf.c (%c format): Tests of LEFT for padding
were reversed.

* sysdeps/generic/printf_fp.c: If we have written some
fractional digits, write zeros up to the precision.

* sysdeps/unix/bsd/sun/sun4/start.c: Don’t clear the FP
until just before calling main.

Wed Apr 15 01:43:38 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* Makerules (libc.a): Don’t depend on libc.a(...); only
on lib. (lib‐noranlib): Depend on libobjs.
(+libobjs): New var. (libobjs): Depend on $(+li‐
bobjs). * Rules (others, tests): Don’t depend on lib; on
libc.a instead.

* locale/C‐numeric.c: grouping is "".

* locale/localeconv.c: Set int_frac_digits.

* locale/setlocale.c: Accept "" to mean "C".

* sysdeps/unix/sysv/r4/bsddir.h: Protect against multiple
inclusion.

* sysdeps/unix/sysv/r4/Dist: Created; includes bsddir.h
and sys_getdents.S.

* sysdeps/unix/i386/sysdep.h [! HAVE_SYSCALLS]: Don’t
#inlcude unix/sysdep.h. * sysdeps/unix/sysv/sys‐
dep.h, sysdeps/unix/sysdep.h (HAVE_SYSCALLS): #define.
* sysdeps/unix/sysv/i386/sysdep.h: #include
unix/sysv/sysdep.h, then unix/i386/sysdep.h.

* sysdeps/unix/sysv/Makefile: Fixed typos.

* sysdeps/unix/sysv/Dist: Add utmp.h.

* sysdeps/posix/Makefile (mk‐stdiolim): Explicit com‐
mands, to compile it without normal gcc flags.

* configure (i386‐sysv): unix/i386/sysv ‐>
unix/sysv/i386. (i386‐sysvr4): New configuration.

Tue Apr 14 16:47:47 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* setjmp/setjmp.h: Put sigjmp_buf before typedef for
jmp_buf, which needs sigjmp_buf #ifdef __FAVOR_BSD.

* posix/unistd.h (getgroups): Don’t #define.

* sysdeps/stub/ptrace.c: #include <stdarg.h>; declare AP
in fn. Avoid "PTR a, b".

* sysdeps/posix/sigintr.c: New; sets global sigset_t
‘_sigintr’. * sysdeps/posix/signal.c: Use SA_RESTART un‐
less SIG is in _sigintr. * signal/sigintr.c: Removed.
* sysdeps/stub/sigintr.c: New.

* sysdeps/posix/sysd‐stdio.c (__stdio_read,
__stdio_write, __stdio_errmsg): Don’t treat EINTR spe‐
cially.

* sysdeps/unix/Makefile (sys/param.h): Touch the target
after mv’ing from the tmp file, so the file is newer than
the directory.

* sysdeps/generic/strcasecmp.c: Simplified loop; fixed
returning wrong value on equal comparison.

* stdlib/bsearch.c: Don’t lose if NMEMB is zero.

* sysdeps/unix/bsd/__times.c (timeval_to_clock_t): Mi‐
croseconds are not milliseconds.

Mon Apr 13 18:25:17 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/generic/strncase.c: New. *
string/Makefile (routines): Add strncase. *
string/string.h [__USE_GNU]: Declare strncasecmp.

* time/__tzset.c: Correctly default DST offset to one
hour later than standard offset.

* time/__tzset.c (tz_rule): Made ‘name’ not be const.

* string/tester.c [! HAVE_GNU_LD]: #define _sys_nerr and
_sys_errlist to sys_nerr and sys_errlist.

* stdio/test_rdwr.c: Fixed printf call missing arg.

* posix/getgrps.c: #undef getgroups first.

* misc/brk.c: Declare __brk. * misc/sbrk.c: De‐
clare __sbrk. * misc/setreuid.c, misc/setregid.c: #in‐
clude <unistd.h>. Fixed types in DEFUN in fn alias.
* misc/getpgsz.c, misc/getdtsz.c, misc/gethstnm.c: #in‐
clude <unistd.h>. * misc/getdents.c: Declare __getdiren‐
tries. * misc/mknod.c: #include <sys/stat.h>. *
posix/unistd.h: Declare many __ versions of things.
[__OPTIMIZE__]: Many #define foo(...) ‐> __foo(...).

* io/fcntl.c: #include <sys/file.h>.

* sysdeps/unix/Makefile: New hair to install other head‐
ers the system sys/param.h #includes.

* time/__tzset.c (__tzfile_default): Declare.

* time/sys/time.h (timezone): #define to __timezone.

* sysdeps/ieee754/printf_fp.c: #undef outchar before #in‐
cluding generic/printf_fp.c.

* stdio/__vfscanf.c: For %c, don’t lose the first char.
For %s, properly consume the last char when we hit max
width.

* posix/gnu/types.h (__dev_t, __mode_t): Made int rather
than short. * io/gnu/stat.h (struct stat): Made st_dev,
st_rdev, and st_mode use {,unsigned} short int instead of
__dev_t/__mode_t.

Fri Apr 10 13:55:07 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* setjmp/setjmp.h: Rearranged so that jmp_buf is defined
before any prototypes are used. (longjmp): De‐
clare with jmp_buf, not __jmp_buf, to win in BSD mode.
(_longjmp): #define as __longjmp, not longjmp.
(_longjmp, _setjmp): Take jmp_buf args, not __jmp_buf.
Call sig{set,long}jmp with SAVEMASK==0, rather than
__{set,long}jmp. * _longjmp.c, _setjmp.c: #define
_BSD_SOURCE before all else. (_setjmp): Call sigsetjmp,
not __setjmp.

* io/sys/stat.h (__fchmod, __mknod): Fixed arg types.

* io/fchmod.c: Fixed typo.

* time/Makefile (0: Renamed to nl.

* Makerules (native‐compile): New variable. *
sysdeps/generic/Makefile, sysdeps/unix/Makefile, sys‐
deps/unix/bsd/Makefile: Use it in cmds for generator progs.

* sysdeps/unix/sysv/sysv_termio.h (_SYSV_TAB3): New; same
as XTABS.

* sysdeps/unix/sysv/setrlimit.c: Removed extern decl of
etext (unused).

* sysdeps/unix/sysv/__tcgetatr.c, sys‐
deps/unix/sysv/tcdrain.c, sysdeps/unix/sysv/tcflow.c,
sysdeps/unix/sysv/tcflush.c, sysdeps/unix/sysv/tcgetp‐
grp.c, sysdeps/unix/sysv/tcsendbrk.c, sys‐
deps/unix/sysv/tcsetattr.c, sysdeps/unix/sysv/tcsetpgrp.c:
#include <sys/ioctl.h>

* sysdeps/unix/sysv/__rmdir.c, sys‐
deps/unix/sysv/__mkdir.c, sysdeps/posix/writev.c: #in‐
clude <string.h>.

* sysdeps/posix/clock.c: Removed unused variable.

Thu Apr 9 01:49:39 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Version 1.03.

* grp/testgrp.c: Print members correctly.

* stdio/test‐popen.c: Pipe to cat rather than more, and
then check output file. Better error checking.

* setjmp/tst‐setjmp.c: Notice if we didn’t jump the right
number of times.

* signal/tst‐signal.c, string/testcopy.c,
stdio/bug[12345].c: Print msgs that more clearly say
whether we won or lost. Better error checking.

* sysdeps/generic/printf_fp.c: Completely rewritten from
scratch. Now uses Steele & White’s "Dragon4" algorithm
to do things right.

Wed Apr 8 01:08:41 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/i386/__longjmp.c: Test for VAL==0 before clob‐
bering regs. Wire V to AX, rather than DX. Use "a" con‐
straint on unused operand in jmp asm, rather than global
reg var, to force value into AX.

Tue Apr 7 17:51:25 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* posix/Makefile (headers): Added tar.h. *
posix/tar.h: New file, from djm.

Mon Apr 6 01:39:07 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* time/tzfile.c (struct ttinfo): Made ‘isstd’ member be
unsigned char instead of 1‐bit bitfield.

* time/tzfile.c (__tzfile_default): New function.
* time/__tzset.c: Call it when no rule is given.
* time/Makefile: Install posixrules just like localtime.
* time/Makeconfig (posixrules, posixrules‐file): New con‐
fig vars.

* time/time.h (struct tm): Add ‘tz_gmtoff’, ‘tz_zone’.
* time/localtime.c: Set those members.

* sysdeps/ieee754/__drem.c: XOR the signs of X and the
result, rather than setting the sign of the result to
that of X.

* sysdeps/unix/bsd/make‐local_lim.c: Don’t do MAXUPRC or
MAXLINK if <sys/param.h> didn’t define them.

* sysdeps/posix/__sigvec.c: Fixed braino: SA_ONSTACK
should be SA_RESTART.

* pwd/getpw.c, pwd/putpwent.c: Use %u fmt for uid and gid
(which are unsigned).

* time/time.h (tzname, daylight, timezone): Don’t #define
to __. * time/tzfile.c, time/__tzset.c, time/local‐
time.c, time/strftime.c [! HAVE_GNU_LD]: #define __ to
plain for above three vars.

Thu Apr 2 03:39:04 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* locale/Makefile (routines): Add localeconv.

* sysdeps/i386/jmp_buf.h: Removed ‘__dx’ elt; replaced
with ‘__pc’. __bp and __sp are PTRs. * sys‐
deps/i386/setjmp.c: Rewritten. Use global reg vars to save regs.
Use arithmetic on address of arg to get caller’s PC, BP,
and SP. * sysdeps/i386/__longjmp.c: Rewritten. Use
global reg vars to restore regs.

Wed Apr 1 23:13:57 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Moved sysdeps/unix/i386/{bsd,sysv} to sys‐
deps/unix/{bsd,sysv}/i386, and updated Implies files.
Implied dirs come before parents, and we want unix/i386
before unix/{sysv,bsd}.

* io/chown.c: Fixed types in fn alias.

Wed Apr 1 14:18:58 1992 Torbjorn Granlund
(tege@mole.gnu.ai.mit.edu)

* sysdeps/generic/memcmp.c (memcmp_common_align‐
ment, memcmp_not_common_alignment): Move back do0 label
to its original position, after the loop. Add comment
before do0 labels. * sysdeps/generic/wordcopy.c (_word‐
copy_fwd_aligned): Indentation. Add comment before do0
labels.

Wed Apr 1 02:16:19 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/unix/sysv/Makefile [subdir==misc]: Generate
sysdep header termio.h from sysv_termio.h.

* sysdeps/generic/make_siglist.c: New file. *
sysdeps/generic/signame.[ch]: Symlink’d from /gd/gnu/lib.
* sysdeps/generic/Makefile: Generate siglist.c with
above. * sysdeps/generic/Dist: Add make_siglist.c, sig‐
name.[ch].

* sysdeps/unix/bsd/Makefile (before‐compile): Define
properly as a variable.

* sysdeps/unix/bsd/make_siglist.c: Generate #define
_sys_siglist sys_siglist #ifndef HAVE_GNU_LD. *
stdio/psignal.h, string/strsignal.h [! HAVE_GNU_LD]: #de‐
fine _sys_siglist sys_siglist.

* sysdeps/unix/sysv/signum.h (SIGCHLD): Changed #.
(SIGUSR1, SIGUSR2, SIGPWR): Added. (_NSIG): Up‐
dated.

* sysdeps/unix/sysv/utmp.h: New.

* sysdeps/unix/bsd/getlogin.c: Moved to sysdeps/unix/get‐
login.c.

* sysdeps/unix/sysv/r4/bsddir.h, sys‐
deps/unix/sysv/r4/readdir.c, sys‐
deps/unix/sysv/r4/closedir.c, sysdeps/unix/sysv/r4/rewinddir.c,
sysdeps/unix/sysv/r4/opendir.c, sys‐
deps/unix/sysv/r4/sys_getdents.S, sys‐
deps/unix/sysv/r4/Makefile: New.

* sysdeps/unix/sysv/tcflow.c: New.

* sysdeps/unix/sysv/sysv_termio.h: Add lots of bits; VMIN
and VTIME elts of c_cc. * sys‐
deps/unix/sysv/__tcgetatr.c, sysdeps/unix/sysv/tcsetattr.c: Use
VMIN and VTIME elts from sysv termio struct.

* sysdeps/unix/sysv/__gethstnm.c: New.

* sysdeps/unix/sysv/local_lim.h (NGROUPS_MAX): Define as
0.

* sysdeps/unix/sysv/fcntlbits.h (struct __flock): Changed
l_pid to short; added l_sysid.

* sysdeps/unix/sysv/__sigact.c: New.

* sysdeps/unix/sysv/r4/__access.S: New; just #include
bsd/__access.S.

* sysdeps/unix/sysv/Makefile: Fixed typo: sysdep‐routines
=> sysdep_routines.

* sysdeps/unix/i386/sysv/__sigret.S, sys‐
deps/unix/i386/sysv/signal.S: New.

* signal/Makefile (routines): Added sigret, __sigret.
* signal/sigret.c: New; fn alias to __sigreturn.
* sysdeps/stub/__sigret.c: New.

* sysdeps/unix/i386/sysdep.h (PSEUDO): Use hard‐coded
numbers for lcalls insn‐‐GAS bug.

* sysdeps/unix/bsd/readdir.c (D_NAMLEN): New macro; de‐
fine if not already defined, to return length of a direct
elt.

* sysdeps/stub/__getgrps.c: #include <limits.h>; if
NGROUPS_MAX is defined as 0, always return 0, and no stub
warning.

* sysdeps/posix/system.c: Don’t fail if sigprocmask fails
with ENOSYS.

* sysdeps/posix/sysd‐stdio.c, sysdeps/stub/sysd‐stdio.c:
Doc fix.

* sysdeps/posix/__gettod.c: Use CONST where appropriate
and not where not.

* sysdeps/i386/memchr.c, sysdeps/i386/strlen.c: Changed
‘repnz’ to ‘repne’.

* stdio/fgets.c: Notice returned char from __fillbf in
length calc.

* misc/sys/ioctl.h: Always define ‘struct sgttyb’.

* stdlib/alloca.h: #undef __alloca, too. Always
#define alloca == __alloca.

* signal/signal.h (__kill): Fixed type in decl.
* posix/unistd.h (setgid): Fixed type in decl. *
posix/setpgid.c, posix/setgid.c, signal/kill.c, posix/fork.c,
posix/vfork.c, posix/getpid.c, posix/getppid.c,
posix/setsid.c: Fixed DEFUNs in fn aliases. *
pwd/getpw.c: Fixed type in defn.

Mon Mar 30 17:06:54 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/generic/printf_fp.c: In %f, decrement PREC for
each leading zero in the fractional part.

* sysdeps/ieee754/ieee754.h: Made all elts unsigned.
* sysdeps/ieee754/__drem.c: Return NAN if Y is zero.
* sysdeps/ieee754/ldexp.c: Rewritten. * sys‐
deps/ieee754/__logb.c: Handle denormalized numbers.

* posix/sys/wait.h: #include <endian.h>

* sysdeps/ieee754/fl.h: Fixed NAN and HUGE_VAL bit pat‐
terns; added code for little endian.

* sysdeps/generic/frexp.c: Add one to exponent to give
the result a digit before the point. Use negative expo‐
nent rather than division.

* math/__finite.c: Return zero for NaN. *
math/math.h: Doc fix for same.

* stdio/__getdelim.c: Correctly notice when the buffer is
full.

* sysdeps/unix/bsd/opendir.c: Pass arg to fcntl F_SETFD
by value, not by reference.

* time/__tzset.c: Correct default rule: M4.1.0,M10.5.0.

* time/__tzset.c: Move ptr past Mfoobar syntax after
parsing it.

* time/__tzset.c: Properly parse the DST offset (or its
absence).

* sysdeps/unix/make_errlist.c: Write an #ifdef
HAVE_GNU_LD, rather than testing it when compiling
make_errlist.

* time/tzfile.c (__tzfile_read): Convert transitions to
host byte order.

* Makeconfig (localtime‐file): New config var. *
time/Makefile (tzfile.o, zic.o): Use it for TZDEFAULT.

* stdio/Makefile (tests): Added tstgetline. *
stdio/tstgetline.c: New; test for getline.

* Makeconfig (sysincludedir): Define and document.
* sysdeps/unix/snarf‐ioctls, sysdeps/unix/Makefile: Use
${sysincludedirs} in place of hard‐coded /usr/include.

Fri Mar 27 13:33:37 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* string/Makefile (headers): Added endian.h.

* sysdeps/ieee754/__drem.c: Fixed typo which made X and Y
be the same location.

* sysdeps/generic/__lstat.c: #include <gnu‐stabs.h>

* stdio/internals.c (flushbuf): Increment target as well
as offset when we write out the single char.

* grp/Makefile (tests): Add testgrp (formerly bug1).

Thu Mar 26 14:59:45 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* stdio/fread.c: Don’t read directly when we need to seek
first.

Wed Mar 25 02:34:49 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* sysdeps/unix/bsd/alarm.c: There are 1000000 usecs in a
sec.

* sysdeps/unix/bsd/sun/ptrace.c: Removed.

* stdio/fgets.c: For unbuffered stream, don’t return EOF
after reading some data. Added missing parens.

Tue Mar 24 18:31:07 1992 Torbjorn Granlund (tege@hal)

* sysdeps/i386/memset.c: Move code that puts C in all
four nibbles of X inside ‘if’ statement. Include sys‐
deps/i386/memset.c (not bzero). * sysdeps/i386/memchr.c:
Rewrite to be faster. Include sysdeps/generic/memchr.c
(not bzero).

Tue Mar 24 01:21:32 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* io/Makefile (routines): Add getdirname. *
posix/unistd.h [__USE_GNU]: Declare getdirname. *
io/getdirname.c: New.

* Makeconfig (stddef.h): Define and document. *
Makefile (headers): Use $(stddef.h) for stddef.h.

Mon Mar 23 18:04:56 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* sysdeps/posix/mktemp.c: Do PID % 100000 for 5 digits.

* time/Makefile (tzfiles): Remove pacificnew; it won’t
compile. (distribute): Put it here instead.

* stdio/printf‐prs.c [HAVE_LONGLONG]: Fixed missed var
name change from code snarf.

* stdio/fgets.c: Return NULL when we get EOF.

* posix/execvp.c, sysdeps/posix/putenv.c [! HAVE_GNU_LD]:
Define __environ as environ.

* sysdeps/unix/bsd/Makefile, sysdeps/unix/Makefile: In
rules to compile generator programs, cd into $(objdir)
first to avoid braindead cc clobbering foo.o in cwdir.

* sysdeps/m68k/setjmp.c: Deref fpregs array in asm.

* time/Makefile (zones‐%): Fixed generated rules.

* math/Makefile (libm.a): Use r cmd to ar.

* time/Makefile (zones‐%): In echo commands, put \\n out‐
side of quotes instead of \n inside single quotes. SysV
echo is braindead.

* io/fchown.c, io/fchmod.c, misc/bsd‐compat.c: Fixed DE‐
FUNs in fn aliases.

* time/Makefile (echo‐zonenames): New target; tell user
what all timezones defined in all zone files are.
* Makeconfig (localtime): Comment about using above.

Sun Mar 22 18:34:02 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* time/australasia (NZ): Updated rules.

Sat Mar 21 01:00:49 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* stdio/printf‐prs.c [__GNUC__]: Define HAVE_LONGLONG.

Fri Mar 20 00:35:36 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Version 1.02.

* stdio/Makefile (routines): Add __getdelim, __getline.

* sysdeps/unix/i386/start.c: No ../ in #include file
name.

* sysdeps/posix/sysd‐stdio.c, sysdeps/stub/sysd‐stdio.c
(__stdio_seek): Doc fix.

* sysdeps/posix/mk‐stdiolim.c: Add one to L_tmpnam, for
the null terminator.

* sysdeps/posix/__dup2.c: Use an extra fcntl call to
check that the first fd is valid. Close the second fd
before doing the dup.

* pwd/pwdread.c, grp/grpread.c: Use __getline. Ignore
lines beginning with #.

* Makeconfig (objdir): If $(ARCH) starts with a slash,
don’t prepend $(..).

Thu Mar 19 21:36:57 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Makefile (install‐lib): Add Mcrt1.o.
(Mcrt1.o): Create empty file.

Wed Mar 18 16:00:18 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Makeconfig (+link): Use $(libdir) for gnulib.

Tue Mar 17 20:12:35 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* math/bsd/common_source/mathimpl.h: Include <endian.h>.
[__LITTLE_ENDIAN]: #define national.

* stdio/__vfscanf.c: EOF at end of string is not
an error.

* stdio/tstscanf.c: Added new sscanf test.

* stdio/vfprintf.c: For %#x, print 0x after padding 0s,
not before.

* stdio/fputs.c: Reverse size args to fwrite and test for
returning LEN, rather than 1, so 0‐length wins.

* io/gnu/fcntl.h: Moved to sysdeps/unix/bsd/fcntlbits.h.
* io/Makefile (headers), io/fcntl.h: gnu/fcntl.h ‐> fc‐
ntlbits.h. * sysdeps/stub/fcntlbits.h, sys‐
deps/unix/sysv/fcntlbits.h: New.

* stdio/fopen.c (__getmode): Don’t fall through in switch
after ’a’ case.

* locale/C‐ctype_ct.c (__ctype_b_C): Use symbolic con‐
stants. 9..12 are not _NOgraph.

Tue Mar 17 19:04:01 1992 Torbjorn Granlund
(tege@hal.gnu.ai.mit.edu)

* string/testcopy.c: Fix typo in comment.

Tue Mar 17 19:57:49 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/generic/strstr.c, string/string.h,
string/tester.c (strstr): Arguments were reversed.

Tue Mar 17 18:52:39 1992 Torbjorn Granlund
(tege@hal.gnu.ai.mit.edu)

* sysdeps/i386/memcopy.h (WORD_COPY_BWD): Divide nbytes
by 4. * sysdeps/i386/memchr.c: Rewrite. Handle zero
length correctly. Don’t ask gcc to allocate eax to two
regs.

Tue Mar 17 17:31:06 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* posix/unistd.h (getpagesize): Declare as size_t.

* Makeconfig (CC): Define unless origin is default.

* stdio/__getdelim.c: Be sure to leave room for the ter‐
minating null.

* string/testcopy.c: New version from tege.

* malloc/dist‐README: Changed mailing list addr to bug‐
glibc.

* sysdeps/unix/bsd/__sigproc.c: Use right mask for
SIG_UNBLOCK.

* Makefile, Rules (clean, mostlyclean): Put ‐ before rm
commands.

Tue Mar 17 11:14:40 1992 Torbjorn Granlund
(tege@hal.gnu.ai.mit.edu)

* sysdeps/rs6000/memcopy.h (BYTE_COPY_BWD): Assign
__nbytes. * sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Copy
memory, not just pointers. Clean up switch expression.

Mon Mar 16 05:09:23 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* posix/wordexp.c: New.

* time/tzfile.c (__tzfile_read): Don’t die if some of the
sections of the datafile are empty.

* stdio/getline.c, stdio/getdelim.c: Moved to
__getline.c/__getdelim.c. New files with fn
aliases. * stdio/stdio.h (__getline, __getdelim): De‐
clare.

* time/Makefile (zonenames): Hair to find the names of
zones described by $(tzfiles). (install‐data):
Install zoneinfo/$(zonenames). Rules to make zones from
tzfiles. [localtime] (zoneinfo/localtime): Make from
zoneinfo/$(localtime). * Makeconfig (localtime): New
user‐frobbable variable.

Sun Mar 15 00:01:05 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* Makerules (sysdep‐Makefile): Do if ... else true to
avoid bogus nonzero status.

* Makefile: Denewlinify +sysdep‐subdirs after including
sysd‐dirs.

* sysdeps/vax/__infnan.c [!__GNUC__]: Error.

* zic.c, scheck.c, emkdir.c, ialloc.c, private.h, tz‐
file.h: Snarfed from localtime3 dist. *
time/Makefile (others): Added zic. (distribute): Added
private.h, emkdir.c, ialloc.c, scheck.c. (install): De‐
fined: zic, zdump.

* Makeconfig (bindir): Define. * Makerules: Add
rule to install $(install) in $(bindir). (+install): In‐
clude $(install) in $(bindir).

* sysdeps/unix/Makefile: Moved siglist.c rules to
unix/bsd/Makefile. * sysdeps/unix/make_siglist.c: Moved
to bsd/. * sysdeps/unix/Dist: Remove it. * sys‐
deps/unix/bsd/Dist: Add it.

* malloc/Makefile (malloc/gmalloc.c): Depend on headers
and sources.

* sysdeps/unix/bsd/sun/sun4/__sigvec.S: Doc fix.

* sysdeps/stub/stty.c, sysdeps/stub/gtty.c: Include <std‐
def.h>.

* sysdeps/unix/sysv/__fstat.c: Include sysv_stat.h.

* misc/bsd‐compat.c: Define _BSD_SOURCE rather than __FA‐
VOR_BSD. (longjmp): Use function_alias_void.

* time/Makefile (tzfile.o): Compile with
‐DTZDIR=’"$(datadir)/zoneinfo"’.d

Sat Mar 14 23:26:46 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* Makeconfig (INSTALL_DATA, INSTALL_PROGRAM, INSTALL):
Don’t define if already defined.

* setjmp/longjmp.c: Use function_alias_void.

* gnu‐stabs.h (function_alias_void): New macro.

* gnu‐stabs.h [!HAVE_GNU_LD] (function_alias): Fixed not
to loop.

Fri Mar 13 17:20:19 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* sysdeps/posix/sysd‐stdio.c (__stdio_gen_tempname): In‐
clude null terminator in length calculation.

* stdio/fgets.c: Be sure to return NULL on error/eof for
unbuffered stream. If N==1, don’t write the first char
if !seen. When the buffer is empty, notice the effect of
__fillbf after calling it, avoiding a (costly) no‐op it‐
eration. Don’t return NULL for reading no chars; only
for EOF or error. Don’t write terminator at beginning of
S if eof on first char.

* malloc/Makefile (libmcheck.a), Makefile (crt0.o): Re‐
move target first; don’t use ‐f to ln.

* posix/execl.c, posix/execv.c, sysdeps/posix/getenv.c,
sysdeps/posix/system.c [HAVE_GNU_LD]: #define __environ
environ

* posix/unistd.h [__OPTIMIZE__] (execv): Removed defn.
Can’t know whether to use __environ or environ.

* io/fchown.c, io/chown.c, io/open.c, misc/select.c,
signal/sigvec.c, time/adjtime.c: Fixed DEFUNs in fn
aliases.

* time/__tzset.c: Don’t dereference NULL if getenv re‐
turns it.

Thu Mar 12 16:01:33 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/ieee754/sqrt.c: Replaced undefined var ref ‘k’
with constant.

* sysdeps/i386/__longjmp.c: #include <stdlib.h>.

* time/tzfile.c (__tzfile_compute): Use types[0] if TIMER
falls between transitions[0] and transitions[1].
Always set __tzname[INFO‐>isdst] to the name for INFO.

* sysdeps/i386/__longjmp.c: Changed register names for
gcc; eax/%eax ‐> ax.

* sysdeps/unix/snarf‐ioctls: Avoid infinite recursion.

Wed Mar 11 00:16:18 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* Version 1.01.

* Makefile (munch‐init.c): Made $(objpfx)munch‐init.c.

* signal/sigvec.c, signal/sigaction.c, stdio/vsscanf.c:
Fixed DEFUNs in fn aliases.

* sysdeps/m68k/68881/68881‐switch/switch.c: Merged vars
have_fpu and test_fpu into one.

* sysdeps/mach/i386/start.c, sysdeps/vax/setjmp.c,
sysdeps/vax/__longjmp.c, sysdeps/vax/__infnan.c,
sysdeps/unix/start.c, sysdeps/unix/bsd/sun/sun4/sig‐
tramp.c, sysdeps/unix/bsd/sun/sun4/start.c, sys‐
deps/unix/bsd/hp9k3bsd/start.c, sysdeps/sparc/sqrt.c,
sysdeps/rs6000/ffs.c, sysdeps/m88k/ffs.c, sys‐
deps/m68k/setjmp.c, sysdeps/m68k/__longjmp.c, sys‐
deps/m68k/68881/printf_fp.c, sysdeps/m68k/68881/atan2.c,
sysdeps/m68k/68881/__logb.c, sys‐
deps/m68k/68881/68881‐switch/switch.c, sysdeps/m68k/ffs.c,
sysdeps/i386/memset.c, sysdeps/i386/memchr.c, sys‐
deps/i386/ffs.c, sysdeps/i386/bzero.c, sys‐
deps/i386/__longjmp.c, sysdeps/am29k/ffs.c [! __GNUC__]:
Either include the generic (or in some cases, ieee754)
version, or do a #error.

* Rules: Null out ‘objects’ at end to shrink environment
some. (+objs): Define with := from $(objects).
(clean): Use that instead of $(objects).

* sysdeps/i386/setjmp.c: Doubled % where it wanted to be
literal.

* posix/getgrps.c, io/flock.c, io/mkdir.c, io/read.c,
io/write.c, io/stat.c, misc/getdents.c, misc/mknod.c,
misc/utimes.c: Fixed DEFUNs in fn aliases.

* sysdeps/unix/bsd/hp9k3bsd/sysdep.S: Use # instead of
kludge cookie.

* posix/getegid.c: Fixed type in DEFUN.

* time/tzfile.c (__tzfile_compute): If TIMER is before
any transition in the file, use the first non‐DST type,
rather than the type of the first transition in the file.

Tue Mar 10 20:01:55 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* configure: Take optional ‐nfp arg. (news,
sun3, hp300): Prepend m68k/68881 unless ‐nfp is given. *
sysdeps/unix/bsd/hp9k3bsd/Implies: Don’t specify 68881.

* stdio/getdelim.c: When the buffer is empty, notice the
effect of __fillbf after calling it, avoiding a (costly)
no‐op iteration.

* sysdeps/vax/__memccpy.c: Fixed comments.

* stdio/fmemopen.c: Set all fns and seen bit before we
might call something that would care (fclose).

* configure (sun3, sun‐3): Mean sun3os4, not sun3os3.
(sun3os3): Use just unix/bsd/sun/sun3/os3. *
sysdeps/unix/bsd/sun/sun3/os3: New directory. (sys‐
deps/unix/bsd/sun/sunos3/__wait.S): Moved to there. *
sysdeps/unix/bsd/sun/sun3/sysdep.h: Fixed; took hp9k3bsd/sysdep.h
and changed movel foo, d0 to pea foo for syscall no.
* sysdeps/unix/bsd/sun/sun3/__brk.S: Fixed pea addr mode.
* sysdeps/unix/bsd/sun/sun3/sethostid.S: errnos.h, not
gnu/errno.h. Use .stabs directly, not gnu‐stabs.h (which
uses ‘asm’). * sysdeps/m68k/setjmp.c: Changed asm for
first moveml, so it works on sun3. * sys‐
deps/unix/bsd/sun/sun3/start.c: Removed ../ from #include path.

Sun Mar 8 16:33:33 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* misc/makefile (headers): Added stab.h, stab.def.
* Many files: Changed __GNU_STAB__ to HAVE_GNU_LD.

Sat Mar 7 21:21:10 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* time/mktime.c: Normalize the struct values before
checking for out of range values.

Fri Mar 6 11:43:35 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/ieee754/ldexp.c: New.

* stdio/internals.c (flushbuf): When priming the stream
for writing, advance the target pos to account for chars
gotten from the buffer.

* sysdeps/generic/Makefile: For math routines, don’t fil‐
ter out __finite.

* sysdeps/posix/sysd‐stdio.c (__stdio_gen_tempname):
Fixed bugs.

* misc/Makefile (routines): Remove flock.

* stdlib/strtod.c: Fixed typo in checking for exponent
overflow. Do set *ENDPTR on overflow or underflow.

* sysdeps/sparc/fl.h: Removed. Should use ieee754 ver‐
sion.

* sysdeps/generic/Makefile: For math routines, don’t fil‐
ter out __copysign, __scalb, __drem and __logb; and don’t
add support.

* sysdeps/ieee754/__drem.c: New. * sys‐
deps/ieee754/sqrt.c: New. * sysdeps/stub/__drem.c: New.
* sysdeps/stub/sqrt.c: New. * sys‐
deps/stub/__logb.c: New. * sysdeps/ieee754/__logb.c:
New.

* sysdeps/ieee754/__infnan.c: Include <float.h> and use
NAN macro rather than cooking one up by hand.

* sysdeps/unix/bsd/getlogin.c: Open /dev/tty, rather than
using stdin. Make sure the name is always null‐termi‐
nated.

Thu Mar 5 17:11:46 1992 Roland McGrath
(roland@geech.gnu.ai.mit.edu)

* sysdeps/m68k/68881/__scalb.c: Removed. * sys‐
deps/m68k/68881/__math.h: Removed defn of __scalb. *
math/math.h [__OPTIMIZE__]: Define __scalb to be ldexp.
* math/__scalb.c: New; fn alias for ldexp.

* stdio/Makefile (tests): Added bug4 and bug5. *
stdio/bug4.c, stdio/bug5.c: Test cases from reported bugs just
fixed.

* stdio/internals.c (flushbuf): If nothing was written by
the user, but there is previously gotten data, don’t
write anything out.

* stdio/internals.c (seek_to_target): Call
__stdio_check_offset first.

* sysdeps/unix/sysv/sysv_termio.h: New file. *
sysdeps/unix/sysv/Dist: Include it. * sys‐
deps/unix/sysv/tcsetattr.c, sysdeps/unix/sysv/tcsetpgrp.c,
sysdeps/unix/sysv/tcsendbrk.c, sysdeps/unix/sysv/tcgetp‐
grp.c, sysdeps/unix/sysv/tcflush.c, sys‐
deps/unix/sysv/tcdrain.c, sysdeps/unix/sysv/__tcgetatr.c:
New files.

* stdio/internals.c (fillbuf): Don’t set the put_limit on
writable streams. Wait for first write attempt to prime
them, so we don’t flush the unchanged data unnecessarily.

* stdlib/exit.c: Look for NULL terminator on ld set,
rather than using length word.

* Makefile (headers): Remove stdarg.h and varargs.h.
Users will get them from GCC. * stdio/printf.h:
Include <stdarg.h> to use va_list. * stdio/stdio.h:
Don’t include <stdarg.h> with magic. Use PTR in place of
__va_list in prototypes. * stdio/__vsscanf.c, stdio/vs‐
canf.c, stdio/vfscanf.c, stdio/__vfscanf.c, stdio/vd‐
printf.c, stdio/vasprintf.c, stdio/vsprintf.c, stdio/vs‐
nprintf.c, stdio/vprintf.c, stdio/vfprintf.c: Fixed DE‐
FUNs.

* sysdeps/ieee754/ieee754.h: New file; declares union
ieee754_double. * sysdeps/ieee754/Dist: Add it.
* sysdeps/ieee754/__copysign.c, sysdeps/ieee754/__inf‐
nan.c, sysdeps/ieee754/__isinf.c, sysdeps/ieee754/__is‐
nan.c, sysdeps/ieee754/__printf_fp.c: Use it.

* sysdeps/unix/sysv/uname.c: New. * sys‐
deps/unix/sysv/__utssys.S: New. * sys‐
deps/unix/sysv/Makefile (routines): Add __utssys. * sys‐
deps/unix/sysv/Dist: Add __utssys.S.

* sysdeps/unix/sysv/__rmdir.c: New; runs ‘rmdir’ shell
command.

* sysdeps/unix/sysv/__mkdir.c: New; runs ‘mkdir’ shell
command.

* sysdeps/generic/__lstat.c: New; fn alias for __stat.

* sysdeps/unix/sysv/__gethostname.c: New; uses uname.

* sysdeps/unix/Makefile (sys/params.h): Protect with
_GNU_SYS_PARAM_H, in case the system’s file uses
_SYS_PARAM_H itself.

* stdio/internals.c (__stdio_check_offset): Call
init_stream to make sure we have fns.

* stdio/fread.c: Don’t call __fillbf if the put_limit is
past the beginning of the buffer; only if !seen, no
buffer, or pushed back.

* stdio/fopen.c (__getmode): Set create bit for "a" mode.

* io/mkdir.c: #undef mkdir before fn alias.

* time/tzfile.c (__tzfile_compute): Don’t decrement I if
it’s zero.

* Makefile (crt0.o): Use ln ‐f.

* math/Makefile (install): Install libm.a.
(libm.a): Make an empty archive.

Wed Mar 4 19:54:50 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* README.template: Added note about long filenames in
dist.

* io/Makefile (routines): flock ‐> __flock *
flock.c: New file, fn alias. * sysdeps/unix/bsd/flock.S:
Renamed to sysdeps/unix/bsd/__flock.S; made __flock.
* sysdeps/mach/hurd/flock.c: Renamed to sys‐
deps/mach/hurd/__flock.c; made __flock. * sys‐
deps/stub/flock.c: Renamed to sysdeps/stub/__flock.c; made
__flock.

* time/time.h (__isleap): Fixed; every 400th year is not
a leap year, not every 1000th.

* stdio/internals.c (flushbuf): Increment the target po‐
sition the amount the user wrote into the buffer, not the
amount we wrote out to the file (which is greater if we
read a block and modified it in the middle).

* stdio/internals.c (flushbuf): Set get_limit to the be‐
ginning of the buffer for all streams, except when we
have just read in a block.

Sat Feb 29 15:56:22 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* posix/Makefile (others): Removed logname, id.
* time/Makefile (others): Removed date.

* sysdeps/unix/bsd/sun/sun4/start.c: Make an alias called
‘start’ (no leading underscore, so it can’t conflict with
C symbols) for ‘_start’.

Thu Feb 27 14:32:20 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* set‐init.c: Look for NULL terminator on set. ld is
broken and doesn’t set the length word correctly.

* setjmp/_longjmp.c, signal/sigaction.c, signal/sigvec.c,
signal/ssignal.c, string/bcmp.c, time/setitmr.c,
posix/execve.c, posix/getegid.c, posix/geteuid.c,
posix/getgid.c, posix/getuid.c, posix/getgrps.c,
posix/setuid.c, posix/wait3.c, posix/wait4.c, posix/wait‐
pid.c, io/lseek.c, io/open.c, io/read.c, io/write.c, re‐
source/getrusage.c, misc/getpgsz.c, misc/gethstnm.c,
misc/select.c: Fixed DEFUNs in fn aliases.

Wed Feb 26 00:20:25 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* sysdeps/generic/Makefile (routines): Add asincos.

* time/tzfile.c (__tzfile_compute): Set __tzname prop‐
erly, so isdst is the right index into it.

Tue Feb 25 01:42:16 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* sysdeps/unix/bsd/sun/sun4/sysdep.h (ENTRY): .align 2,
not .align 4. This one is powers of two.

* time/__tzset.c: If TZ is :FILE, try FILE and if __tz‐
file_read fails, then use defaults.

* sysdeps/generic/Makefile (routines): Add sincos.

* sysdeps/posix/cuserid.c: Set the result to the empty
string on failure.

* string/string.h, string/strings.h, sysdeps/i386/mem‐
chr.c: Fixed spelling in comment.

* string/makefile (tests): Include (uncomment) testcopy.
We do have papers for it from tege.

* malloc/dist‐README: Fixed mailing list addr.

* resource/sys/vtimes.h (struct vtimes): Renamed vm_out‐
blk to vm_oublk; fixed comment. * sys‐
deps/generic/vtimes.c: Renamed here too.

* Make‐dist (README): Depend on version.c.

Tue Feb 18 18:14:50 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* Version 1.00.

* time/tzfile.c (__tzfile_compute): Fixed transition com‐
parison.

* sysdeps/unix/bsd/sun/sun3/Makefile: Fixed typo.

Mon Feb 17 05:04:00 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* Version 0.6.

* Makefile (distribute): Add Q+A. * Q+A: New doc
file from rich@cygnus.com.

* malloc/Makefile (distribute): Add mcheck‐init.c.

Mon Feb 17 00:39:38 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* sysdeps/unix/sysv/utime.c: Removed. * sys‐
deps/unix/sysv/utime.S: New file.

* sysdeps/unix/sysv/signum.h: New file.

* sysdeps/unix/sysv/local_lim.h: New file.

* sysdeps/unix/sysv/sysv_stat.h: New file. *
sysdeps/unix/sysv/__stat.c, sysdeps/unix/sysv/__fstat.c: New
files. * sysdeps/unix/sysv/Makefile: New file.
(+sysdep‐routines): Define to sys_stat and sys_fstat.
* sysdeps/unix/sysv/sys_stat.S, sysdeps/unix/sysv/sys_fs‐
tat.S: New files. * sysdeps/unix/sysv/Dist: Cre‐
ated to include sysv_stat.h, sys_stat.S, and sys_fstat.S.

* sysdeps/stub/__setreuid.c: Include <sys/types.h>.

* sysdeps/posix/__sigblock.c: Fixed typo.

* stdio/internals.c (__flshfp): Don’t return EOF if at
EOF; only for errors.

* signal/gnu/signal.h: Move #include <signum.h> outside
repeat #ifdef.

* sysdeps/unix/sysv/filebits.h: Created.

* misc/Makefile (distribute): Define to bsd‐compat.c.

* misc/Makefile (headers): Remove filebits.h. *
io/Makefile (headers): Put it here.

* Makefile (+posix_dirs): Add io. * io/Makefile:
New file for new subdir. Contains many headers and rou‐
tines moved from posix. * posix/Makefile: Remove many
headers and routines now in io. * Moved many files from
posix to io.

* stdlib/alloca.h: Get size_t from stddef.h.

* misc/bsd‐compat.c (getgroups): Removed. Not needed,
because gid_t is now the same size as int.

* Makefile (distribute): Include NOTES. * NOTES:
New file, infoized node from intro.texinfo about the fea‐
ture‐test macros. * README.template: Mention NOTES.

* sysdeps/unix/bsd/sun/sun3/Makefile: include hp9k3bsd
version.

* Makeconfig: Use $(..) for config.status.

* configure (i386‐sysv): unix/i386/sysv, not
unix/sysv/i386. * unix/i386/sysv/Implies: unix/sysv, not
unix/i386.

Sun Feb 16 00:42:53 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* Version 0.5.

* posix/Makefile (headers): Remove confstr.h.
(distribute): Define this instead to contain it.

* ansidecl: Added copyright notice.

* stdio/getdelim.c: New file. * stdio/getline.c
(getsome): Renamed to getdelim and moved there. *
stdio/Makefile (routines): Add getdelim. *
stdio/stdio.h: Declare getdelim.

* misc/gnu/file.h: Moved to sysdeps/unix/bsd/filebits.h.
* sysdeps/stub/filebits.h: New file. *
misc/Makefile: gnu/file.h is now filebits.h. * posix/fc‐
ntl.h: Changed #include.

* stdio/getline.c (getsome): If MAX_CANON isn’t defined,
use a default. Don’t leak old *LINEPTR storage if *N <
2. Don’t bang *LINEPTR to NULL if realloc fails.

* Makerules: Don’t use override when nulling out sources,
routines, and aux if they came from the environment.
Better not make with ‐e.

* Makefile (sysdirs, Sysnames): Put outside of ifndef
sysdirs.

* string/Makefile (tests): No testcopy, pending papers.

* Makefile (headers): No sysdep.h. (distribute):
Here instead. (no‐install): No longer needed.

Sat Feb 15 17:10:38 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* Makefile (distribute): Add INSTALL. * Make‐
dist (INSTALL): Make from manual/maint.texinfo.
(README): Make from README.template.

* Makefile (+other‐dirs): Removed inet. * sys‐
deps/unix/inet/Subdirs: Created, adding inet.

* sysdeps/unix/sysv/setrlimit.c: Include stddef and er‐
rno.h.

* math/drem.c, setjmp/longjmp.c, malloc/cfree.c,
string/bcmp.c, time/getitmr.c, misc/ioctl.c: Fixed defuns
in function_alias.

* Makefile (headers): Put sysdep.h back. (no‐in‐
stall): And define this to it. * Makerules (+install):
Filter out $(no‐install) from the list.

* string/testcopy.c: New test program for bcopy from
tege. * string/Makefile (tests): Add it.

* Makefile (sysdep‐subdirs): Renamed to sysd‐dirs.

* Make‐dist (tardir): Omit the release name; it made
names too long.

Sat Feb 15 12:53:02 1992 Torbjorn Granlund (tege at
mole.gnu.ai.mit.edu)

* sysdeps/rs6000/memcopy.h (WORD_COPY_FWD,
WORD_COPY_BWD): Use CTR register for looping (speed en‐
hancement). Don’t emit labels, jump relative from ‘$’
instead (makes multiple expansions possible). Clean up
indentation of asm code (were different in each macro).
* sysdeps/rs6000/memcopy.h (WORD_COPY_BWD): Add
asm output specs (were missing completely).

* sysdeps/generic/{memcpy.c,memmove.c}: Make DSTP and
SRCP unsigned (safer with non‐ANSI compilers).

Fri Feb 14 01:52:12 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* Version 0.4.1.

* Makefile, Rules: Changed clean and clobber targets into
mostlyclean, clean, and realclean.

* Makeconfig: Added comments describing objdir/Makeconfig
and editting Makeconfig. (prefix, libdir, IN‐
STALL, INSTALL_DATA): New variables for installing. *
Makerules (install): New target. * Makefile (+sub‐
dir_targets): Add subdir_install. (install): Depend on
subdir_install. (install‐lib): Define variable to in‐
stall libc.a and crt0.o. * misc/Makefile (install‐lib):
Install bsd‐compat. * malloc/Makefile (install‐lib): In‐
stall mcheck‐init.

* Version 0.4.

Thu Feb 13 21:39:31 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* sysdeps/unix/glue‐ctype.c: Moved to unix/bsd.
* sysdeps/unix/Makefile: Moved glue‐ctype stuff to
unix/bsd/Makefile. * sysdeps/unix/Dist: No glue‐ctype.
* sysdeps/unix/bsd/Dist: Here instead.

* sysdeps/sparc/divrem.m4: Don’t use insn aliases Sun as
doesn’t grok.

Wed Feb 12 12:12:12 1992 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* sysdeps/m68k/setjmp.c: Use m, rather than g, constraint
when saving fp regs.

* Renamed oodles of files, changed all the relevant Make‐
files (I think). File names now fit in 14 chars for los‐
ing System V. Gag me with a death star. See
=longnames for translations, and =shorten.el for method.

* grp/initgroups.c: Removed redundant test.

* malloc/mtrace.c: Use %p fmt for pointers.

Tue Feb 11 02:04:39 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* stdlib/alloca.h: New file. * stdlib/stdlib.h:
Moved alloca decls there; #include <alloca.h> instead.
* stdlib/Makefile (headers): Added alloca.h.

* stdio/getline.c (getsome): Fixed bugs.

* math/bsd/common_source/mathimpl.h: #define expm1
__expm1. * math/bsd/common_source/expm1.c: Renamed to
__expm1.c * math/bsd/mc68881/expm1.s: Renamed to
__expm1.s; renamed fn too. * math/expm1.c: New file, fn
alias expm1 ‐> __expm1.

* math/Makefile (routines): Add __rint. *
math/rint.c: New file, fn alias rint ‐> __rint. *
math/bsd/common_source/floor.c (rint): Renamed to __rint.
* sysdeps/generic/Makefile: Remove __rint, not rint.

* math/Makefile (BSDmath‐files): Always include it, and
don’t depend on undependable things.

* Makerules (sysdep‐Makefile): Always include it, and
make it without depending on make vars that might not be
right yet.

Mon Feb 10 00:55:58 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* stdlib/stdlib.h: #undef alloca before declaring it.

* sysdeps/sparc/__longjmp.S: Use be instead of bz.

* sysdeps/unix/bsd/Dist: Add bsdtty.h.

* tzfile.c (__tzfile_read): Don’t allocate space for 0
leaps. Don’t loop infinitely.

* sysdeps/unix/Makefile (make‐errnos.c): Use tr to eat
newlines in errnos file.

* sysdeps/unix/bsd/sun/sun4/__brk.S: Fix andn arg order.

* posix/Makefile: Don’t get getopt by vpath. Turns out
to be too much hassle for dist. Just made symlinks in
posix/ instead.

* manual/Makefile: Renamed summary.out to summary.tex‐
info.

* manual/summary.awk: New file, to make summary.out.
Replaces ‘process‐definitions.el’. * man‐
ual/Makefile (summary.out): Create using summary.awk.

* manual/Makefile: Created. * Makefile, Make‐
dist: Use it to format and distribute the manual.

Mon Feb 10 00:32:17 1992 Jim Meyering (meyer‐
ing@churchy.gnu.ai.mit.edu)

* All Makefiles: Whenever using shell redirection
to create a target, do not create the target directly
like this

foo: bar process $< > $@

That loses when ‘process’ fails (interrupt, disk full,
...) and bar exists and looks up‐to‐date, but isn’t.
This sort of failure is particularly insidious when
the initial error message is obscured by lots of subse‐
quent output (echoed commands etc).

Instead use rules like this

foo: bar process $< > $@‐tmp
mv $@‐tmp $@

Using this paradigm, as long as process returns non‐zero
whenever it fails, the target won’t be touched.

Sun Feb 9 22:58:51 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* posix/unistd.h (getopt): Fixed prototype. *
sysdeps/generic/memset.c, stdio/vdprintf.c: Fixed DEFUNs.

* Makerules (lib): Use $(RANLIB) for ranlib. *
Makeconfig: Define it.

* configure: Create config.status to set ARCH, if suc‐
cessful. * Makeconfig: include config.status ifndef
ARCH.

Thu Feb 6 20:57:10 1992 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* ansidecl.h (INCLUDE, STARTCOMMENT, ENDCOMMENT): New
magic words. * sysdeps/m68k/68881/fl.h: Use new magic to
snarf ieee754/fl.h during ansideclification.

* sysdeps/ieee754/fl.h: New file, taken mostly from the
old 68881 file. HUGE_VAL redone to be machine indepen‐
dent. (NAN): New macro for an IEEE NaN, done like
HUGE_VAL. * sysdeps/m68k/68881/fl.h: Now #includes
ieee754/fl.h, and overrides FLT_ROUNDS for 68881 magic.
NB: the #include is a prob. for install.

Wed Jan 29 17:11:25 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* sysdeps/posix/getcwd.c: Don’t use chdir; use a long
../../../... path name instead.

Fri Jan 17 02:51:10 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* posix/Makefile (headers): Added getopt.h.
(routines): Added getopt1. Get getopt* from
/home/gd/gnu/lib by vpath.

* Makerules (+ansideclificate): Don’t assume . is in
PATH.

Thu Jan 16 18:43:05 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* posix/glob.c [sgi]: No alloca.h, after all.

Wed Jan 15 14:17:37 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* termios/termios.h: Reworked to be compatible with
4.4BSD. * termios/speed.c, sysdeps/unix/bsd/{__tcge‐
tattr,tcsetattr}.c: Store speeds as their own values
(B9600==9600, etc.) and translate to BSD values only for
ioctl. * termios/cfsetpseed.c: New fn to set both speeds
at once (from 4.4).

Tue Jan 14 21:18:10 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* sysdeps/unix/i386/__brk.S: __end, not ___end.
Get the arg off the stack correctly.

* sysdeps/unix/Makefile: Allow errnos like EL3HLT.

* sysdeps/posix/{readv,writev}.c: Typos.

* sysdeps/posix/__sigpause.c: Rewritten to know that
sigset_t is a mask, and to pass a (sigset_t *) instead of
sigset_t to sigsuspend.

* sysdeps/i386/memset.c: Include <memcopy.h>.

* sysdeps/generic/uname.c (uname): Save and restore errno
if gethostname gets ENOSYS.

* stdio/perror.c (perror): Check correctly for S == "".
Check correctly for ERRNUM being in range.

* find‐sysdirs: Don’t use fgrep ‐s, since USG apparently
doesn’t have that flag. Just >/dev/null instead.

Mon Jan 13 17:00:15 1992 Torbjorn Granlund (tege at
mole.gnu.ai.mit.edu)

* sysdeps/generic/wordcopy.c (all four functions): Move
do0 label to the ultimate store statement at the end of
each function. (Used to be in the loop.)

Tue Jan 7 18:40:18 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* resource/sys/resource.h (struct rusage): Change
‘ru_outblock’ to ‘ru_oublock’.

* sysdeps/generic/stpcpy.c: Fixed off‐by‐one bug.

Thu Jan 2 15:19:01 1992 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* sysdeps/sparc/Dist: Add umul.S and mul.S.

Tue Dec 31 15:33:39 1991 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* signal/signal.h [__USE_GNU]: Add user‐visible ‘sighan‐
dler_t’ == __sighandler_t.

* termios/speed.c (speedtab): Made const.

* posix/Makefile (routines): Add flock.

Tue Dec 31 03:38:30 1991 Richard Stallman (rms at
mole.gnu.ai.mit.edu)

* termios/speed.c: Accept and return speeds as actual
baud rates. * termios/termios.h (B110, etc.): Define
B110 as 110, etc. Likewise for _B110, etc.

Thu Oct 24 16:19:49 1991 Roland McGrath
(roland@wookumz.gnu.ai.mit.edu)

* ansidecl: Put ‘M4OPTS=+quiet’ in the environment make
GNU m4 quiet.

Sun Oct 20 19:31:28 1991 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* Make‐dist (tardir): Define as ‘libc‐RELEASE‐VERSION’,
strings snarfed from version.c.
($(..)$(tardir)): Add rule to make as symlink to . (par‐
ent dir). [subdir] (dist), [parent] (dist.tar): Depend
on that. [subdir] (tarsources), [parent] (+tsrcs): Add
$(tardir)/ to files.

* sysdeps/sparc/Makefile (distribute): Move data into
Dist file.

Fri Oct 18 15:27:58 1991 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* Makefile (subdirs): Add $(sysdep‐subdirs), so sysdep
makefiles can add subdirs.

* posix/glob.c [sgi]: Use <sys/dir.h>.

* stdio/fopen.c: If not appending, initialize the offset
to 0.

* sysdeps/generic/strcasecmp.c: Fixed losing braindead
code.

Tue Oct 8 15:27:54 1991 Roland McGrath (roland@al‐
bert.gnu.ai.mit.edu)

* Version 0.1. * This ChangeLog is lacking much
information. * After this release, I hope to maintain
the log well.

Fri Jul 26 18:02:57 1991 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* stdio/Makefile (routines): Remove _cleanup.

Thu Jul 25 23:12:45 1991 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* stdio/memstream.c (close_memstream): Removed.
(trim_buffer): New fn to be io_funcs‐>__close for mem‐
streams. (open_memstream): Take arg char **BUFLOC.
Stuff it in stream‐>__fd, and store the location of the
initial buffer in *BUFLOC. (enlarge_buffer):
Keep *(char **) stream‐>__fd updated to be the location
of the buffer.

Tue Jul 23 14:11:29 1991 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* posix/glob.c: Don’t #include <stddef.h> #ifdef sun.
Is there anyone on the face of the planet other than me
capable of implementing the ANSI C standard to spec????

* posix/glob.c [DIRENT]: #include <sys/types.h> before
<dirent.h> #ifdef USG.

Mon Jul 22 17:06:24 1991 Roland McGrath
(roland@churchy.gnu.ai.mit.edu)

* sysdeps/posix/make‐stdio_limits.c: #include
<posix1_limits.h>, not <posix_limits.h>.

* README: Refer to COPYING.LIB, not COPYING.

* config.libc: Renamed to ‘configure’. Local Vari‐
ables: mode: change‐log End: