* sysdeps/mach/hurd/read.c: Do not include <hurd.h> and
<hurd/fd.h>.
* sysdeps/mach/hurd/write.c: Do not include <hurd.h> and
<hurd/fd.h>.
(__libc_write): Call __pwrite instead of __pread.
Roland McGrath [Tue, 20 Jul 1999 21:07:23 +0000 (21:07 +0000)]
1999-07-20 Mark Kettenis <kettenis@gnu.org>
* 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.
Andreas Schwab [Tue, 20 Jul 1999 08:19:37 +0000 (08:19 +0000)]
1999-07-19 Andreas Schwab <schwab@suse.de>
* libio/Makefile (routines): Add fwprintf.
PowerPC has own version of w_sqrt.c and w_sqrtf.c.
* math/w_sqrt.c: Moved to ...
* sysdeps/generic/w_sqrt.c: ... here.
* math/w_sqrtf.c: Moved to ...
* sysdeps/generic/w_sqrtf.c: ... here.
* Make-dist (generic-dirs): New variable.
(try-sysdeps, +sysdep-names): Use it.
* extra-lib.mk (all-$(lib)-routines): New variable. Use it
instead of $(lib)-routines.
* elf/Makefile (distribute): Add dl-cache.h.
* db2/Makefile (distribute): Add all new files.
* iconvdata/Makefile (distribute): Don't distribute CVS
directory.
* math/Makefile (distribute): Remove machine/endian.h, add
math_ldbl.h.
* stdio-common/Makefile (distribute): Add _itowa.h.
* sysdeps/generic/Dist: Remove make_siglist.c, add siglist.h.
* sysdeps/gnu/Dist: Add eval.c
* sysdeps/gnu/Makefile (libdl-sysdep_routines) [$(subdir) =
dlfcn]: Add to this instead of libdl-routines.
* sysdeps/ieee754/ldbl-128/Dist: New file.
* sysdeps/mach/hurd/Dist: Add siglist.h
* sysdeps/unix/sysv/linux/Dist: Add kernel-features.h.
* 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.
* 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.
* 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.
* sysdeps/i386/fpu/e_pow.S: Use addl instead of pop/pop to keep
program deterministic.
* sysdeps/i386/fpu/e_powf.S: Likewise.
* sysdeps/i386/fpu/e_powl.S: Likewise.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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>.
* 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.
* 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.
* 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.
* 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.
* 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.
Ulrich Drepper [Mon, 28 Jun 1999 15:52:36 +0000 (15:52 +0000)]
Update.
* sysdeps/libm-ieee754/e_gamma_r.c: Initialize *signgamp for NaN
returns.
* sysdeps/libm-ieee754/e_gammaf_r.c: Likewise.
* sysdeps/libm-ieee754/e_gammal_r.c: Likewise.
Reported by John Reiser <jreiser@BitWagon.com> [PR libc/1185].
* elf/dl-libc.c: New file, provides three functions:
__libc_dlopen, __libc_dlclose, __libc_dlsym.
* include/dlfcn.h: Prototype them. Prototype _dl_addr.
* elf/Makefile (routines): Add dl-libc.c.
* elf/dl-profstub.c (_dl_mcount_wrapper): Change type of
argument to void *.
* elf/ldsodefs.h: Change proto and use of _dl_mcount_wrapper to match.
* iconv/gconv.c: Include dlfcn.h.
* iconv/gconv_db.c: Likewise.
* malloc/mtrace.c: Likewise. Don't include ldsodefs.h.
* iconv/gconv_int.h (struct __gconv_loaded_object): Change
`handle' to a void *.
(__gconv_find_func): Delete prototype.
* iconv/gconv_dl.c: Don't include ldsodefs.h. Remove
dlerror_run and related functions and structs. Use
__libc_dlopen, __libc_dlsym, __libc_dlclose.
* nss/nsswitch.c: Likewise.
Ulrich Drepper [Sat, 26 Jun 1999 18:18:04 +0000 (18:18 +0000)]
Update.
1999-06-25 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* elf/dl-deps.c (_dl_map_object_deps): When looking for the next
occurence of the aux object start with the current list entry, not
the new one. Adjust tail pointer in the unique list. Explain how
the meaning of the variables changes [PR libc/1168].
Ulrich Drepper [Sat, 26 Jun 1999 18:01:25 +0000 (18:01 +0000)]
(_dl_map_object_deps): When looking for the next occurence of the aux object start with the current list entry, not the new one. Adjust tail pointer in the unique list. Explain how the meaning of the variables changes.
hurd/hurd/threadvar.h, hurd/hurd/userlink.h: Instead of
_EXTERN_INLINE, use a macro specific to each file,
_HURD_FD_H_EXTERN_INLINE and the like.
* hurd/Makefile (inline-headers): New variable.
(routines): Remove hurdinline. Add $(inlines).
(inlines): New variable.
($(inlines:%=$(objpfx)%.c)): New static pattern rule to generate them.
(generated): Append those here.
* hurd/hurdinline.c: File removed.