* db2/db_int.h: Change tsl_t type to u_int32_t.
* db2/mutex/mutex.c: Allow Alpha mutex definitions.
* db2/mutex/alpha.h: New file.
* db2/mutex/sparc.gcc: Fix store code for v9. Simplify clear code.
* sysdeps/alpha/Makefile [db2]: Set CFLAGS of mutex.c to make spinlocks
known.
Patches by Richard Henderson.
1999-08-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* timezone/tst-timezone.c (main): Don't pass const strings to
putenv to avoid warnings.
* posix/regexbug1.c: Include <stdio.h> for puts prototype.
1999-08-28 Ulrich Drepper <drepper@cygnus.com>
* malloc/malloc.c (ptmalloc_init): Don't use variables to set
thresholds for SUID binaries. [PR libc/1277]
1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/install.texi (Running make install): Give examples for
timezone and locale installation.
1999-08-28 Zack Weinberg <zack@bitmover.com>
* glibcbug.in: Get CCVERSION from autoconf substitution.
* configure.in: Calculate and substitute CCVERSION.
1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Fix sa_flags,
partially reverting a patch from 1998-12-29. We just can't change
the flags, kernels with different flags lead to
incompatibilities.
* inet/rexec.c (rexec): Free memory if strings were allocated in
ruserpass. Reported by Andrew Morton <morton@nortelnetworks.com>.
1999-08-27 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu/bits/mathinline.h (__finite): Mark constant as
unsigned to avoid warning. [PR libc/1271].
* conform/conformtest.pl: Allow testing regex.h which requires
sys/types.h being included.
* conform/conformtest.pl (@headers): Add search.h, sched.h, regex.h,
pwd.h, and pthread.h.
* conform/data/pthread.h-data: New file.
* conform/data/pwd.h-data: New file.
* conform/data/regex.h-data: New file.
* conform/data/sched.h-data: New file.
* conform/data/search.h-data: New file.
* NAMESPACE: Add REG_ for regex.h.
* locale/langinfo.h: Don't define YESSTR and NOSTR for XPG6 since
they are removed.
* configure.in (libc_cv_asm_global_directive): Indent .text in
test code so that the lame HPUX compiler recognizes it.
* sysdeps/hppa/bits/endian.h: New file.
* sysdeps/unix/sysv/hpux/bits/errno.h: New file.
* sysdeps/unix/sysv/hpux/bits/setjmp.h: New file.
* sysdeps/unix/sysv/hpux/bits/stat.h: New file.
* sysdeps/unix/sysv/hpux/bits/types.h: New file.
* sysdeps/unix/sysv/sysv4/solaris2/getdents.c: New file.
Patch by John Tobey <jtobey@banta-im.com>.
* sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h: New file.
1999-08-25 Mark Kettenis <kettenis@gnu.org>
* sysdeps/unix/sysv/linux/ptsname.c: Add checks to make sure we're
really dealing with a master pseudo terminal, and really returning
the name of the associated slave pseudo terminal by checking the
device number.
* sysdeps/unix/sysv/linux/pty-private.h: Removed.
* login/programs/pt_chown.c (do_pt_chown): Don't use unix98_pseudo_p.
1999-08-25 Ulrich Drepper <drepper@cygnus.com>
* inet/Makefile (routines): Add getipnodebynm.
* inet/getipnodebynm.c: New file.
* nss/digits_dots.c: If HAVE_TYPE is define type contains the
interface type.
* nss/nss_files/files-XXX.c: Define EXTRA_ARGS, EXTRA_ARGS_DECL, and
EXTRA_ARGS_VALUE is not already done.
(internal_getent): Allow extra parameters and pass them to parse_line.
(_nss_files_get,ENTNAME_r): Pass extra parameters to internal_getent.
(_nss_files_get##name##_r): Likewise.
* nss/nss_files/files-hosts.c: Define EXTRA_ARGS, EXTRA_ARGS_DECL,
and EXTRA_ARGS_VALUE to pass flags and type to parser.
Add getipnodebyname function.
* nss/nss_files/files-parse.c: Define EXTRA_ARGS, EXTRA_ARGS_DECL, and
EXTRA_ARGS_VALUE is not already done.
(parse_line): Add EXTRA_ARGS_DECL to parameter list.
* nss/nss_db/db-XXX.c (lookup): Allow extra parameters and pass them
to parse_line.
(_nss_db_get##name##_r): Pass extra parameters to lookup.
(_nss_db_get,ENTNAME_r): Likewise.
* sysdeps/generic/if_index.c (__protocol_available): New function.
* sysdeps/unix/sysv/linux/if_index.c: Likewise.
* login/pty-private.h: Move to...
* sysdeps/generic/pty-private.h: ...here.
* sysdeps/unix/sysv/linux/pty-private.h: New file. Linux specific
version.
* login/programs/pt_chown.c (do_pt_chown): Use unix98_pseudo_p is
available.
* conform/conformtest.pl (@headers): Add monetary.h-data,
mqueue.h-data, ndbm.h-data, nl_types.h-data, and poll.h-data.
* conform/data/monetary.h-data: New file.
* conform/data/mqueue.h-data: New file.
* conform/data/ndbm.h-data: New file.
* conform/data/nl_types.h.h-data: New file.
* conform/data/poll.h-data: New file.
1999-08-24 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/mips/bits/errno.h: Fix EILSEQ value
changed in last patch. Reported by Ralf Baechle.
1999-08-24 Ulrich Drepper <drepper@cygnus.com>
* conform/Makefile: New file.
* conform/conformtest.pl: New file.
* conform/data/aio.h-data: New file.
* conform/data/assert.h-data: New file.
* conform/data/cpio.h-data: New file.
* conform/data/ctype.h-data: New file.
* conform/data/dirent.h-data: New file.
* conform/data/dlfcn.h-data: New file.
* conform/data/errno.h-data: New file.
* conform/data/fcntl.h-data: New file.
* conform/data/float.h-data: New file.
* conform/data/fmtmsg.h-data: New file.
* conform/data/fnmatch.h-data: New file.
* conform/data/ftw.h-data: New file.
* conform/data/glob.h-data: New file.
* conform/data/grp.h-data: New file.
* conform/data/iconv.h-data: New file.
* conform/data/inttypes.h-data: New file.
* conform/data/iso646.h-data: New file.
* conform/data/langinfo.h-data: New file.
* conform/data/libgen.h-data: New file.
* conform/data/locale.h-data: New file.
* conform/data/math.h-data: New file.
1999-08-23 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile: Mode addition to routines to the right place.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: Likewise.
1999-08-23 Ulrich Drepper <drepper@cygnus.com>
* posix/regexbug1.c: Make it an error if the test fails.
1999-08-23 Andreas Schwab <schwab@suse.de>
Ulrich Drepper <drepper@cygnus.com>
* posix/regex.c (re_match_2_internal): Correct check for charset
after exactn in loop.
1999-08-22 Ulrich Drepper <drepper@cygnus.com>
* iconv/gconv_int.h (GCONV_AVOID_NOCONV): New definition.
(__gconv_find_transform): Update prototype.
(__gconv_open): Likewise.
* iconv/gconv_open.c: Take extra parameter and pass it to
__gconv_find_transform.
* iconv/gconv_db.c (__gconv_find_transform): Take extra parameter with
flags. If GCONV_AVOID_NOCONV flag is set don't return copying
transformation.
* iconv/iconv_open.c: Pass extra parameter to __gconv_open.
* wcsmbs/wcsmbsload.c: Likewise.
* intl/dcgettext.c (_nl_find_msg): Rewrite to use gconv instead of
iconv for glibc.
* intl/gettextP.h: Likewise.
* intl/loadmsgcat.c: Likewise.
* posix/regexbug1.c: New file.
* posix/Makefile (tests): Add regexbug1.
* hurd/new-fd.c (_hurd_new_fd): Initialize fcntl flags.
* hurd/port2fd.c (_hurd_port2fd): Reset the fcntl flags when
installing PORT in the descriptor cell.
1999-08-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Mark OPTION and
TIMEOUT as outputs of the asm to indicate that the signal thread
might mutate them.
* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Short circuit to plain
mach_msg if only sending or only receiving (i.e., not an RPC). When
making an RPC that might get interrupted, save OPTION and the portion
of the message buffer that gets clobbered by an EINTR reply message,
and properly restore them before attempting to retry the request
message send.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
* intl/gettextP.h (struct loaded_domain): Add conv element.
* intl/dcgettext.c (find_msg): Rename to _nl_find_msg and make public.
Instead of returning found message directly convert it using iconv
if a conversion was found when opening the file.
* intl/loadinfo.h: Protect against multiple inclusion.
Declare _nl_find_msg.
* intl/loadmsgcat.c (_nl_load_domain): Try to determine charset used
in the message file and if necessary find approrpiate
conversion to match currently selected charset.
* sysdeps/unix/sysv/linux/getcwd.c: Allocate buffer large enough
not only if size == 0, but also for size < 0.
* sysdeps/posix/getcwd.c: Likewise. [PR libc/1269]
* dirent/Makefile (routines): Add getdents64.
* sysdeps/unix/sysv/linux/Makefile [dirent] (sysdep_routines):
Remove getdents64.
* dirent/dirent.h: Redirect getdirentries to getdirentries64 if
compiled with _FILE_OFFSET_BITS=64.
* sysdeps/generic/getdents64.c: New file.
* sysdeps/unix/sysv/linux/getdirentries.c: Also redefine off_t and
__lseek for getdirentries64 definition.
* sysdeps/unix/sysv/linux/llseek.c: Make __lseek64 a strong alias.
* sysdeps/unix/sysv/linux/sys/sendfile.h: Don't allow use with
_FILE_OFFSET_BITS=64.
* sysdeps/unix/bsd/telldir.c (seekdir): Correct type of second
parameter.
* sysdeps/generic/setenv.c (__add_to_environ): Initialize ep
after we have the lock.
1999-08-19 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/setenv.c: Update(__add_to_environ): Initialize
ep after we have the lock.
* sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h: New file.
Patch by Richard Henderson.
1999-08-19 Andreas Schwab <schwab@suse.de>
* libio/iovswscanf.c (vswscanf): Make stream unoriented initially
and call _IO_fwide, to get the wide stream state initialized
correctly. Don't set _IO_JUMPS.
* libio/vsnprintf.c (_IO_vsnprintf): Avoid casts to _IO_FILE *.
* libio/vswprintf.c (_IO_vswprintf): Likewise. Pass
_IO_wstrn_jumps to _IO_no_init instead of setting _IO_WIDE_JUMPS
directly.
1999-08-19 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c (jn_test): Fix typo in description.
(erfc_test): Add some more tests.
(erf_test): Add some more tests.
1999-08-19 Andreas Schwab <schwab@suse.de>
* csu/Makefile ($(objpfx)initfini.s): Replace $(no-exceptions) by
expression using $(exceptions).
1999-08-18 Ulrich Drepper <drepper@cygnus.com>
* ctype/ctype.h: Avoid useless #endif #if pairs.
* dirent/dirent.h: Define ino_t and ino64_t if not done already.
(seekdir): Fix type of second parameter.
* sysdeps/generic/seekdir.c: Likewise.
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* dlfcn/dlfcn.h: Define RTLD_NEXT and RTLD_DEFAULT only if __USE_GNU.
* posix/sys/types.h: Define type useconds_t if not done already.
* posix/unistd.h: Likewise. Use this in ualarm and usleep
declarations.
* sysdeps/generic/bits/types.h: Define type __useconds_t.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise.
1999-08-17 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfprintf.c (process_string_arg): Correct last patch
and write correct number of bytes in case of %ls with precision.
Reported by Shinya Hanataka <hanataka@abyss.rim.or.jp>.
* stdio-common/vfprintf.c (process_string_arg) [printf]: Handle
possibly unterminated strings for %ls when a precision is
specified.
Patch by Akira YOSHIYAMA <yosshy@tkf.att.ne.jp>.
* rt/aio_notify.c (__aio_notify_only): Take extra parameter. Pass it
* resolv/nss_dns/dns-host.c (getanswer_r): Cleanup out-of-buffer
handling.
* manual/install.texi (Configuring and compiling): Mention CFLAGS.
1999-08-15 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Take extra parameter and
initialize si_pid from it.
* sysdeps/generic/aio_sigqueue.c (__aio_sigqueue): Take extra
parameter.
* rt/aio_misc.c (__aio_enqueue_request): Initialize caller_pid.
* rt/aio_misc.h (struct waitlist): Add caller_pid element.
(struct requestlist): Likewise.
Adjust prototypes of __aio_notify_only and __aio_sigqueue.
* rt/notify.c (__aio_notify_only): Take extra parameter. Pass it
to __aio_sigqueue.
(__aio_notify): Pass caller PID to __aio_notify_only.
* rt/aio_suspend.c: Initialize caller_pid.
* rt/lio_listio.c: Likewise.
* rt/lio_listio64.c: Likewise.
* rt/lio_listio.c: If nothing has to be done free mutex before
signalling.
* rt/lio_listio64.c: Likewise.
1999-08-09 Scott Bambrough <scottb@netwinder.org>
* elf/elf.h: Added definition of ELFOSABI_ARM.
* elf/dl-load.c (_dl_map_object_from_fd): Use VALID_ELF_HEADER,
VALID_ELF_OSABI, VALID_ELF_ABIVERSION to decide whether an
object's header and ABI values are acceptable.
(VALID_ELF_HEADER): New macro; provide default definition.
(VALID_ELF_OSABI): New macro; provide default definition.
(VALID_ELF_ABIVERSION): New macro; provide default definition.
* sysdeps/arm/dl-machine.h Define ARM specific versions of
VALID_ELF_HEADER, VALID_ELF_OSABI, VALID_ELF_ABIVERSION.
1999-08-09 Andreas Schwab <schwab@suse.de>
* inet/tst-ipnode.c (main): Don't compare integer with NULL.
1999-08-09 Thorsten Kukuk <kukuk@suse.de>
* sunrpc/svc_run.c (svc_run): Free my_pollfd.
1999-08-09 Andreas Schwab <schwab@suse.de>
* sunrpc/svc.c (svc_getreq_poll): Fix argument of xprt_unregister.
1999-08-06 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_DSYNC, O_RSYNC):
New definitions.
(O_DIRECTORY, O_NOFOLLOW): Define only if __USE_GNU.
(O_LARGEFILE): Define only if __USE_LARGEFILE64.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_DSYNC, O_RSYNC):
New definitions.
(O_LARGEFILE): Define only if __USE_LARGEFILE64.
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_LARGEFILE): Likewise.
1999-08-05 Ulrich Drepper <drepper@cygnus.com>
* libio/genops.c (_IO_flush_all): Don't access elements beyond what
2.0 defined if they are not available.
1999-08-04 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/alpha/getsysstats.c (GET_NPROCS_PARSER):
Initialize result to one.
(GET_NPROCS_CONF_PARSER): Likewise.
1999-08-02 Thorsten Kukuk <kukuk@suse.de>
* nis/nis_callback.c: Fix port problem on big-endian machines
* sunrpc/clnt_udp.c: Cast to uint32_t pointer, not short. RPC
fields are always 32 bit.
Patches from Paul Mackerras <paulus@cs.anu.edu.au>
* nis/nss_nis/nis-service.c: Remove htons, port is always in
network-byte-order.
* nis/nss_nisplus/nisplus-service.c: Rename number to port.
1999-08-03 Andreas Schwab <schwab@suse.de>
* sysdeps/posix/sigset.c: Unblock the signal after setting its
disposition. Use SIG_BLOCK/SIG_UNBLOCK instead of SIG_SETMASK to
avoid two calls to sigprocmask.
1999-08-02 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction):
Only allow rt signal frames. No SA_SIGINFO signals will have the
siginfo_t just not filled out with SI_NOINFO code.
* sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
(register_dump): Take the above change into account.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
(rt_signal_frame): Likewise.
* sysdeps/unix/sysv/linux/sparc/getsysstats.c: New file.
1999-08-02 Thorsten Kukuk <kukuk@suse.de>
* nis/nis_callback.c (internal_nis_do_callback) use poll()
instead of select().
1999-08-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/s_nextafter.c: Define __nexttoward and
nexttoward so something else so that aliasing works.
1999-08-02 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/generic/math_ldbl.h: Fix typo.
* sysdeps/generic/strtold.c: Remove unbalanced #endif.
* sysdeps/alpha/fpu/e_sqrt.c: Use new path for e_sqrt.c.
1999-08-02 Ulrich Drepper <drepper@cygnus.com>
* elf/resolvfail.c: Include stdio.h. Also test dlerror.
1999-08-01 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-sym.c (_dl_sym): Always determine module of the caller to
pass it to _dl_lookup_symbol.
* elf/dl-error.c (_dl_signal_error): Optimize string generation a
bit. Reword message.
* dlfcn/dlerror.c: Make code thread-safe.
1999-07-30 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/getsysstats.c (GET_NPROCS_PARSER): New
definition.
(__get_nprocs): Use it.
(__get_nprocs_conf): Define as separate function if
GET_NPROCS_CONF_PARSER is defined.
* sysdeps/unix/sysv/linux/alpha/getsysstats.c: New file.
* include/sys/sysinfo.h: New file.
* sysdeps/generic/sys/sysinfo.h: Remove declaration of internal
interface.
* sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
1999-07-30 H.J. Lu <hjl@gnu.org>
* libio/iofflush.c (fflush_unlocked): Weak aliase if
_IO_MTSAFE_IO is not defined.
* libio/clearerr.c (clearerr_unlocked): Likewise.
* libio/feof.c (feof_unlocked): Likewise.
* libio/ferror.c (ferror_unlocked): Likewise.
* libio/fputc.c (fputc_unlocked): Likewise.
* libio/getc.c (getc_unlocked, fgetc_unlocked): Likewise.
* libio/getchar.c (getchar_unlocked): Likewise.
* libio/putc.c (putc_unlocked): Likewise.
* libio/putchar.c (putchar_unlocked): Likewise.
1999-07-30 Thorsten Kukuk <kukuk@suse.de>
* sunrpc/Versions: Add svc_getreq_common, svc_getreq_poll,
svc_max_pollfd and svc_pollfd to GLIBC_2.2
* sunrpc/rpc/svc.h: Use rpc*_t types, add new prototypes
for svc_run/poll interface.
* sunrpc/rpc/types.h: Add rpc*_t typedefs.
* sunrpc/rpc_common.c: Add svc_pollfd and svc_max_pollfd as
global variable.
* sunrpc/svc.c: Add svc_getreq_poll and svc_getreq_common,
rewrite other svc_getreq* functions to use svc_getreq_common.
* sunrpc/svc_run.c: Use poll().
1999-07-30 Andreas Schwab <schwab@suse.de>
* Makerules: Put sysd-versions and Versions.all on
postclean-generated instead of common-generated.
1999-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/time.texi (Basic CPU Time): Note that clock_t can wrap
around and CLOCKS_PER_SEC is 1e6.
* configure.in: Add test for local label subtraction.
* config.h.in: Ad HAVE_SUBTRACT_LOCAL_LABELS.
* stdio-common/vfprintf.c (vfprintf): Use subtraction of local
labels to reduce number of runtime relocations and move jump
tables in read-only seciton.
* malloc/malloc.c (ptmalloc_init): Also initialize __libc_pagesize
if no threads are used.
* libio/iofwrite.c: Add weak alias for _unlocked function if not
_IO_MTSAFE_IO.
* libio/iofread.c: Likewise.
* libio/iofgets.c: Likewise.
* libio/iofputs.c: Likewise.
* sysdeps/generic/bits/libc-lock.h (__libc_cleanup_end): New
definition.
1999-07-29 Andreas Schwab <schwab@suse.de>
* misc/efgcvt.c (NDIGIT_MAX): Provide precomputed constants for
all floating point formats supported by gcc. Error out for
unhandled precisions.
* misc/efgcvt_r.c (NDIGIT_MAX): Likewise.
* misc/qefgcvt.c (NDIGIT_MAX): Likewise.
* misc/qefgcvt_r.c (NDIGIT_MAX): Likewise.
* sysdeps/generic/setenv.c: Move setenv code in new function
__add_to_environ. Add new parameter specifying already
constructed string for the environment.
(setenv): Call __add_to_environ with new parameter set to NULL.
(unsetenv): Really test all elements for duplicated name. Missed those
cases where the two are following each other.
* sysdeps/generic/putenv.c: Use __add_to_environ instead of setenv.
* include/stdlib.h: Add prototype of __add_to_environ.
* stdlib/tst-environ.c: New file.
* sysdeps/mach/hurd/i386/init-first.c (init): Move the inline
assembler code to switch stacks and call init1 outside this
function. Inside `init' the code was optimized away by gcc
2.95 since it was "clearly" unreachable.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Do something similar for the trampoline code.
1999-07-28 Ulrich Drepper <drepper@cygnus.com>
* misc/efgcvt.c: Use IEEE 854 formula to compute the number of digits
to print.
* misc/efgcvt_r.c: Likewise.
* misc/qefgcvt.c: Likewise.
* misc/qefgcvt_r.c: Likewise.
* misc/tst-efgcvt.c: Remove one test which cannot reliably be run
anymore.
1999-07-28 Ulrich Drepper <drepper@cygnus.com>
* stdlib/mblen.c: Use static state.
Reported by Bruno Haible <haible@ilog.fr>.
* stdlib/mbtowc.c: Reset state for s == NULL.
* stdlib/wctomb.c: Likewise.
Reported by Bruno Haible <haible@ilog.fr>.
* stdlib/mbstowcs.c: Do not use global state.
Reported by Bruno Haible <haible@ilog.fr>.
1999-07-27 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Only return information
for the hinted protocol.
* sysdeps/unix/sysv/linux/alpha/bits/elfclass.h: Define Elf_Symndx
1999-07-26 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/wait3.c: Help compiling in presence of
__transparent_union__. Reported by John Tobey <jtobey@banta-im.com>.
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc32/sparcv8/Makefile: -mv8 is deprecated, use
-mcpu=v8.
* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
* sysdeps/sparc/sparc64/Makefile: Make %g7 register available for
libc's private use (as assembly routine clobber it anyway).
1999-07-26 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* README.template (configurations): The crypt add-on has a new
ftp site.
* manual/install.texi (Installation): Likewise.
1999-07-26 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wcsrtombs.c (__wcsrtombs): When computing maximum number
of wide characters to convert do it right and don't overestimate
by multiplying with MB_CUR_MAX.
Reported by Bruno Haible <haible@ilog.fr>.
1999-07-26 Jakub Jelinek <jj@ultra.linux.jz>
* string/bits/string2.h (__strcpy_small): Avoid compile time warning.
(__stpcpy_small): Likewise.
Union has no __uc member but __c.
* string/bits/string2.h: Fix aliasing problems.
* sysdeps/i386/i486/bits/string.h: Likewise.
* sysdeps/i386/bits/string.h: Likewise.
1998-12-28 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/dl-machine.c: Handle shared library profiling.
* elf/rtld.c (dl_main): Don't call malloc() between
re-relocating the dynamic linker and running the application's crt0.
1999-07-21 Paul D. Smith <psmith@gnu.org>
* sysdeps/generic/glob.c: Move getlogin{,_r} prototypes below
glob.h to get __P() macro.
* posix/fnmatch.c (internal_fnmatch): Use K&R definition syntax,
not ANSI.
(__strchrnul): This won't exist outside GLIBC, so create one.
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Always define __qaddr_t.
__ino64_t should be 32bit unsigned type on sparc32.
Define __off64_t to __quad_t instead of __int64_t.
Make __pic_pid_t unsigned on sparc32.
1999-07-25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* localedata/tst-rpmatch.sh: Use "&" instead of "" to avoid a bug
in bash 2.03.
1999-07-25 Ulrich Drepper <drepper@cygnus.com>
1999-07-25 Ulrich Drepper <drepper@cygnus.com>
* iconvdata/euc-kr.c (euckr_from_ucs4): Set cp[0] to '\0' in case
of an error. Patch by Changwoo Ryu <cwryu@debian.org>.
1999-07-24 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-fini.c: Handle DT_FINI_ARRAY.
* elf/link.h (struct link_map): Remove l_init_running. Add l_runcount
and l_initcount.
* elf/dl-init.c: Handle DT_INIT_ARRAY.
* elf/dynamic-link.h: Change parameters. Now only get link_map
pointer. Calculate l_initcount.
* elf/link.h (struct link_map): Add l_runpath_dirs.
* elf/dynamic-link.h: If RUNPATH is given, set RPATH to NULL.
* elf/dl-load.c: Pretty print.
(decompose_rpath): Take new parameter with info from where the path
comes. Pass it the fillin_rpath.
(_dl_init_paths): Initialize l_runpath_dirs.
(_dl_map_object): Don't search using RPATHs if object has RUNPATH.
Search using RUNPATH after LD_LIBRARY_PATH.
* elf/dl-support.c: Adjust comment.
* elf/rtld.c: Adjust help message.
* sysdeps/generic/bits/termios.h (ONOEOT): Change value to 1<<3, to
match BSD value; previous value of 1<<8 was a typo. I bet nothing
ever used this, so I'm not going to worry about compatibility.
[__USE_GNU] (IUCLC, OLCUC): New macros.
* sysdeps/mach/_strerror.c: Include <libintl.h>.
1999-07-19 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdsig.c (_hurd_internal_post_signal): If a
hurd_signal_preemptor matches but its `preemptor' field is null, use
its `handler' field directly. This is to comply with behavior
documented in <hurd/sigpreempt.h>.
* sysdeps/mach/hurd/mmap.c (__mmap): Use correct arguments in
__vm_allocate calls.
1999-07-20 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/sysd-stdio.c (__stdio_read): Call
_hurd_fd_read with new OFFSET argument set to -1.
(__stdio_write): Call _hurd_fd_write with new OFFSET argument set
to -1.
1999-07-17 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdexec.c (_hurd_exec): Prune trailing null ports from the
descriptor table sent in the RPC.
* inet/Makefile (routines): Add getipnodebyad and freehostent.
* inet/Versions [GLIBC_2.2] (libc): Add getipnodebyad and freehostent.
* inet/freehostent.c: New file.
* inet/getipnodebyad.c: New file.
* nss/digits_dots.c: Fail if IPv6 is found and IPv4 is requested.
Add support for getipnode* functions.
* nss/digits_dots.c: Don't use __set_h_errno, assign to *h_errnop.
Set h_aliases to NULL and not to a pointer to an array with a NULL
pointer following XNS 5.2.
1999-07-18 Ulrich Drepper <drepper@cygnus.com>
* inet/gethstbyad_r.c (PREPROCESS): Test for unspecified IPv6 address
and return an error in this case.
* nss/getXXbyYY_r.c: Allow PREPROCESS be defined and use it if
available.
* resolv/netdb.h: Adjust parameters of gethostbyaddr and
gethostbyaddr_r.
* inet/gethstbyad.c: Correct type of len parameter.
* inet/gethstbyad_r.c: Likewise.
1999-07-17 Zack Weinberg <zack@rabi.columbia.edu>
* include/libc-symbol.h: Clean up definitions of weak_alias,
strong_alias, symbol_version, etc. etc.
* posix/getopt.h: Use ctype.h to get features.h included, and don't
include it at all if __GNU_LIBRARY__ is already defined.
1999-07-15 Jakub Jelinek <jj@ultra.linux.cz>
* math/Makefile: Add t_sincosl and k_sincosl support routines.
* math/math_private.h (__kernel_sincosl): New declaration.
* sysdeps/generic/t_sincosl.c: New file.
* sysdeps/generic/k_sincosl.c: New file.
* sysdeps/ieee754/ldbl-128/k_cosl.c: New file.
* sysdeps/ieee754/ldbl-128/k_sinl.c: New file.
* sysdeps/ieee754/ldbl-128/k_sincosl.c: New file.
* sysdeps/ieee754/ldbl-128/t_sincosl.c: New file.
* sysdeps/ieee754/ldbl-128/e_rem_pio2l.c: New file.
* sysdeps/ieee754/ldbl-128/s_sincosl.c (__sincosl): Use
__kernel_sincosl.
* sysdeps/ieee754/ldbl-128/math_ldbl.h (GET_LDOUBLE_LSW64): New
definition.
1999-07-14 Ulrich Drepper <drepper@cygnus.com>
* time/strptime.c (get_number): Handle number parsing more
consistent with strftime. Only parse a given number of digits.
(get_alt_number): Fix implementation. Was broken.
(strptime_internal): Add third parameter to get_number and
get_alt_number calls.
1999-07-13 Jakub Jelinek <jj@ultra.linux.cz>
* elf/ldd.bash.in: Add support for multiple dynamic linkers.
* sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed: On sparc*linux*,
try both 32bit and 64bit dynamic linker.
* sysdeps/unix/sysv/linux/configure.in: Apply sparc ldd-rewrite
script on all sparc targets.
1999-07-13 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/shmat.c (shmat): Avoid casting a pointer
to int.
1999-07-12 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): For non-passive
connections without a hostname set address to localhost address.
1999-07-11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Add prefix "__" to get[a-z]*_r () to get
nscd's own strong version of the get[a-z]*_r function.
* nscd/hstcache.c: Likwise.
* nscd/pwdcache.c: Likwise.
1999-07-12 Andreas Schwab <schwab@suse.de>
* elf/rtld.c (dl_main): When putting back the interpreter object
handle the case where a missing object might occur in the list of
objects but not in the search list when in trace mode.
(_hurd_set_brk, init_brk): Use that instead of &__data_start.
Initialize it from &__data_start if defined, or else &_end.
1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
1999-07-09 Cristian Gafton <gafton@redhat.com>
* nscd/nscd_gethst_r.c (nscd_gethst_r): Make sure
resultbuf->h_addr_list addresses are correctly aligned.
* sysdeps/i386/bits/string.h (__memcpy_c): Help some stupid old
compilers.
(__memset_cc): Likewise.
* sysdeps/generic/libc-start.c: For SUID binaries check whether
the standard file descriptors are open.
Reported by Chris Evans <chris@ferret.lmh.ox.ac.uk>.
* sysdeps/unix/sysv/linux/syscalls.list: Remove mmap64 alias for mmap.
* sysdeps/unix/sysv/linux/mmap64.c: Test whether mapped area is in
range of mmap. If not fail.
Patches by Daniel Jacobowitz <dan@debian.org>.
* elf/rtld.c: Split _dl_start in two pieces to prevent GOT usage
before the relocation happened.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1999-07-08 Andreas Schwab <schwab@suse.de>
* libio/iofopncook.c (fopencookie): Set _fileno to -2.
* libio/libioP.h (_IO_file_is_open): Only check for -1, not all
negative numbers.
* libio/fileops.c (_IO_new_file_close_it): Set _fileno to -1, not
EOF.
* libio/oldfileops.c (_IO_old_file_close_it): Likewise.
1999-07-08 Andreas Schwab <schwab@suse.de>
* stdio-common/vfprintf.c (buffered_vfprintf): Initialize _mode.
1999-07-08 Andreas Schwab <schwab@suse.de>
* libio/fileno.c: Return -1 instead of EOF and set errno if the
stream is not a real file stream.
1999-07-08 Andreas Schwab <schwab@suse.de>
* manual/charset.texi: Fix typos.
* sysdeps/gnu/Makefile (libdl-routines): Add eval.
1999-07-06 Zack Weinberg <zack@rabi.columbia.edu>
* dlfcn: New directory. Move the following files from elf:
dladdr.c, dlclose.c, dlerror.c, dlfcn.h, dlopen.c,
dlopenold.c, dlsym.c, dlvsym.c.
* dlfcn/Makefile: New file.
* dlfcn/Versions: New file.
* dlfcn/dlsym.c: All ELF-specific code split out to new
function _dl_sym.
* dlfcn/dlvsym.c: All ELF-specific code split out to new
function _dl_vsym.
* elf/dl-sym.c: New file. _dl_sym and _dl_vsym are
implemented here.
* dlfcn/dladdr.c: Remove all references to ELF data structures
or headers.
* dlfcn/dlclose.c: Likewise.
* dlfcn/dlerror.c: Likewise.
* dlfcn/dlopen.c: Likewise.
* dlfcn/dlopenold.c: Likewise.
* Makeconfig (dlfcn): New variable - set to `dlfcn' if elf is
yes, empty otherwise.
(libdl): Set to dlfcn/libdl.so or libdl.a if elf is yes,
depending on build-shared.
(subdirs): Add $(dlfcn).
(rpath-dirs): Add dlfcn.
* elf/Makefile: Remove all references to libdl or its
components, except the ones relating to the test cases.
(routines): Add dl-sym.
* elf/Versions (libc): Add _dl_sym and _dl_vsym for GLIBC_2.2.
(libdl): Delete.
* elf/dl-close.c (_dl_close): Change argument to void *.
* elf/dl-open.c (_dl_open): Change return type to void *.
* elf/eval.c: Removed.
* elf/ldsodefs.h: Move prototypes of _dl_catch_error,
_dlerror_run, _dl_open, _dl_close, _dl_addr, and
_dl_mcount_wrapper_check to include/dlfcn.h. Delete
_CALL_DL_FCT macro.
* include/dlfcn.h: Also prototype _dl_sym and _dl_vsym here.
Include real header from dlfcn directory.
* include/ldsodefs.h: Removed.
* grp/initgroups.c: Use DL_CALL_FCT not _CALL_DL_FCT.
* nss/getXXbyYY_r.c: Likewise.
* nss/getXXent_r.c: Likewise.
* iconv/gconv.c: Likewise. Don't include ldsodefs.h.
* iconv/gconv_db.c: Likewise. Don't include ldsodefs.h.
* iconv/skeleton.c: Don't include ldsodefs.h.
* nss/nsswitch.h: Don't include ldsodefs.h. Include dlfcn.h.
1999-07-07 Ulrich Drepper <drepper@cygnus.com>
1999-07-07 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/getpt.c: Check that /dev/pts is mounted.
(_PATH_DEVPTS, DEVPTS_SUPER_MAGIC): New definitions.
(_PATH_DEVPTMX): Use _PATH_DEV.
1999-07-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* malloc/tst-malloc.c: New file. Tests some basic functionality.
* malloc/Makefile (tests): Add tst-malloc.
* sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed: New file.
1999-07-06 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c: Update for some more
motherboards.
Patch by Jay Estabrook.
* sysdeps/unix/sysv/linux/configure.in: Don't test for libc4 in
ldd for SPARC.
* /sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed: New file.
Patch by Cristian Gafton.
1999-07-02 Cristian Gafton <gafton@redhat.com>
* sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): "return 0"
instead of "return NULL" to make C++ happy.
1999-07-04 Mark Kettenis <kettenis@gnu.org>
* libio/iofdopen.c (_IO_new_fdopen): Set EINVAL if MODE is not
allowed by the file access mode of the open file.
1999-07-06 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/setfpucw.c: Include math.h to get all needed
macros defined.
1999-07-03 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/submul_1.S: Fix carry handling. Optimize.
* sysdeps/sparc/sparc64/lshift.S: Make a leaf subroutine. Optimize.
* sysdeps/sparc/sparc64/rshift.S: Likewise.
* sysdeps/sparc/sparc64/mul_1.S: Optimize.
1999-07-04 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
* malloc/malloc.c (request2size): Check for overflow and return
NULL whenever it is encountered.
1999-07-04 Zack Weinberg <zack@rabi.columbia.edu>
* sysdeps/posix/tempname.c (__gen_tempname): Add
ability to create directories. Replace OPENIT and LARGEFILE
args with a single flags parameter.
* sysdeps/generic/tempname.c: Likewise.
* include/stdio.h: Adjust prototype of __gen_tempname to
match. Define symbolic constants for second argument.
* misc/mkdtemp.c: New file, provides new function mkdtemp().
* stdlib/stdlib.h: Prototype it.
* misc/Versions: Export it.
* misc/Makefile (routines): Add mktemp.
* manual/filesys.texi: Document it.
* misc/mktemp.c: Adjust call of __gen_tempname to match new
convention.
* misc/mkstemp.c: Likewise.
* stdio-common/tempnam.c: Likewise.
* stdio-common/tmpfile.c: Likewise.
* stdio-common/tmpfile64.c: Likewise.
* stdio-common/tmpnam.c: Likewise.
* stdio-common/tmpnam_r.c: Likewise.
1999-07-05 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Support
R_SPARC_OLO10 relocations.
* elf/elf.h (R_SPARC_OLO10): Fix comment.
1999-07-02 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Revert bogus 'unset IFS' change. It
doesn't belong in the tests, but in the wordexp implementation.
* posix/wordexp.c (exec_comm): Unset IFS so that subshells don't
split fields.
1999-07-01 Cristian Gafton <gafton@redhat.com>
* time/strptime.c (strptime): Initialize the tm struct first to avoid
returning bogus results on incomplete data.
(strptime_internal): day_of_the_week() requres bith tm_mon and
tm_mday to be initializaed.
Computer them first if they are not given.
(strptime_internal): (have_mon, have_mday): New variables.