Thu Oct 31 00:01:39 1996 Ulrich Drepper <drepper@cygnus.com>
* signal/Makefile (routines): Add sigwait.
* signal/signal.h: Add prototype for sigwait.
* sysdeps/posix/sigwait.c: New file. Implementation of sigwait
function from POSIX.1c.
* sysdeps/stub/sigwait.c: New file. Stub version of sigwait.
Wed Oct 30 02:01:17 1996 Richard Henderson <rth@tamu.edu>
* sunrpc/xdr_float.c (xdr_float): Handle sizeof(float)!=sizeof(long),
but don't bother going farther than sizeof(float)==sizeof(int).
(xdr_double): Handle little-endian machines! Handle sizeof(double)
!= 2*sizeof(long), though again don't bother with more than int.
Thu Oct 29 16:09:42 1996 Craig Metz <cmetz@inner.net>
* sysdeps/posix/getaddrinfo.c: Use buffer limits for inet_ntop
function.
Tue Oct 29 12:37:22 1996 Ulrich Drepper <drepper@cygnus.com>
* Makerules: Create symbolic links for linking in $(libdir).
(make-link): Use absolute path for destination if this is not in
the same directory.
* elf/rtld.c (dl_main): When verifying don't check the name of
the dynamic linker.
* shlib-versions: Change entries for Hurd specific libs from
*-*-gnu* to *-*-gnu?* so that i586-pc-linux-gnu does not match
these entries.
* assert/assert.h: Reformat copyright.
Change reference to ANSI into reference to ISO C.
* ctype/ctype.h: Likewise.
* errno.h: Likewise.
* limits.h: Likewise.
* math/math.h: Likewise.
* setjmp/setjmp.h: Likewise.
* stdio/stdio.h: Likewise.
* libio/stdio.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/string.h: Likewise.
* time/time.h: Likewise.
* string/argz.h: Use __const is definitions.
* elf/dlfcn.h: Use __const and __P. Reformat copyright.
* misc/err.h: Likewise.
* wctype/wctype.h (wctrans_t): Use __const instead of const.
* Makeconfig ($(common-objpfx)soversions.mk): Generate list of
sonames for versioned libraries.
* Makefile: Remove code to generate libc-version.h.
Generate gnu/lib-names.h with info from soversions.mk.
* features.h: Define __GLIBC__ and __GLIBC_MINOR__.
* dirent/tst-seekdir.c: Initialize save3.
* grp/testgrp.c: Initialize my_group.
* grp/fgetgrent_r.c: Change interface to follow POSIX.1c.
* grp/grp.h: Likewise.
* nss/getXXbyYY.c: Likewise.
* nss/getXXbyYY_r.c: Likewise.
* nss/getXXent.c: Likewise.
* nss/getXXent_r.c: Likewise.
* pwd/fgetpwent_r.c: Likewise.
* pwd/pwd.h: Likewise.
* shadow/fgetspent_r.c: Likewise.
* shadow/sgetspent.c: Likewise.
* shadow/sgetspent_r.c: Likewise.
* grp/fgetgrent.c: Adapt for change in interface of fgetgrent_r.
* pwd/fgetpwent.c: Likewise, for fgetpwent_r.c.
* shadow/fgetspent.c: Likewise, for fgetpwent_r.c.
* resolv/netdb.h: Adapt prototypes for reentrant functions to
follow POSIX.1c.
* sunrpc/rpc/netdb.h: Likewise,
* shadow/shadow.h: Likewise.
* inet/getnetgrent_r.c: Follow change in pwd/grp function interface.
* sysdeps/unix/getlogin_r.c: Return ERANGE when buffer is too small.
* inet/herrno.c: Don't define __h_errno. Only h_errno otherwise the
ELF aliasing creates strange situations.
* sysdeps/unix/sysv/linux/errnos.H: Define __set_errno as inline
function.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Don't define __errno.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
* libio/libio.h: Don't declare _IO_flockfile and _IO_funlockfile
weak.
* locale/programs/charmap.c: Add casts to prevent warnings.
* locale/programs/linereader.h: Likewise.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/stringtrans.c: Likewise.
Change types for various variables to prevent warnings.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/linereader.h (lr_ungetc): Likewise.
* locale/programs/charset.h (struct charset): Use `unsigned int'
as type for width_default.
* posix/regex.c: Change type of `this_reg' variables.
* stdio-common/Makefile: Use -Wno-format for tstdiomisc.c.
* stdio-common/bug5.c: De-ANSI-fy. Use correct types for
variables.
* stdio-common/printf_fp.c: Initialize to_shift.
* stdio-common/test_rdwr.c: Add cast.
* stdio-common/vfprintf.c: Add casts and use correct types to
prevent warnings.
* stdio-common/vfscanf.c: Initialize str and strptr.
* sysdeps/libm-ieee754/e_jnf.c: Use correct types to prevent warnings.
* sysdeps/libm-ieee754/e_pow.c: Likewise.
* sysdeps/libm-ieee754/e_powf.c: Likewise.
* sysdeps/libm-ieee754/e_rem_pio2f.c: Likewise.
* time/test-tz.c: Likewise.
* manual/creature.texi: Document _REENTRANT and _THREAD_SAFE.
* manual/libc.texinfo: Prevent makeinfo failure by avoiding
libc.cp index. This must be fixed.
* manual/nss.texi: Adapt for correct POSIX.1c interface of
reentrant functions.
* manual/users.texi: Document netgroup functions.
* po/es.po: Updated.
* po/fr.po: Updated.
* posix/fnmatch.c: Change to match libit version.
* posix/unistd.h: Change prototype for ttyname_r to match POSIX.1c.
* sysdep/posix/ttyname_r.c: Likewise.
* stdlib/atexit.h (__new_exitfn): Add internal locking.
* stdlib/exit.c: De-ANSI-fy. Handle new ef_us value for flavor.
* stdlib/exit.h: De-ANSI-fy. Define new ef_us value for flavor.
* stdlib/random.c (__srandom): Add internal locking.
(__initstate): Likewise.
(__setstate): Likewise.
(__random): Likewise.
Mon Oct 28 22:28:37 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* sysdeps/generic/crypt-entry.c (crypt_r): Use __set_errno.
(crypt): Likewise.
* resolv/gethnamaddr.c (gethostbyname2): Likewise.
* sysdeps/generic/uname.c: Likewise.
* sysdeps/posix/rename.c: Likewise.
* sysdeps/stub/setrlimit.c: Likewise.
* nss/nss_db/db-netgrp.c (_nss_db_setnetgrent): Fix typo.
Sun Oct 27 11:12:50 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/programs/ld-collate.c (collate_order_elem): Fix format
string.
(collate_element_to): Cast field width argument to `int' for
format string.
(collate_symbol): Likewise.
(collate_order_elem): Likewise.
(collate_weight_bsymbol): Likewise.
(collate_simple_weight): Likewise.
* locale/programs/ld-time.c (STRARR_ELEM): Fix format string.
* locale/programs/ld-ctype.c (ctype_class_newP): Add missing
argument for format string.
(ctype_map_newP): Likewise.
(set_class_defaults): Fix format string.
* locale/programs/localedef.c (construct_output_path): Putting an
explicit \0 into the format string does not work, use %c.
Sat Oct 26 20:38:36 1996 Richard Henderson <rth@tamu.edu>
* Makerules: Install all shared libraries in $(slibdir).
* login/Makefile: Build libutil.so in others pass after
libc.so is created.
* misc/mntent.h: Include <paths.h> for _PATH_MNTTAB & _PATH_MOUNTED.
* string/stratcliff.c: Allocate 3 pages instead of one, then use
mprotect so that we know that the adjacent pages are inaccessible.
* resource/sys/resource.h: Move all structures and enums to ...
* sysdeps/generic/resourcebits.h: ... here ...
* sysdeps/unix/bsd/sun/sunos4/resourcebits.h: ... and here.
* sysdeps/unix/sysv/linux/alpha/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/i386/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/m68k/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/mips/resourcebits.h: Remove.
* sysdeps/unix/sysv/linux/resourcebits.h: New file. Use kernel
header for RLIMIT_* definitions. The members of struct rlimit
are longs.
Thu Oct 24 17:43:34 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS (sysdep-dirs): Fix typo.
Wed Oct 23 03:45:22 1996 Ulrich Drepper <drepper@cygnus.com>
* Makefile (headers): Don't mention libc-version.h.
(install-others): ...but here.
* time/strptime.c: Recognize %s, %u, %g, and %G format.
nothing is found. This guarantees all subsequent calls behave
* sysdeps/unix/sysv/linux/syscalls.list: Change function name for
* io/getwd.c (getwd) [! PATH_MAX]: Don't assume that the user's
buffer is any longer than the amount necessary to hold the
filename; the Hurd getcwd uses the *entire* contents of the
buffer, however long it is specified to be.
* posix/getconf.c: De-ANSI-fy. Recognize POSIX.2 constant names.
since these do not depend on the platform.
Sat Sep 28 03:02:49 1996 Ulrich Drepper <drepper@cygnus.com>
* dirent/Makefile (routines): Add readdir_r.
* dirent/readdir_r.c: New file. Wrapper around readdir.c.
* dirent/dirent.h: Add prototype for readdir_r.
* misc/hsearch_r.c (ENTRY): Make field `used' of type `unsigned int'
to prevent warnings.
* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path):
Initialize `result'.
Sat Sep 28 01:16:42 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/strsep.c: Rename to __strsep and make strsep
weak alias.
* string/string.h: Add prototype for __strsep.
* misc/mntent_r.c: Use __strsep instead of strsep to keep
namespace clean.
* sysdeps/stub/nanosleep.c: Rename to __libc_nanosleep and make
__nanosleep and nanosleep weak aliases.
* sysdeps/unix/sysv/linux/syscalls.list: Add __nanosleep as weak
alias.
* sysdeps/unix/sysv/linux/sleep.c: Call __nanosleep instead of
nanosleep to keep namespace clean.
* sysdeps/posix/ttyname.c (ttyname): Add cast to prevent warning.
* sysdeps/posix/ttyname_r.c (ttyname_r): Likewise.
* sysdeps/posix/getcwd.c (__getcwd): Likewise.
* sysdeps/unix/nlist.c: Use ISO C definition since we don't always
have prototype.
* login/Makefile (headers): Add pty.h.
* login/pty.h: New file.
* sysdeps/generic/pty.h: Include <pty.h>.
* login/pututline_r.c: Add cast to prevent warning.
* gmon/gmon.c: Add prototype for __profile_frequency.
(monstartup): Add cast to prevent warning.
* sysdeps/generic/prof-freq.c: Change to use ISO C style definition.
* locale/programs/ld-time.c (time_output): Write `era' information
in correct order.
Sat Sep 28 00:11:08 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/syscalls.list: Add weak alias
`adjtimex'.
Set caller for mlock, mlockall, mremap, munlock, and munlockall
to EXTRA.
Reported by Matthias Urlichs <smurf@smurf.noris.de>.
1996-09-27 Paul Eggert <eggert@twinsun.com>
* strftime.c (strftime): Output incomplete formats like %E
at end of string.
1996-09-27 Paul Eggert <eggert@twinsun.com>
* strftime.c (strftime): Add support for %EC and %Ey.
Fix support for %EY. This uses the new _nl_get_era_entry function.
Fri Sep 27 14:12:27 1996 Ulrich Drepper <drepper@cygnus.com>
Security related patch by Elliot Lee <sopwith@redhat.com> and
David Holland <dholland@eecs.harvard.edu>.
* inet/rexec.c (rexec): Increase size of `num' array from 8 to 32.
* inet/ruserpass.c (ruserpass): Don't allow $HOME envvar to not exist.
* sysdeps/generic/getenv.c (__secure_getenv): New function. Return
NULL when programs runs with SUID or SGID enabled.
* sysdeps/stub/getenv.c: Make __secure_getenv an alias of getenv.
* stdlib/stdlib.h: Add prototype for __secure_getenv.
* locale/setlocale.c: Use __secure_getenv.
* resolv/res_init.c: Likewise.
* resolv/res_query.c: Likewise.
* inet/ruserpass.c: Likewise.
* sysdeps/posix/tempname.c: Likewise.
* malloc/mtrace.c: Likewise.
* catgets/catgets.c: Likewise.
Make temporary file handling functions reentrant.
* stdio-common/tmpnam.c: Rewrite to have own buffer to write
result to. The called __stdio_gen_tempname function must be
thread safe.
* stdio-common/tmpnam_r.c: New file.
* stdio/stdio.h: Add prototype for `tmpnam_r'.
Change prototype for __stdio_gen_tempname.
* stdio/libio.h: Likewise.
* sysdeps/posix/tempname.c: Add new parameters and use them instead
of static buffer.
Don't reset `indeces' when PID changed between calls.
Don't fail for long running programs when index counter once
reached the limit.
* sysdeps/stub/tempname.c: Likewise.
* stdio-common/tempnam.c: Provide local buffer as extra argument
to __stdio_gen_tempname. This makes this function reentrant.
* stdio-common/tmpfile.c: Likewise.
* stdio-common/temptest.c: Provide extra argument to
__stdio_gen_tempname.
* manual/filesys.texi: Describe tmpnam_r and add comments about
reentrancy of the functions.
* inet/rcmd.c: Fixed address length handling.
* sysdeps/posix/mk-stdiolim.c: Count final \0 byte in L_tmpnam value.
* time/strftime.c: Remove unused variables alt_digits and
end_alt_digits.
* sysdeps/unix/sysv/linux/sys/sysinfo.h: Correct prototype names
for get_nprocs and get_nprocs_conf.
* sysdeps/generic/sys/sysinfo.h: Likewise.
* stdlib/test-canon.c: Finally do the right fix.
* misc/Makefile: Only compile force-wrapper when compiling
reentrant libc.
Thu Aug 8 01:41:43 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile: Undo change of Tue Aug 6 14:27:11 1996.
* elf/dl-support: Add definition of `_dl_sysdep_read_whole_file'.
Thu Aug 8 01:15:59 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu_control.h (_FPU_DEFAULT, _FPU_IEEE): Set
to 0x137f to allow long double operations.
Sun Aug 4 13:12:05 1996 Richard Henderson <rth@tamu.edu>
Bug Fixes:
* nss/nsswitch.c (_res): Remove redundant variable definition.
The real one is in resolve/res_init.c, and having both prevents
using -fno-common when building the shared library.
* sunrpc/rpc_prot.c (_null_auth): Same. Original is in rpc_common.c.
* sysdeps/unix/sysv/linux/alpha/brk.S: When PIC, define __curbrk as
a .bss object not a COMMON symbol.
* sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S: Must load
$gp before referencing __sigsetjmp symbol. Retain LITUSE for same.
Optimizations:
* sysdeps/alpha/strlen.S: Rearrange first-word setup and thense the
main loop for better dual-issue on EV5. Rearrange binary search to
pipeline better and trim one instruction.
Cosmetic Changes:
* time/localtime.c (localtime_r): Move lock declaration back next to
the comment where it was before the 960724 change.
* INSTALL, manual/maint.texi: alpha-gnu-linux -> alpha-ANYTHING-linux.
The second word is supposed to be the hardware manufacturer.
* sysdeps/alpha/_mcount.S: Retain LITUSE for __mcount.
* sysdeps/alpha/setjmp.S: Retain LITUSE for __sigsetjmp_aux.
* sysdeps/alpha/divrem.h: More local labels, retain LITUSE for _mcount.
* sysdeps/alpha/alphaev5/add_n.S, sysdeps/alpha/alphaev5/lshift.S,
sysdeps/alpha/alphaev5/rshift.S, sysdeps/alpha/alphaev5/sub_n.S:
Same cleanups as with EV4 GMP stuff.
Tue Jul 25 03:30:56 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_routines): Add clone.
* sysdeps/unix/sysv/linux/alpha/clone.S: New file.
* sysdeps/unix/sysv/linux/i386/clone.S: New file.
Sun Aug 4 00:12:41 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/gnu/types.h: Declare __fd_mask as
`unsigned long'.
* misc/sys/select.h: Declare fd_mask as alias of __fd_mask.
Sat Aug 3 16:20:02 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for
Mikasa.
* socket/sys/socket.h (send, __send, sendto): Declare buffer
pointer as __const.
* string/tester.c (main): Test stpncpy.
* sysdeps/generic/stpncpy.c (__stpncpy): Fix so it works without
segfault when called with an N that is not a multiple of four and
src[N-1]=='\0'.
* misc/syslog.c (LogType): New variable.
(openlog): If connect() with SOCK_DGRAM fails with EPROTOTYPE,
try again with SOCK_STREAM (the Linux syslogd uses a socket of the
latter type).
(vsyslog): When LogType==SOCK_STREAM, also send ASCII NUL
terminator as a record-delimiter. If __send(LogFile) fails,
call closelog() so logfile gets re-opened next time.
Wed Aug 7 15:15:14 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-open (_dl_open): Add cast to avoid warning.
* manual/memory.texi: Improve some examples to give readers better
advice: Use `stpcpy' instead of `strcat' if possible.
* manual/string.texi: Document `strtok_r' and `strtok'.
* sunrpc/Makefile: Move `+gccwarn' definition before inclusion
of Makeconfig.
[$(cross-compiling)=no]: Change test before making librpcsvc
to this from $(cross-compile).
Reported by Andreas Schwab.
Tue Aug 6 14:27:11 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (routines): Move dl-sysdep to here...
(rtld-routines): ...from here. This should make static linking
work again.
* locale/setlocale.c: Add local variable `lock' and add code to
`setlocale' to avoid simultaneous changing of global data.
* catgets/catgets.c (catopen): Use `__strdup' instead of `strdup'.
* catgets/open_catalog (__open_catalog): Use `__stpcpy', `__open',
`__fstat', `__read', `__mmap', `__munmap' and `__close' instead
of unprotected names.
* sysdeps/generic/memcmp.c: Add prototype decls for internal fns.
* locale/programs/locale.c: Include string.h.
* sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c
(xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure
appropriate sign-extension is performed on machines with
sizeof(long) > 4.
* sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and
sizeof(int)<sizeof(long), we need to go through a temporary
variable.
* locale/programs/ld-numeric.c: Include <alloca.h>
* libio/stdio.h (__libc_fatal): Add prototype.
* libio/cleanup.c: Use __P() to declare prototype when __STDC__ is
in efect.
* libio/iopopen.c (read_or_write, parent_end, child_end): Declare
volatile to avoid "might get clobbered by longjmp" warning.
* features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES
unless _LOOSE_KERNEL_NAMES is in effect (which, with high
probability is a sure loser).
* sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove.
* sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed.
* sysdeps/unix/sysv/linux/alpha/start.S: Ditto.
* misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man
to be Linux FSSTND compliant.
Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO.
* sysdeps/unix/sysv/linux/alpha/sysdep.S,
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/llseek.S,
sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to
__syscall_error to avoid intruding application name space.
* sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id
to SYS_get?id so that syscall stubs in sysdeps/unix define
these syscalls in terms of getxpid/getxuid/getxgid.
* sysdeps/unix/_exit.S, sysdeps/unix/getegid.S,
sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S,
sysdeps/unix/execve.S, sysdeps/unix/fork.S,
sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END.
* sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h
(PSEUDO_END): Rename END() to PSEUDO_END().
* sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO
to PSEUDO_END to improve branch-prediction. Include .frame
directive to make syscalls debugabble.
(PSEUDO_END): New macro.
* sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S,
sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since
latter is illegal under DEC Unix.
* sysdeps/unix/alpha/sysdep.S: Renamed from
sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1
as well.
* sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the
EWOULDBLOCK -> EAGAIN mapping was unnecessary since
EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha).
* sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return
address register in the .frame directive.
* sysdeps/alpha/copysign.c: Remove.
* sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to
avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN.
* errno.h: Move __END_DECLS to correct place to make file
compilable under c++.
* dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define
d_ino only if <direntry.h> hasn't defined d_fileno.
* configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of
arguments to weakext to make .weakext detection work on ECOFF systems.
* FAQ: Add Linux/Alpha to list of supported platforms. Mention
that _validuser() has been replaced by __ivaliduser().
Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd
as unsigned long, not as int (to avoid incorrect int->long
promotion).
* libc-symbols.h (lint): Macro removed. The sunrpc code does some
really stupid things #ifdef lint.
* sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Fix
struct member name: sc_eip -> eip.
* sysdeps/unix/bsd/pause.c: Moved to sysdeps/unix/common/pause.c.
Mon Mar 4 20:17:28 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX.
* sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add mount,
umount.
* sysdeps/alpha/__math.h (atan, cabs): New functions.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: new file (syscall
expects set-value, not pointer to it).
Sun Feb 25 22:36:10 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/profil-counter.h: New file.
* gmon/gmon.c (__bb_head): new variable.
(write_hist, write_call_graph, write_bb_counts): new functions.
(_mcleanup): modified to call above functions instead of directly
writing out gmon.out.
* gmon/sys/gmon.h (struct __bb): New type.
(struct gmonhdr): Type removed.
(struct gmonparam): New member `log_hashfraction'.
(GMONVERSION): Macro removed.
* gmon/sys/gmon_out.h, gmon/bb_exit_func.c,
sysdeps/generic/bb_init_func.c, sysdeps/alpha/bb_init_func.S: new
files.
* gmon/Makefile (headers): Add sys/gmon_out.h.
(routines): Add bb_init_func, bb_exit_func.
* gmon/mcount.c: Avoid integer division.
Wed Feb 21 23:56:41 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/alpha/setjmp.S: switched order in which sp and fp are
passed to match what __sigsetjmp_aux() expects.
Tue Feb 20 11:33:46 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/syscalls.list (select, bind,
connect, getpeername, getsockname, listen, recv, recvfrom,
recvmsg, send, sendmsg, sendto, setsockopt, shutdown, socketpair):
added to override same-name assembly file in the parent directory.
* stdlib/stdlib.h: add include of sys/types.h in front of random
etc declarations to ensure int32_t is declared.
* stdlib/random.c, stdlib/random_r.c: replaced "long int" by int32_t
where 32 bit integers are required. Also change LONG_MAX into
0x7fffffff since the intent is to turn off the sign bit in a
32 bit integer.
* time/offtime.c (__offtime): Use Paul Eggert's code to deal
with very large values for "days" (e.g., 64 bit values).
Mon Feb 19 22:22:12 1996 David Mosberger-Tang <davidm@azstarnet.com>
* stdlib/stdlib.h (__random, __random_r, random_r, struct
random_data): use int32_t instead of `long int'.
Sat Feb 17 11:29:29 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c: new file.
* sysdeps/alpha/ffs.S: new file.
* sysdeps/alpha/fabs.c: File removed.
* time/tzfile.c (__tzfile_read): counter variable is i, *not*
num_transitions!
* time/offtime.c: make capable of dealing with very large (64 bit)
time_t values. Use old algorithm until a year is reached that
is an integer multiple of 400, then use DAYS_PER_400_YEARS to
do the remainder in a single division.
* sysdeps/generic/ffs.c (ffs): fix variable declarations to
be unsigned int, not unsigned long.
* string/test-ffs.c (main): add test case with all upper bits
set.
* stdlib/tst-strtol.c: add tests cases for machines where
sizeof(long)==8.
* stdlib/testrand.c (main): disallow rand() to return negative
integers.
* stdlib/testmb.c (main): fix format to use %lx instead of %x.
* stdlib/stdlib.h: on 64 bit machines, declare
struct random_data, __random(), __random_r, and random_r to
return "int" instead of "long int".
* stdlib/random_r.c: 64 bit machines use "int" instead of "long
int". Similarly, use INT_MAX instead of LONG_MAX.
* stdlib/random.c: on 64 bit machines, randtbl[] and __random[]
need to operate on "int" instead of "long int".
* locale/locfile-hash.c (compute_hashval): make shifted constant
a long to avoid loosing bits on 64 bit machines.
* dirent/tst-seekdir.c (main): fix confusing comment; print
a line to mark point where directory is rewound.
Fri Feb 16 15:01:49 1996 David Mosberger-Tang <davidm@azstarnet.com>
* time/strftime.c (strftime): any hour > 11 is PM (not > 12!).
Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/Makefile,
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/fpu_control.c,
sysdeps/unix/sysv/linux/alpha/fpu_control.h,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/pipe.S,
sysdeps/unix/sysv/linux/alpha/setfpucw.c,
sysdeps/unix/sysv/linux/alpha/sigprocmask.c,
sysdeps/unix/sysv/linux/alpha/speed.c,
sysdeps/unix/sysv/linux/alpha/start.S,
sysdeps/unix/sysv/linux/alpha/syscall.S,
sysdeps/unix/sysv/linux/alpha/syscalls.list,
sysdeps/unix/sysv/linux/alpha/alpha/regdef.h,
sysdeps/unix/sysv/linux/alpha/sysdep.S,
sysdeps/unix/sysv/linux/alpha/sysdep.h: New files.
* sysdeps/alpha/setjmp_aux.c (__sigsetjmp_aux): restore return
address register before returning (gcc 2.7.1 doesn't do it,
presumably because $26 is declared as a global variable).
* sysdeps/unix/sysv/linux/sys/mman.h: msync was missing "flags"
argument.
* sysdeps/unix/alarm.c (alarm): do roundup using test & increment
instead of multiplication.
* sysdeps/posix/sleep.c (sleep): initialize sa_mask to mask of
currently blocked signals instead of the empty mask to ensure
that execution of alarm handler occurs with none of the currently
blocked signals enabled.
* sysdeps/unix/alpha/sysdep.h: new file (adapted from OSF/1 version).
* sysdeps/unix/bsd/osf/alpha/sysdep.h: include
sysdeps/unix/alpha/sysdep.h and removed definitions now in that file.
* sysdeps/alpha/divrem.S, sysdeps/alpha/htonl.S,
sysdeps/alpha/htons.S, sysdeps/alpha/machine-gmon.h,
sysdeps/alpha/_mcount.S, sysdeps/alpha/ntohl.s, sysdeps/alpha/ntohs.s,
sysdeps/alpha/strlen.S: New files.
* sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
sysdeps/alpha/divqu.S, sysdeps/alpha/divrem.m4,
sysdeps/alpha/macros.m4, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S, sysdeps/alpha/strlen.c:
Removed.
* sysdeps/generic/sbrk.c (__sbrk): argument is of type ptrdiff_t, not
int.
* sysdeps/alpha/__longjmp.c (__longjmp): moved dummy while loop
to end of function to avoid a jump across NOPs.
* sysdeps/alpha/Makefile (sysdep_routines): Removed all rules
pertaining to integer division/remainder routines since new code
doesn't require them.
* sunrpc/xdr_mem.c, sunrpc/xdr_stdio.c: Use 4 instead of sizeof(long)
where 32 bit quantities are consumed/stored. Various other minor
64-bit cleanups (casting).
* sunrpc/xdr.c (xdr_int): test for sizeof(int)==4 to determine
whether xdr_long or xdr_short should be used to encode an int.
Notice that an xdr_long is 4 bytes independent of the architecture
(otherwise no Alpha could interoperate with existing NFS servers,
for example). Ditto for enums.
* sunrpc/svc_udp.c (svcudp_recv): changed test from 4*sizeof(u_long)
to 16 since it really wants 16 bytes.
* sunrpc/svc.c (maskp): changed from u_long* to u_int32*.
* sunrpc/rpc_cmsg.c (xdr_callmsg), sunrpc/svc_authux.c: increment
"buf" pointer by casting it to a char* first since a long* may be 8
bytes or more and oa->oa_length may be any multiple of 4.
* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
u_int32_t (instead of u_long).
* sunrpc/clnt_udp.c (clntudp_call): replaced sizeof(u_long) by 4
since it really is testing for 32 bits. Fixed casts to use
u_int32 instead of u_long.
* sunrpc/xdr_rec.c: Likewise.
* sunrpc/clnt_tcp.c (clnttcp_call): replaced u_long by u_int32.
* sunrpc/rpc/auth.h: Likewise.
* limits.h (LONG_MAX, LONG_MIN, ULONG_MAX): use 64 bit values
for Alpha.
Tue Mar 19 13:27:49 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/i386/fpu/__math.h: New file.
Contributed by John C. Bowman <bowman@hagar.ph.utexas.edu>.
Sun Mar 17 00:28:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/posix/clock.c: Don't multiply the return value by
CLOCKS_PER_SEC or CLK_TCK.
* sysdeps/mach/hurd/getcwd.c: Fail with ENOENT if a parent directory
scan finds no match.
* posix/unistd.h (setpgrp): Declare no-arg version unless __FAVOR_BSD.
* misc/bsd-compat.c (setpgrp): New function, two arg version.
* sysdeps/stub/setpgid.c: Remove setpgrp alias.
* sysdeps/mach/hurd/setpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
* sysdeps/unix/common/syscalls.list (setpgid): Remove setpgrp alias.
* sysdeps/unix/sysv/irix4/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/setpgrp.c: Obsolete file removed.
* posix/setpgrp.c (setpgrp): New file.
* posix/Makefile (routines): Add setpgrp.
Tue Feb 6 12:46:29 1996 David Mosberger-Tang <davidm@azstarnet.com>
* libc-symbols.h (weak_alias, weak_symbol): added definitions
for ECOFF (HAVE_ECOFF).
* sysdeps/unix/dirstream.h: Rewritten.
* sysdeps/unix/readdir.c: Rewritten.
* sysdeps/unix/telldir.c: Rewritten.
* sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h.
Remove __ from DIR struct member names.
* sysdeps/unix/dirfd.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/opendir.c: Likewise. Don't allocate extra space after
DIR structure.
* sysdeps/stub/direct.h: File removed.
* sysdeps/unix/bsd/bsd4.4/direct.h: File removed.
* sysdeps/unix/bsd/direct.h: File removed.
* sysdeps/unix/common/direct.h: File removed.
* sysdeps/unix/sysv/irix4/direct.h: File removed.
* sysdeps/unix/sysv/isc3/direct.h: File removed.
* sysdeps/unix/sysv/sco3.2.4/direct.h: File removed.
* sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed.
* sysdeps/unix/common/direntry.h: New file.
* sysdeps/unix/bsd/direntry.h: New file.
* sysdeps/unix/bsd/bsd4.4/direntry.h: New file.
* sysdeps/unix/sysv/direntry.h: New file.
* sysdeps/stub/direntry.h: New file.
* dirent/dirent.h (struct dirent): Type removed. Include <direntry.h>
to define it.
(_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros.
* dirent/Makefile (headers): Add direntry.h.
(distribute): Remove direct.h.
* sysdeps/posix/getcwd.c: Use new macros instead of d_namlen.
* dirent/scandir.c: Likewise.
* io/fts.c (fts_build): Likewise.
* io/ftw.c (ftw_dir): Likewise.
* sysdeps/posix/ttyname.c: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file.
* sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro.
(collector_timeout): New static variable.
(update_waiter): Actually call __task_enable_pc_sampling.
Set collector_timeout based on the `tick' count returned.
(profile_waiter): Use MAX_PC_SAMPLES. Set nsamples before RPC.
Use collector_timeout in __mach_msg call.
* gmon/Makefile (noprof): New variable containing mcount.
Append profil unless it is in $(unix-syscalls).
(mcount.po): Use $(noprof) for list of targets in this rule.
* libc-symbols.h: Define _LIBC before #include <config.h>.
Sun Feb 25 12:29:23 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* config.h.in [_LIBC] (HAVE_STRERROR): Define it.
Protect 2nd page of #undef's for generator programs with #ifndef _LIBC.
* time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest.
Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* libio/cleanup.c (_IO_cleanup_registration_needed)
[!_G_HAVE_ATEXIT]: Init to NULL.
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl.
Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com>
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert
previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT.
Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as
extern.
Sat Feb 24 11:34:13 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/i386/memcmp.S: Fix argument %esp offsets.
* time/sys/time.h (timeradd, timersub): New macros; BSD has these.
* sysdeps/posix/utimes.c (__utimes): There are 1000000 usecs in a
sec.
Sun Feb 18 13:56:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile, time/Makefile: Make `all' the default target.
Mon Feb 19 18:09:04 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* misc/sys/ptrace.h: Moved to ...
* sysdeps/generic/sys/ptrace.h: ... here.
* sys/ptrace.h: File removed.
Sun Feb 18 12:13:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (headers): Add fpu_control.h.
* sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Put it into .bss
so that the symbol alias works.
* sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_SETCW): Corrected.
* sysdeps/unix/sysv/linux/resourcebits.h: New file.
* sysdeps/unix/sysv/linux/sys/ptrace.h: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add getegid, geteuid,
getppid and reboot.
* sysdeps/unix/sysv/linux/sysconf.c: Special version that does not
use getdtablesize.
Sat Feb 17 10:30:21 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* stdio-common/printf_fp.c, stdlib/strtod.c, sysdeps/ieee754/dbl2mpn.c,
sysdeps/ieee754/ldbl2mpn.c, sysdeps/ieee754/mpn2dbl.c,
sysdeps/ieee754/mpn2ldbl.c: Cast left operands of shift instructions
to `long' where necessary.
Thu Feb 15 20:04:50 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdlib/fpioconst.h: Introduce new constant _FPIO_CONST_OFFSET.
* stdio-common/printf_fp.c, stdlib/strtod.c: Use _FPIO_CONST_OFFSET
to correctly access MPN array depending on architecture.
Mon Feb 19 15:30:26 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* stdio-common/tstscanf.c (main): Add check for "0" as %d.
* sysdeps/stub/msync.c: Undo change of Jan 29; just two args.
Only some systems have three args; let them define their own stub.
* sysdeps/generic/dl-sysdep.c: Declare _dl_secure.
* sysdeps/generic/machine-gmon.h: New file.
* gmon/Makefile (distribute): Add machine-gmon.h.
* gmon/mcount.c: Undo changes of Feb 13.
Include "machine-gmon.h".
Sun Feb 18 13:24:06 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/direct.h: File removed, since it is
identical to unix/common/direct.h.
* sysdeps/unix/Makefile [no_deps]: Don't include s-proto.d.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add ipc.
* stdio-common/Makefile (tests): Remove scanf6.
* sysdeps/unix/sysv/linux/Makefile (non-lib.a): Append libieee.a.
* time/mktime.c (mktime): Move static variable localtime_offset to
file scope.
* stdio-common/vfscanf.c: Put '0' in buffer before scanning for %i
base indicator.
Thu Feb 15 16:56:17 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_load_address): Corrected.
(ELF_MACHINE_BEFORE_RTLD_RELOC): Define.
(_dl_runtime_resolve): Save %a1 as well.
(ELF_MACHINE_RUNTIME_FIXUP_ARGS): Add second dummy arg.
(elf_machine_relplt): Define.
* elf/dl-runtime.c: Include possible extra args in declaration of
fixup.
* dirent/scandir.c: Allocate dirents with correct size for name, and
copy with correct size.
* hurd/hurdinit.c [! PIC] (map0): New function, on _hurd_preinit_hook.
* stdio-common/vfscanf.c (TYPEMOD): New macro of all type modifier
flag bits.
(__vfscanf): Fix checking of extra type modifiers.
* time/asia, time/australasia, time/backward: Updated from ADO 96b.
Tue Jan 30 12:17:26 1996 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* stdlib/strtod.c: Only negate exponent when there really is one.
* stdio-common/vfscanf.c: Accept type modifiers on %n.
Fix FP number parsing.
* time/australasia: Updated data from ADO.
Mon Aug 28 17:47:11 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* dirent/dirent.h: Don't include <dirstream.h>.
Instead, define DIR as typedef for (undefined) `struct __dirstream'.
* sysdeps/mach/hurd/euidaccess.c: New file.
* sysdeps/stub/euidaccess.c: New file.
* posix/unistd.h [__USE_GNU] (euidaccess): Declare it.
* dirent/Makefile (routines): Add dirfd.
* sysdeps/stub/dirfd.c: New file.
* sysdeps/unix/dirfd.c: New file.
* sysdeps/unix/dirstream.h (_DIR_dirfd): New macro.
* dirent/dirent.h (dirfd): Declare new function. Define as macro
_DIR_dirfd if that is defined.
* sysdeps/mach/hurd/dirstream.h (DIR): Replace `__port' member
with `void *__fd'.
* sysdeps/mach/hurd/opendir.c: Use DIRP->__fd instead of DIRP->__port.
Open the file with `open'; set FD_CLOEXEC on the fd.
* sysdeps/mach/hurd/closedir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/mach/hurd/dirfd.c: New file.
* posix/Makefile (glob/configure): Do cvs commit if there is a CVS
directory.
(glob/ChangeLog): Likewise.
* locale/locale.h (LC_*): Use small integers instead of bit masks.