2001-02-26 Ulrich Drepper <drepper@redhat.com>
* dlfcn/Makefile (distribute): Add modatexit.c and modcxaatexit.c.
(tests): Add tstatexit and tstcxaatexit.
(module-names): Add modatexit and modcxaatexit.
Add rules to build and run tstatexit and tstcxaatexit.
* dlfcn/modatexit.c: New file.
* dlfcn/modcxaatexit.c: New file.
* dlfcn/tstatexit.c: New file.
* dlfcn/tstcxaatexit.c: New file.
* io/Makefile: Pass -DHAVE_DOT_HIDDEN to stat and mknod functions if
.hidden is available.
* io/stat.c: If .hidden is available use it to avoid exporting
functions.
* io/fstat.c: Likewise.
* io/lstat.c: Likewise.
* io/stat64.c: Likewise.
* io/fstat64.c: Likewise.
* io/lstat64.c: Likewise.
* sysdeps/generic/mknod.c: Likewise.
* malloc/mtrace.c: Use __cxa_atexit and not atexit.
* sysdeps/generic/bb_init_func.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* stdlib/atexit.c (__new_exitfn): Move to cxa_atexit.c.
(atexit): Implement using __cxa_atexit.
Use .hidden if availble to avoid exporting atexit.
* stdlib/cxa_atexit.c (__new_exitfn): Moved to here from atexit.c.
* stdlib/Versions: Export __new_exitfn for GLIBC_2.2.3.
* stdlib/Makefile (routines): Add old_atexit.
(static-only-routines): Add atexit.
Pass -DHAVE_DOT_HIDDEN for atexit.c if .hidden is available.
* stdlib/old_atexit.c: New file.
* intl/Makefile: Remove bogus endif.
2001-02-23 Andreas Jaeger <aj@suse.de>
* string/tester.c (test_strtok_r): Add testcase.
(test_strtok_r): Always initialize cp for proper checking.
* sysdeps/generic/strtok.c (strtok): Handle case of first strtok
returning NULL correctly.
Patch by Fumitoshi UKAI <ukai@debian.or.jp>.
* sysdeps/generic/strtok_r.c (__strtok_r): Likewise.
2001-02-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/aix/bits/types.h: Define __need_NULL before
including <stddef.h>.
* sysdeps/unix/sysv/aix/write.c: Define alias __libc_write.
* include/libc-symbols.h (weak_alias): Don't use .weak if
HAVE_ASM_GLOBAL_DOT_NAME is defined.
Patches by Michael Keezer <mkeezer@redhat.com>.
* sysdeps/generic/ftime.c: Don't include <sys/time.h> at all.
Patch by Michael Keezer <mkeezer@redhat.com>.
* sysdeps/unix/sysv/aix/Dist: Remove restf.S and savef.S.
* sysdeps/unix/sysv/aix/Makefile [$(subdir) == misc]
(sysdep_routines): Remove restf.S and savef.S.
* sysdeps/unix/sysv/aix/restf.S. Removed.
* sysdeps/unix/sysv/aix/savef.S. Removed.
* sysdeps/powerpc/fprrest.S: Use C_TEXT to define label. Also define
alternative names used on some platforms.
* sysdeps/powerpc/fprsave.S: Likewise.
* sysdeps/powerpc/gprrest0.S: Likewise.
* sysdeps/powerpc/gprrest1.S: Likewise.
* sysdeps/powerpc/gprsave0.S: Likewise.
* sysdeps/powerpc/gprsave1.S: Likewise.
Patch by Michael Keezer <mkeezer@redhat.com>.
* sysdeps/generic/e_scalb.c: Set invalid exception for invalid
parameters.
* sysdeps/generic/e_scalbf.c: New file.
* sysdeps/generic/e_scalbl.c: New file.
* math/w_acos.c: Move to ...
* sysdeps/generic/w_acos.c: ...here. New file.
* math/w_acosf.c: Move to ...
* sysdeps/generic/w_acosf.c: ...here. New file.
* math/w_acosh.c: Move to ...
* sysdeps/generic/w_acosh.c: ...here. New file.
* math/w_acoshf.c: Move to ...
* sysdeps/generic/w_acoshf.c: ...here. New file.
* math/w_acoshl.c: Move to ...
* sysdeps/generic/w_acoshl.c: ...here. New file.
* math/w_acosl.c: Move to ...
* sysdeps/generic/w_acosl.c: ...here. New file.
* math/w_asin.c: Move to ...
* sysdeps/generic/w_asin.c: ...here. New file.
* math/w_asinf.c: Move to ...
* sysdeps/generic/w_asinf.c: ...here. New file.
* math/w_asinl.c: Move to ...
* sysdeps/generic/w_asinl.c: ...here. New file.
* math/w_atan2.c: Move to ...
* sysdeps/generic/w_atan2.c: ...here. New file.
* math/w_atan2f.c: Move to ...
* sysdeps/generic/w_atan2f.c: ...here. New file.
* math/w_atan2l.c: Move to ...
* sysdeps/generic/w_atan2l.c: ...here. New file.
* math/w_atanh.c: Move to ...
* sysdeps/generic/w_atanh.c: ...here. New file.
* math/w_atanhf.c: Move to ...
* sysdeps/generic/w_atanhf.c: ...here. New file.
* math/w_atanhl.c: Move to ...
* sysdeps/generic/w_atanhl.c: ...here. New file.
* math/w_cosh.c: Move to ...
* sysdeps/generic/w_cosh.c: ...here. New file.
* math/w_coshf.c: Move to ...
* sysdeps/generic/w_coshf.c: ...here. New file.
* math/w_coshl.c: Move to ...
* sysdeps/generic/w_coshl.c: ...here. New file.
* math/w_drem.c: Move to ...
* sysdeps/generic/w_drem.c: ...here. New file.
* math/w_dremf.c: Move to ...
* sysdeps/generic/w_dremf.c: ...here. New file.
* math/w_dreml.c: Move to ...
* sysdeps/generic/w_dreml.c: ...here. New file.
* math/w_exp10.c: Move to ...
* sysdeps/generic/w_exp10.c: ...here. New file.
* math/w_exp10f.c: Move to ...
* sysdeps/generic/w_exp10f.c: ...here. New file.
* math/w_exp10l.c: Move to ...
* sysdeps/generic/w_exp10l.c: ...here. New file.
* math/w_exp2.c: Move to ...
* sysdeps/generic/w_exp2.c: ...here. New file.
* math/w_exp2f.c: Move to ...
* sysdeps/generic/w_exp2f.c: ...here. New file.
* math/w_exp2l.c: Move to ...
* sysdeps/generic/w_exp2l.c: ...here. New file.
* math/w_fmod.c: Move to ...
* sysdeps/generic/w_fmod.c: ...here. New file.
* math/w_fmodf.c: Move to ...
* sysdeps/generic/w_fmodf.c: ...here. New file.
* math/w_fmodl.c: Move to ...
* sysdeps/generic/w_fmodl.c: ...here. New file.
* math/w_hypot.c: Move to ...
* sysdeps/generic/w_hypot.c: ...here. New file.
* math/w_hypotf.c: Move to ...
* sysdeps/generic/w_hypotf.c: ...here. New file.
* math/w_hypotl.c: Move to ...
* sysdeps/generic/w_hypotl.c: ...here. New file.
* math/w_j0.c: Move to ...
* sysdeps/generic/w_j0.c: ...here. New file.
* math/w_j0f.c: Move to ...
* sysdeps/generic/w_j0f.c: ...here. New file.
* math/w_j0l.c: Move to ...
* sysdeps/generic/w_j0l.c: ...here. New file.
* math/w_j1.c: Move to ...
* sysdeps/generic/w_j1.c: ...here. New file.
* math/w_j1f.c: Move to ...
* sysdeps/generic/w_j1f.c: ...here. New file.
* math/w_j1l.c: Move to ...
* sysdeps/generic/w_j1l.c: ...here. New file.
* math/w_jn.c: Move to ...
* sysdeps/generic/w_jn.c: ...here. New file.
* math/w_jnf.c: Move to ...
* sysdeps/generic/w_jnf.c: ...here. New file.
* math/w_jnl.c: Move to ...
* sysdeps/generic/w_jnl.c: ...here. New file.
* math/w_lgamma.c: Move to ...
* sysdeps/generic/w_lgamma.c: ...here. New file.
* math/w_lgammaf.c: Move to ...
* sysdeps/generic/w_lgammaf.c: ...here. New file.
* math/w_lgammaf_r.c: Move to ...
* sysdeps/generic/w_lgammaf_r.c: ...here. New file.
* math/w_lgammal.c: Move to ...
* sysdeps/generic/w_lgammal.c: ...here. New file.
* math/w_lgammal_r.c: Move to ...
* sysdeps/generic/w_lgammal_r.c: ...here. New file.
* math/w_lgamma_r.c: Move to ...
* sysdeps/generic/w_lgamma_r.c: ...here. New file.
* math/w_log10.c: Move to ...
* sysdeps/generic/w_log10.c: ...here. New file.
* math/w_log10f.c: Move to ...
* sysdeps/generic/w_log10f.c: ...here. New file.
* math/w_log10l.c: Move to ...
* sysdeps/generic/w_log10l.c: ...here. New file.
* math/w_log.c: Move to ...
* sysdeps/generic/w_log.c: ...here. New file.
* math/w_logf.c: Move to ...
* sysdeps/generic/w_logf.c: ...here. New file.
* math/w_logl.c: Move to ...
* sysdeps/generic/w_logl.c: ...here. New file.
* math/w_pow.c: Move to ...
* sysdeps/generic/w_pow.c: ...here. New file.
* math/w_powf.c: Move to ...
* sysdeps/generic/w_powf.c: ...here. New file.
* math/w_powl.c: Move to ...
* sysdeps/generic/w_powl.c: ...here. New file.
* math/w_remainder.c: Move to ...
* sysdeps/generic/w_remainder.c: ...here. New file.
* math/w_remainderf.c: Move to ...
* sysdeps/generic/w_remainderf.c: ...here. New file.
* math/w_remainderl.c: Move to ...
* sysdeps/generic/w_remainderl.c: ...here. New file.
* math/w_scalb.c: Move to ...
* sysdeps/generic/w_scalb.c: ...here. New file.
* math/w_scalbf.c: Move to ...
* sysdeps/generic/w_scalbf.c: ...here. New file.
* math/w_scalbl.c: Move to ...
* sysdeps/generic/w_scalbl.c: ...here. New file.
* math/w_sinh.c: Move to ...
* sysdeps/generic/w_sinh.c: ...here. New file.
* math/w_sinhf.c: Move to ...
* sysdeps/generic/w_sinhf.c: ...here. New file.
* math/w_sinhl.c: Move to ...
* sysdeps/generic/w_sinhl.c: ...here. New file.
* math/w_sqrtl.c: Move to ...
* sysdeps/generic/w_sqrtl.c: ...here. New file.
* math/w_tgamma.c: Move to ...
* sysdeps/generic/w_tgamma.c: ...here. New file.
* math/w_tgammaf.c: Move to ...
* sysdeps/generic/w_tgammaf.c: ...here. New file.
* math/w_tgammal.c: Move to ...
* sysdeps/generic/w_tgammal.c: ...here. New file.
2001-02-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/ieee754/ldbl-96/e_j0l.c: New file.
Contributed by Stephen L. Moshier <moshier@na-net.ornl.gov>.
2001-02-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/strtoll.c (__strtoq_internal): Ressurect alias
which was exported from libc.
* sysdeps/generic/strtoull.c (__strtouq_internal): Likewise.
* sysdeps/generic/getsysstat.c: Change return value of get_phys_pages
and get_avphys_page to long int.
* sysdeps/unix/sysv/linux/getsysstat.c: Likewise.
* include/sys/sysinfo.h: Likewise.
* sysdeps/generic/sys/sysinfo.h: Likewise.
* sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
* conform/data/sys/socket.h-data: Fix typos. Correct getsockopt,
recvfrom, send, and socketpair prototypes. Add allow lines.
* socket/sys/socket.h: Include <sys/uio.h>.
Don't use fancy __SOCKADDR_ARG definition unless __USE_GNU.
Fix type of second parameter of listen.
Don't declare isfdtype unless __USE_MISC.
* sysdeps/generic/listen.c: Fix type of second parameter of listen.
* sysdeps/mach/hurd/listen.c: Likewise.
* sysdeps/generic/bits/socket.h (struct sockaddr_storage): Define
ss_family and __ss_family.
* sysdeps/unix/sysv/aix/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
(struct msghdr): Change type of msg_iovlen to int and type of
msg_controllen to socklen_t.
* sysdeps/unix/sysv/linux/alpha/bits/socket.h: New file.
* sysdeps/unix/sysv/linux/ia64/bits/socket.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/socket.h: New file.
* conform/data/stdlib.h-data: Account for XPG6 changes.
* stdlib/stdlib.h (__random): Change return value type to long.
(posix_memalign): Cleanup parameter names.
(setenv, unsetenv): Make available for __USE_XOPEN2K.
Change return type of unsetenv to int.
(qecvt, qgcvt, qfcvt): Declare only if __USE_MISC.
* sysdeps/generic/setenv.c (unsetenv): Change return type to int.
Return -1 and set errno if parameter is invalid.
* stdlib/random.c (__random): Change return value type to long.
* sysdeps/unix/sysv/linux/statvfs64.c: Rename to __statvfs64 and
make old name weak alias.
* sysdeps/generic/statvfs64.c: Likewise.
* sysdeps/unix/sysv/linux/fstatvfs64.c: Rename to __fstatvfs64 and
make old name weak alias.
* sysdeps/generic/fstatvfs64.c: Likewise.
* sysdeps/posix/fpathconf.c (__fpathconf): Likewise.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo
preventing optimization from being done. Set the correct type bit
in seen. Don't define and use _dl_base_addr unless
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Initialize egid
to 1. This helps those installing ld.so SUID (nobody will be that
stupid, I hope). Don't define and use _dl_base_addr unless
NEED_DL_BASE_ADDR is defined.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): If HAVE_AUX_XID is
defined don't look whether the AT_*ID values were set.
If HAVE_AUX_PAGESIZE is defined don't look whether the pagesize is set.
(_dl_show_auxv): Rewrite to avoid switch statement.
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_AT_PAGESIZE for kernel >= 2.4.1.
* sysdeps/unix/sysv/linux/ldsodefs.h: Define HAVE_AUX_XID.
Define HAVE_AUX_PAGESIZE if __ASSUME_AT_PAGESIZE is defined.
* sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Also preserve
r9, r10 and r11 for language specific registers.
2001-01-10 Jakub Jelinek <jakub@redhat.com>
* sunrpc/clnt_udp.c (clntudp_bufcreate): Set IP_RECVERR on the
UDP socket.
(clntudp_call): Handle MSG_ERRQUEUE.
* sysdeps/generic/errqueue.h: New file.
* sysdeps/unix/sysv/linux/errqueue.h: New file.
2001-01-10 H.J. Lu <hjl@gnu.org>
2001-01-05 H.J. Lu <hjl@gnu.org>
* elf/dl-support.c (non_dynamic_init): Move the auxiliary
vector checking to ...
(_dl_aux_init): Here. New function. Defined only if
HAVE_AUX_VECTOR is defined.
* sysdeps/generic/libc-start.c (__libc_start_main): Call
_dl_aux_init for static binaries if HAVE_AUX_VECTOR is defined.
* sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Call
_dl_aux_init.
* sysdeps/unix/sysv/linux/ldsodefs.h (DL_FIND_AUXV): Removed.
(HAVE_AUX_VECTOR): Defined.
(_dl_aux_init): Declared.