aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-deps.c
AgeCommit message (Collapse)Author
1997-03-29Update.Ulrich Drepper
1997-03-29 17:39 Ulrich Drepper <drepper@cygnus.com> * math/Makefile (routines): Add carg, s_ccosh and s_csinh. * math/complex.h: Add C++ protection. * math/libm-test.c (cexp_test): Correct a few bugs. (csinh_test): New function. (ccosh_test): New function. (cacos_test): New function. (cacosh_test): New function. (casinh_test): New function. (catanh_test): New function. (main): Add calls to csinh_test and ccosh_test. * misc/Makefile (tests): Add tst-tsearch. Add rule to link tst-tsearch against libm. * misc/tsearch.c: Rewritten to use Red-Black-Tree algorithm by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>. * misc/tst-tsearch.c: New file. * stdio-common/bug5.c: Clear LD_LIBRARY_PATH environment variable before using system. * stdio-common/test-popen.c: Clear LD_LIBRARY_PATH environment variable before using popen. * sysdeps/libm-ieee754/s_cexp.c: Correct handling of special cases. * sysdeps/libm-ieee754/s_cexpf.c: Likewise. * sysdeps/libm-ieee754/s_cexpl.c: Likewise. * sysdeps/libm-i387/s_cexp.S: New file. ix87 specific implementation of complex exponential function. * sysdeps/libm-i387/s_cexpf.S: New file. * sysdeps/libm-i387/s_cexpl.S: New file. * sysdeps/libm-ieee754/s_ccosh.c: New file. Implementation of complex cosh function. * sysdeps/libm-ieee754/s_ccoshf.c: New file. * sysdeps/libm-ieee754/s_ccoshl.c: New file. * sysdeps/libm-ieee754/s_csinh.c: New file. Implementation of complex sinh function. * sysdeps/libm-ieee754/s_csinhf.c: New file. * sysdeps/libm-ieee754/s_csinhl.c: New file. * math/carg.c: New file. Generic implementatio of carg function. * math/cargf.c: New file. * math/cargl.c: New file. 1997-03-29 16:07 Ulrich Drepper <drepper@cygnus.com> * sysdeps/posix/system.c: Update copyright. 1997-03-29 04:18 Ulrich Drepper <drepper@cygnus.com> * elf/dl-error.c (_dl_catch_error): Add another argument which is passed to OPERATE. (_dl_receive_error): Likewise. * elf/link.h: Change prototypes for _dl_catch_error and _dl_receive_error to reflect above change. * elf/dl-deps.c: Don't use nested function. Call _dl_catch_error with additional argument with pointer to data. * elf/dlclose.c: Likewise. * elf/dlerror.c: Likewise. * elf/dlopen.c: Likewise. * elf/dlsym.c: Likewise. * elf/dlvsym.c: Likewise. * elf/rtld.c: Likewise. * nss/nsswitch.c: Likewise. Patch by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>. 1997-03-28 21:14 Miguel de Icaza <miguel@nuclecu.unam.mx> * elf/dl-error.c: Manually set up the values of "c", this avoids a call to memcpy and a zero 152 bytes structure. * sysdeps/sparc/dl-machine.h (elf_machine_rela): Test RTLD_BOOTSTRAP to avoid performing relative relocs on a second pass. * sysdeps/sparc/udiv_qrnnd.S: Make the code PIC aware. * sysdeps/unix/sysv/linux/sparc/Dist: Add kernel_stat.h and kernel_sigaction.h Add Linux/SPARC specific definitions. * sysdeps/unix/sysv/linux/sparc/fcntlbits.h: New file. * sysdeps/unix/sysv/linux/sparc/ioctls.h: New file. * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h: New file. * sysdeps/unix/sysv/linux/sparc/kernel_stat.h: New file. * sysdeps/unix/sysv/linux/sparc/sigaction.h: New file. * sysdeps/unix/sysv/linux/sparc/signum.h: New file. * sysdeps/unix/sysv/linux/sparc/termbits.h: New file. 1997-03-28 13:06 Philip Blundell <pjb27@cam.ac.uk> * sysdeps/posix/getaddrinfo.c (gaih_inet_serv): Use __getservbyname_r() not getservbyname(). (BROKEN_LIKE_POSIX): Define to 1 so we get strict POSIX behaviour.
1997-02-03update from main archive 970202cvs/libc-970203Ulrich Drepper
1997-02-03 02:33 Ulrich Drepper <drepper@cygnus.com> * elf/dl-deps.c (_dl_map_object_deps): Handle multiple AUXILIARY entries. This is still no complete implementation since AUXILIARY entries in other shared objects are not yet handled. * libio/libio.h (_IO_cookie_io_functions_t): Move to C++ protected place. * po/es.po: Update. * po/fr.po: Update. * po/nl.po: Update. * time/Makefile: Better cross-compile support. Avoid test which cannot be run. (CFLAGS-tzset.c): New variable. Overwrite TZDEFAULT value from tzfile.h file. * time/tzfile.c (__tzfile_read): Allow TZDEFAULT start with '/' even in SUID programs. * time/tzset.c (__tzset_internal): If TZ envvar is not set use same default values as in tzfile.c. * elf/dynamic-link.h (elf_get_dynamic_info): Recognize versioning tags. * elf/link.h: Likewise. * elf/elf.h: Add tag definitions and data structures for versioning. 1997-02-03 02:17 Ulrich Drepper <drepper@cygnus.com> * nis/rpcsvc/yp.x (struct ypresp_key_val): There is not stupid "Sun bug". This is the order of elements also used by 4.4BSD. * nis/rpcsvc/yp.h: Likewise. Reported by HJ Lu. 1997-02-02 12:13 H.J. Lu <hjl@gnu.ai.mit.edu> * sunrpc/Makefile ($(objpfx)x%.h, $(objpfx)x%.c): Add "@:" as action. * Makefile (install): Pass installation directories as arguments to ldconfig. 1997-02-02 23:15 Ulrich Drepper <drepper@cygnus.com> * malloc/malloc.c (__after_morecore_hook): New variable. (malloc_extend_top): Call __after_morecore_hook if set. (main_trim): Likewise. * malloc/malloc.h: Add declaration of __after_morecore_hook. Suggested by Marcus Daniels. 1997-02-02 23:00 Marcus G. Daniels <marcus@tdb.com> * malloc/malloc.c (rEALLOc): Protect tsd_setspecific call by #ifndef NO_THREADS. (mallinfo): Likewise. * malloc/malloc.c (__morecore): Make external since it is used in programs. 1997-02-02 15:10 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/statbuf.h (struct stat): Make st_dev field unsigned. 1997-02-01 23:36 Richard Henderson <rth@tamu.edu> * sysdeps/alpha/stxncpy.S ($unaligned) [src % 8 > dst % 8]: Don't use t6 as a temporary; it contains bits we still need in $u_head. 1997-01-31 15:05 John Bowman <bowman@ipp-garching.mpg.de> * sysdeps/i386/fpu/__math.h [__USE_MISC]: Don't declare prototypes using __ prefix. Add prototype for log1p.
1997-01-06update from main archive 960105cvs/libc-970107cvs/libc-970106Ulrich Drepper
1996-11-27update from main archive 961126cvs/libc-961127Ulrich Drepper
Wed Nov 27 06:10:10 1996 Ulrich Drepper <drepper@cygnus.com> * Makefile: Fix typo. * configure: Require autoconf-2.11. * elf/dl-deps.c: Terminate duplicate list. * libio/libio.h: Add prototypes for _IO_seekoff and _IO_seekpos. * libio/strfile.h: Update from current libg++. * libio/strops.c: Likewise. * login/Makefile (routines): Update after correction of reentrant interface. * login/endutent.c: Removed. * login/endutent_r.c: Likewise. * login/pututline.c: Likewise. * login/pututline_r.c: Likewise. * login/setutent.c: Likewise. * login/setutent_r.c: Likewise. * login/getutent.c: Update for new interface. * login/getutent_r.c: Likewise. * login/getutid.c: Likewise. * login/getutid_r.c: Likewise. * login/getutline.c: Likewise. * login/getutline_r.c: Likewise. * login/login.c: Likewise. * login/logout.c: Likewise. * login/logwtmp.c: Likewise. * login/utmp.h: Likewise. * sysdeps/unix/getlogin.c: Likewise. * sysdeps/unix/getlogin_r.c: Likewise. * login/utmp-private.h: New private header. * login/utmp_db.c: Stub DB backend for utmp handler. * login/utmp_file.c: File backend for utmp handler. * sysdeps/gnu/utmpbits.h (struct utmp): Add some more fields. (enum utlogin): List of record types. (struct exit_status): Record to align with other implementations. * sysdeps/generic/paths.h: Add _PATH_UTMP_DB. * sysdeps/unix/sysv/linux/paths.h: Likewise. * sysdeps/generic/pty.c: Use getgrnam_r instead of getgrnam. * sysdeps/stub/getlogin.c: Update copyright. * sysdeps/stub/getlogin_r.c: Likewise. * nss/getXXbyYY_r.c: Use -1l for error-pointer value instead of -1. * nss/getXXent_r.c: Likewise. * nss/nsswitch.c: Likewise. * posix/Makefile (headers): Add wait.h. * posix/wait.h: New file. * posix/sys/types.h: Always define intN_t types. * stdio-common/Makefile: Update copyright. Use -Wno-format flag for scanf4.c and scanf7.c. * stdlib/stdlib.h: Reformat. * time/africa: Update from ADO tzdata1996m. * time/antarctica: Likewise. * time/asia: Likewise. * time/australia: Likewise. * time/etcetera: Likewise. * time/europe: Likewise. * time/northamerica: Likewise. * time/southamerica: Likewise. * time/zone.tab: Likewise. Fri Nov 22 19:34:12 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/posix/getcwd.c (__getcwd): After resizing the buffer move the current contents to the end and relocate file name pointer to upper half of the buffer. Sun Nov 24 04:56:19 1996 Ulrich Drepper <drepper@cygnus.com> * time/africa: Update from ADO tzdata1996m. * time/antarctica: Likewise. * time/asia: Likewise. * time/australia: Likewise. * time/etcetera: Likewise. * time/europe: Likewise. * time/nothamerica: Likewise. * time/southameria: Likewise. * time/zone.tab: Likewise. * sysdeps/unix/sysv/linux/sys/serial.h: New file. * sysdeps/unix/sysv/linux/Makefile [$(subdir)=misc] (sysdep_headers): Add sys/serial.h. * sysdeps/unix/sysv/linux/Dist: Add sys/serial.h. * posix/wait.h: New file. * posix/Makefile (headers): Add wait.h. Sat Nov 23 17:27:52 1996 Roland McGrath <roland@gnu.ai.mit.edu> * Makeconfig ($(common-objpfx)soversions.mk): Use regular expression instead of shell pattern matching. * shlib-versions: Change to regular expressions. Sat Nov 23 13:24:55 1996 Ulrich Drepper <drepper@cygnus.com> * io/stat.c: Add section from libgcc to copyright comment to allow this file to be statically linked in applications. * io/fstat.c: Likewise. * io/lstat.c: Likewise. * io/mknod.c: Likewise. Fri Nov 22 15:14:23 1996 Ulrich Drepper <drepper@cygnus.com> * csu/initfini.c: Add section from libgcc to copyright comment to allow this file to be statically linked in applications. * malloc/obstack.h [!_LIBC && !HAVE_STRING_H]: Define memcpy if not already defined. (obstack_grow, obstack_grow0): Correct placement of braces. * gnu-versions.h (_GNU_OBSTACK_INTERFACE_VERSION): Define to 2. * malloc/obstack.c (OBSTACK_INTERFACE_VERSION): Define to 2. Thu Nov 21 19:54:51 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules (make-link): Simplify by changing directory only if not using rellns-sh; check whether we really have symbolic links. * rellns-sh: Fix the case of $(dirname $2) being a prefix of $(dirname $1); use status of ln for exit code; make more robust against multiple slashes in a row. Thu Nov 21 13:05:21 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * configure.in (after AC_CANONICAL_HOST): mutate *-*-gnu* names into *-*-gnu-gnu*. * shlib-versions (gnu versions): Recognize *-*-gnu-gnu* instead of the three-part name, to distinguish correctly from *-*-linux-gnu*. * sysdeps/mach/hurd/Makefile ($(libdir)/libc.so): Depend on $(rpcuserlibs). * sysdeps/mach/hurd/Makefile (install-others): Add $(libdir)/libc_p.a. ($(libdir)/libc_p.a): New rule. * sysdeps/mach/hurd/libc_p-ldscript: New file. * sysdeps/mach/hurd/Dist: Add libc_p-ldscript. Wed Nov 20 20:28:21 1996 Richard Henderson <rth@tamu.edu> * Makerules (make-link): Use $(shell) to find rellns-sh before we cd. * time/Makefile: Likewise. * sysdeps/alpha/elf/Makefile: New file. Build crtbegin.o & crtend.o. * sysdeps/alpha/elf/Dist: New file. * sysdeps/alpha/elf/crtbegin.S, sysdeps/alpha/elf/crtend.S: New files. The bits currently distributed with GCC fail in two ways -- they don't understand multiple .got subsections and the extents of the lists are dynamicly bound meaning that the application's lists get executed multiple times and the library's lists never get executed. Wed Nov 20 00:42:45 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * stdlib/strtod.c: Fix previous change. Wed Nov 20 22:07:58 1996 Andreas Jaeger <aj@arthur.pfalz.de> * time/Makefile ($(installed-localtime-file)): Use $(..) to find rellns-sh script. Wed Nov 20 12:50:54 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/Makefile: Add CFLAGS-scanf7.c to prevent warning. Likesie for scanf4.c
1996-11-20update from main archive 961119cvs/libc-961126cvs/libc-961125cvs/libc-961124cvs/libc-961123cvs/libc-961122cvs/libc-961120Ulrich Drepper
Wed Nov 20 02:04:11 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/sigsuspend.c: Make sigsuspend a weak alias of __sigsuspend. * grp/grp.h: Correct comment about POSIX compliance. * pwd/pwd.h: Likewise. * login/utmp.h: Update copyright and pretty-print prototypes. * sysdeps/generic/paths.h: Add _PATH_LASTLOG, _PATH_UTMP and _PATH_WTMP from utmpbits.h. * sysdeps/unix/sysv/linux/paths.h: Likewise. * sysdeps/generic/utmpbits.h: Remove here. * sysdeps/gnu/utmpbits.h: Likewise. * misc/sys/uio.h: Place __BEGIN_DECLS correctly. Pretty-print prototypes. * sysdeps/unix/sysv/linux/sparc/clone.S: New file. Taken from LinuxThreads-0.5. Tue Nov 19 13:43:07 1996 Richard Henderson <rth@tamu.edu> * inet/ether_hton.c: Include <string.h>. * inet/ether_ntoh.c: Likewise. * inet/rexec.c: Get errno, index, getpass, getlogin from headers. * misc/search.h: Fix hcreate_r argument type (unsigned -> size_t). * misc/sys/cdefs.h: Change __long_double_t definition from typedef to define. Jim Nance reports problems building XEmacs otherwise. * resolv/gethnamaddr.c: Protect h_errno redefinition. * resolv/getnetnamadr.c: Likewise. * resolv/herror.c: Likewise. * sysdeps/generic/sigset.h (__SIGSETFN): Operator ## doesn't work with -traditional. Reported by Eric Youngdale. While we're at this, don't do error checking in the __ functions. This is consistent with the sysv4 definitions and seems Right. * signal/signal.h: Don't __OPTIMIZE__ sigops to __ versions. Add prototype for __sigsuspend. * sysdeps/posix/sigblock.c: Optimize sigmask <-> sigset_t conversions for sigset_t == unsigned long. De-ansidecl-ify. Reformat copyright. * sysdeps/posix/sigpause.c: Likewise. * sysdeps/posix/sigsetmask.c: Likewise. * sysdeps/posix/sigvec.c: Likewise. * sysdeps/posix/sigintr.c: Reformat copyright. * sysdeps/posix/signal.c: Check signal number out of range since __sigismember doesn't anymore. Reformat copyright. * sysdeps/posix/sigwait.c: Use __ versions of sigfillset, sigismember, sigdelset, sigaction, and sigsuspend. * stdlib/drand48-iter.c (__drand48_iterate): Cast state fragments to the wider type before shifting. * sysdeps/alpha/bsd-_setjmp.S: Silence assembler warning "$at used without .set noat" in profiling hook. * sysdeps/alpha/bsd-setjmp.S: Likewise. * sysdeps/alpha/htonl.S: Likewise. * sysdeps/alpha/htons.S: Likewise. * sysdeps/alpha/s_copysign.S: Likewise. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/alpha/stpcpy.S: Likewise. * sysdeps/alpha/strcat.S: Likewise. * sysdeps/alpha/strcpy.S: Likewise. * sysdeps/alpha/strncat.S: Likewise. * sysdeps/unix/sysv/linux/alpha/brk.S: Likewise. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/llseek.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. Rename function to __sigsuspend and add weak alias. * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. Add missing END. * sysdeps/alpha/w_sqrt.S: Define _ERRNO_H so <errnos.h> defines EDOM. * sysdeps/unix/execve.S: Match PSEUDO_END symbol with the symbol SYSCALL__ actually generated. * sysdeps/unix/sysv/linux/errnos.h [_LIBC_REENTRANT]: Reflexively #define __set_errno, as several imported subsystems (eg. BIND) check that the symbol is defined. * sysdeps/unix/sysv/linux/getsysstats.c: Include <alloca.h>. * sysdeps/alpha/memcpy.S: Temporarily remove until I can find a bug that manifests in GCC. Tue Nov 19 11:10:05 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * sysdeps/posix/writev.c (writev): COUNT parm is now int. * sysdeps/posix/readv.c (readv): Likewise. Tue Nov 19 15:28:29 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_dns/dns-network.c: Change return type of all functions to enum nss_status. Reported by NIIBE Yutaka. * nss/nss_dns/dns-host.c: Update copyright. Fri Nov 15 20:16:38 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * config.make.in: Remove definition of top_absdir. * configure.in: Likewise. Use $(..) instead. * Makerules (make-link): Use $(..) to find rellns-sh script. Sat Nov 16 15:52:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/nss.texi (Name Service Switch): Fix reference to `frobnicate'. Fri Nov 15 22:08:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add sys/mtio.h. Mon Nov 18 05:51:13 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/waitstatus.h (__WIFSIGNALED): Rename local variable from __stat to __status to prevent shadowing. * sunrpc/rpc/clnt.h (clntudp_create, clntudp_bufcreate): Likewise for parameter __wait. Reported by NIIBE Yutaka. Mon Nov 18 02:05:38 1996 Ulrich Drepper <drepper@cygnus.com> * misc/regexp.c: New file. Implementation of obsolete interface to regular expression matcher (required in XPG4.2). * misc/regexp.h: New file. Header for above. * misc/Makefile (headers): Add regexp.h. (routines): Add regexp.c. Update copyright. Sun Nov 17 21:50:24 1996 Andreas Jaeger <aj@arthur.pfalz.de> * stdlib/tst-strtod.c (main): Add arguments for main. * stdlib/tst-strtol.c (main): Likewise. Sun Nov 17 21:15:05 1996 Ulrich Drepper <drepper@cygnus.com> * configure.in: Substitute libc_cv_slibdir and libc_cv_sysconfdir in output files. * sysdepes/unix/sysv/linux/configure: Define libc_cv_slibdir to /lib and sysconfdir to /etc if $prefix is /usr. * config.make.in: Add slibdir, sysconfdir and BASH to be replaced. * elf/Makefile ($(objpfx)ldd): Install ldd.bash.in if $(have-bash2) is yes. * elf/ldd.bash.in: Add copyright and various cleanups. * elf/ldd.sh.in: Likewise. Implement RTLD_NEXT. * elf/dlfcn.h: Define RTLD_NEXT. * elf/dl-deps.c: Build second searchlist which contains duplicates. * elf/dl-lookup.c (_dl_lookup_symbol_skip): New function. Used for RTLD_NEXT lookup. Rewrite _dl_lookup_symbol to put common parts for both lookup functions in a separate function. * elf/dlsym.c: Handle RTLD_NEXT by calling _dl_lookup_symbol_skip. * elf/link.h (struct link_map): Add l_dupsearchlist and l_ndupsearchlist. Add prototype for _dl_lookup_symbol_skip. * sunrpc/Makefile (rpcsvc): Add rusers. * sunrpc/rpcsvc/rnusers.x: Remove. Obsolteted by rusers.x. * sunrpc/rpcsvc/rusers.x: New file. Sun Nov 17 04:24:35 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/vfprintf.c [USE_IN_LIBIO] (buffered_vfprintf): Call __libc_lock_init for local lock. Reported by a sun <asun@zoology.washington.edu>. [!USE_IN_LIBIO] (PAD): Optimize a bit.
1996-11-17update from main archive 961116cvs/libc-961119cvs/libc-961118cvs/libc-961117Ulrich Drepper
Sun Nov 17 03:13:57 1996 Ulrich Drepper <drepper@cygnus.com> * db/makedb.c: Update and reformat copyright. * elf/Makefile: Likewise. * elf/dl-close.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-symbol.c: Likewise. * elf/dladdr.c: Likewise. * elf/dlclose.c: Likewise. * elf/dlerror.c: Likewise. * elf/dlopen.c: Likewise. * elf/dlsym.c: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/eval.c: Likewise. * elf/rtld.c: Likewise. * inet/ether_hton.c: Likewise. * inet/ether_ntoh.c: Likewise. * inet/ether_line.c: Likewise. * inet/getnetgrent_r.c: Likewise. * inet/Makefile (+gccwarn): Remove definition. Instead set CFLAGS-rcmd.c, CFLAGS-rexec.c, and CFLAGS-ruserpass.c to `-w'. * inet/aliases.h: Add C++ protection. * inet/ether_hton.c: Add prototype for __nss_ethers_lookup. (ether_hostton): Remove unused variable result. * inet/ether_ntoh.c: Likewise. * inet/ether_line.c: Include <ctype.h> and <string.h>. * inet/getnetgrent_r.c: Include <stdlib.h>. Use casts to prevent warnings. (innetgr): Initialize `known' and `needed'. * inet/inet_net.c: Make local variable `i' of type u_int32_t. * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)) [NEED__RES]: Don't return NULL. Instead set *RESULT to NULL and return -1. * nss/getXXent_r.c (INTERNAL (REENTRANT_GETNAME)): Likewise. (SETFUNC_NAME, ENDFUNC_NAME) [NEED__RES]: Don't return anything. * nss/nss_files/files-alias.c: Debug function. I didn't worked at all before. Sat Nov 16 15:25:34 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/posix/readv.c: Don't use PTR anymore. * sysdeps/posix/writev.c: Likewise. * version.h (VERSION): Bump to 1.98. * nss/db-Makefile: Generate lines for getXXXent iteration. * sysdeps/alpha/Dist: Don't distribute removed files divlu.S, divqu.S, remlu.S, and remqu.S. Fri Nov 15 08:55:54 1996 Andreas Jaeger <aj@arthur.pfalz.de> * posix/unistd.h: Correct typo in documentation. Thu Nov 14 18:08:14 1996 a sun <asun@zoology.washington.edu> * inet/netinet/tcp.h: Use __ protected versions instead of BYTE_ORDER, LITTLE_ENDIAN, and BIG_ENDIAN directly. Sat Nov 16 13:44:55 1996 Ulrich Drepper <drepper@cygnus.com> * intl/loadmsgcat.c (_nl_msg_cat_cntr): Initialize so that references in libc.so are not anymore undefined. Sat Nov 16 18:17:36 1996 NIIBE Yutaka <gniibe@mri.co.jp> * io/utime.h: Rename second parameter for utime to prevent warning for -Wshadow. * dirent/dirent.h: Same here for scandir prototype. * math/mathcalls.h: Likewise for frexp and ldexp. * sysdeps/unix/sysv/linux/netinet/in.h: Likewise for bindresvport. Sat Nov 16 03:49:27 1996 Ulrich Drepper <drepper@cygnus.com> * stdlib/tst-strtod.c: Add test for error case below. Sat Nov 16 03:48:39 1996 Wolfram Gloger <Wolfram.Gloger@dent.med.uni-muenchen.de> * stdlib/strtod.c: Recognize numbers like 0e-19. Fri Nov 15 08:38:43 1996 Andreas Jaeger <aj@arthur.pfalz.de> * time/Makefile ($(installed-localtime-file)): Fix path to rellns-sh. * Makefile: Don't generate and install gnu/lib-names.h if $(build-shared) is not `yes'. Thu Nov 14 09:23:58 1996 H.J. Lu (hjl@gnu.ai.mit.edu) * sysdeps/posix/Makefile ($(common-objpfx)mk-stdiolim): Depend on $(..)posix/posix1_lim.h, not ../posix/posix1_lim.h. * Makerules (REAL_MAKE_VERSION): New, use it instead of MAKE_VERSION. Thu Nov 14 22:10:43 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_files/files-XXX.x (_nss_files_get,ENTNAME_r): Fix typo. * nss/getXXent_r.c: Fix typo. Set correct return value when no further service is available. Thu Nov 14 17:48:13 1996 Ulrich Drepper <drepper@cygnus.com> * db/recno/rec_put.c: Add cast to avoid warning. * db/recno/rec_close.c: Likewise. * db/mpool/mpool.c: Likewise. * db/hash/hash_bigkey.h: Likewise. * db/hash/hash.c: Likewise. * db/btree/bt_split.c: Likewise. * db/btree/bt_put.c: Likewise. Thu Nov 14 14:11:44 1996 Ulrich Drepper <drepper@cygnus.com> * dirent/dirent.h: Update copyright. * elf/elf.h: Likewise. * elf/link.h: Likewise. * gmon/sys/gmon_out.h: Likewise. * gnu-versions.h: Likewise. * intl/libintl.h: Likewise. * io/fcntl.h: Likewise. * io/ftw.h: Likewise. * io/sys/statfs.h: Likewise. * io/utime.h: Likewise. * locale/langinfo.h: Likewise. * malloc/malloc.h: Likewise. * malloc/obstack.h: Likewise. * misc/ar.h: Likewise. * misc/error.h: Likewise. * misc/mntent.h: Likewise. * misc/sgtty.h: Likewise. * misc/sys/cdefs.h: Likewise. * misc/sys/dir.h: Likewise. * misc/sys/file.h: Likewise. * misc/sys/ioctl.h: Likewise. * misc/sys/ustat.h: Likewise. * posix/fnmatch.h: Likewise. * posix/getopt.h: Likewise. * posix/glob.h: Likewise. * posix/posix2_lim.h: Likewise. * posix/regex.h: Likewise. * posix/sys/times.h: Likewise. * posix/sys/types.h: Likewise. * posix/sys/utsname.h: Likewise. * posix/tar.h: Likewise. * posix/wordexp.h: Likewise. * resource/sys/resource.h: Likewise. * resource/sys/vlimit.h: Likewise. * resource/sys/vtimes.h: Likewise. * socket/sys/socket.h: Likewise. * socket/sys/un.h: Likewise. * stdio-common/printf.h: Likewise. * stdlib/alloca.h: Likewise. * string/argz.h: Likewise. * string/endian.h: Likewise. * string/envz.h: Likewise. * string/memory.h: Likewise. * string/strings.h: Likewise. * sysdeps/generic/crypt.h: Likewise. * sysdeps/generic/direntry.h: Likewise. * sysdeps/generic/gnu/types.h: Likewise. * sysdeps/generic/ioctl-types.h: Likewise. * sysdeps/generic/netinet/in.h: Likewise. * sysdeps/generic/resourcebits.h: Likewise. * sysdeps/generic/sigset.h: Likewise. * sysdeps/generic/sockaddrcom.h: Likewise. * sysdeps/generic/sys/mman.h: Likewise. * sysdeps/generic/sys/ptrace.h: Likewise. * sysdeps/generic/termbits.h: Likewise. * sysdeps/generic/waitstatus.h: Likewise. * sysdeps/ieee754/huge_val.h: Likewise. * sysdeps/ieee754/nan.h: Likewise. * sysdeps/mach/hurd/local_lim.h: Likewise. * sysdeps/mach/hurd/statbuf.h: Likewise. * sysdeps/stub/huge_val.h: Likewise. * sysdeps/stub/libc-lock.h: Likewise. * sysdeps/stub/signum.h: Likewise. * sysdeps/stub/statbuf.h: Likewise. * sysdeps/stub/waitflags.h: Likewise. * sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise. * sysdeps/unix/bsd/osf/alpha/statbuf.h: Likewise. * sysdeps/unix/bsd/osf/sys/mman.h: Likewise. * sysdeps/unix/bsd/signum.h: Likewise. * sysdeps/unix/bsd/statbuf.h: Likewise. * sysdeps/unix/bsd/sun/signum.h: Likewise. * sysdeps/unix/bsd/sun/sunos4/resourcebits.h: Likewise. * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise. * sysdeps/unix/bsd/sun/sunos4/termbits.h: Likewise. * sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise. * sysdeps/unix/bsd/waitflags.h: Likewise. * sysdeps/unix/sysv/irix4/signum.h: Likewise. * sysdeps/unix/sysv/irix4/statbuf.h: Likewise. * sysdeps/unix/sysv/irix4/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/alpha/statbuf.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/direntry.h: Likewise. * sysdeps/unix/sysv/linux/gnu/types.h: Likewise. * sysdeps/unix/sysv/linux/ioctl-types.h: Likewise. * sysdeps/unix/sysv/linux/local_lim.h: Likewise. * sysdeps/unix/sysv/linux/netinet/in.h: Likewise. * sysdeps/unix/sysv/linux/resourcebits.h: Likewise. * sysdeps/unix/sysv/linux/signum.h: Likewise. * sysdeps/unix/sysv/linux/statbuf.h: Likewise. * sysdeps/unix/sysv/linux/sys/io.h: Likewise. * sysdeps/unix/sysv/linux/sys/klog.h: Likewise. * sysdeps/unix/sysv/linux/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/syscall.h: Likewise. * sysdeps/unix/sysv/linux/termbits.h: Likewise. * sysdeps/unix/sysv/local_lim.h: Likewise. * sysdeps/unix/sysv/sco3.2.4/syscall.h: Likewise. * sysdeps/unix/sysv/sco3.2/local_lim.h: Likewise. * sysdeps/unix/sysv/signum.h: Likewise. * sysdeps/unix/sysv/sysv4/i386/statbuf.h: Likewise. * sysdeps/unix/sysv/sysv4/signum.h: Likewise. * sysdeps/unix/sysv/sysv4/sigset.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/signum.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/statbuf.h: Likewise. * sysdeps/unix/sysv/sysv4/waitflags.h: Likewise. * sysdeps/vax/huge_val.h: Likewise. * values.h: Likewise. Thu Nov 14 04:22:41 1996 Ulrich Drepper <drepper@cygnus.com> * malloc/obstack.h: Use memcpy instead of bcopy and define a macro `memcpy' using bcopy if memcpy is not available. * manual/stdio.texi: Correct description of printf customization. The argument info function is not optional anymore and the interface for `printf_function' also changed. * manual/examples/rprintf.c: Define and use argument info function. * stdio-common/printf.h (struct printf_info): Change type for field `pad' to wchar_t. Correct comment for `register_printf_function'. * nss/getXXbyYY.c [NEED_H_ERRNO]: Don't pass pointer to h_errno to reentrant function. Instead use temporary variable and set h_errno if an error occured. Reported by NIIBE Yutaka. are no bits set in the masks. Reported by baldazzi@csr.unibo.it.
1996-10-21update from main archive 961020cvs/libc-961021Ulrich Drepper
Mon Oct 21 01:32:36 1996 Ulrich Drepper <drepper@cygnus.com> * elf/rtld.c (dl_main): Move initialization of `_dl_starting_up' to beginning of function. So libc functions can use this flag. * sysdeps/generic/_strerror.c: Don't use dgettext for message translation while `_dl_starting_up' is nonzero. * elf/dl-deps.c (_dl_map_object_deps): Add new parameter TRACE_MODE. Pass parameter value to _dl_map_object. * elf/dl-load (_dl_map_object): Add new parameter TRACE_MODE. If TRACE_MODE is nonzero don#t signal error when shared lib is not found. Instead create fake entry for link map. * dl-open.c (dl-open): Pass 0 for new argument to _dl_map_object. * dl-runtime.c (_dl_object_relocation_scope): Pass 0 for new argument to _dl_map_object_deps. * elf/link.h: Add new parameter TRACE_MODE for prototypes of _dl_map_object and _dl_map_object_deps. * elf/rtld.c (dl_main): Pass 0 for new argument to _dl_map_object and _dl_map_object_deps. When mode == trace test for l_opencount == 0 before printing link information since this means the lib is not found. Sun Oct 20 22:19:58 1996 Ulrich Drepper <drepper@cygnus.com> * rpm/template: Add INSTALL to %doc line to follow copyright restrictions which demand the distribution of the copyright messages in INSTALL even for binary distributions. * features.h: Rename to... * features.h.in: ...this. Change value of __GNU_LIBRARY__ to 2 (for major version numberof package) and add __GNU_LIBRARY_MINOR__ and __GNU_LIBRARY_INTERFACE__. * Makefile ($(objpfx)features.h): New rule to generate features.h from template features.h.in. * sysdeps/unix/sysv/linux/getsysstats.c: Include <paths.h>. Sun Oct 20 00:00:13 1996 Richard Henderson <rth@tamu.edu> * locale/programs/linereader.c (lr_open): Cast away const before free. (lr_close): Likewise. * misc/mntent.h: Move _PATH_MNTTAB & _PATH_MOUNTED to paths.h. * misc/paths.h: Move to ... * sysdeps/generic/paths.h: ... here. * paths.h: Remove. * sysdeps/unix/sysv/linux/paths.h: New file. Correct _PATH_STDPATH, _PATH_MAILDIR, _PATH_MOUNTED, _PATH_UNIX to comply with the fsstd. * nss/nss_db/db-netgrp.h: Include <string.h>. * stdio-common/psignal.c: De-ansidecl-ify. Allow NULL entries in _sys_siglist, which result in the "Unknown signal" message. * string/strsignal.c: Likewise. * sysdeps/generic/Makefile [stdio-common]: If $(inhibit-siglist), don't auto-generate siglist.c. * sysdeps/unix/sysv/linux/Makefile [stdio-common]: Set inhibit-siglist. * sysdeps/unix/sysv/linux/siglist.c: New file. Not needing to autogenerate makes bootstrapping and cross-compiling much easier. * sysdeps/unix/sysv/linux/siglist.h: New file. * stdlib/longlong.h: Prototype __udiv_qrnnd. * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_headers): Remove sys/io.h. It is already added in .../linux/Makefile. * sysdeps/unix/sysv/linux/alpha/sigaction.h: New file. * sysdeps/unix/sysv/linux/alpha/signum.h: New file. * sysdeps/unix/sysv/linux/alpha/statbuf.h: New file. Sun Oct 20 17:17:12 1996 Ulrich Drepper <drepper@cygnus.com> Add implementation of POSIX.1g function getaddrinfo. * posix/Makefile (routines): Add getaddrinfo. * sysdeps/posix/getaddrinfo.c.: New file. Add implementation by Craig Metz. * sysdeps/stub/getaddrinfo.c: New file. Stub implementation. * resolv/netdb.h [__USE_POSIX]: Add getaddrinfo prototypes and related constants and structures. Sun Oct 20 13:02:34 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/stub/lockfile.c: Rename functions to __internal_*. Make all old names weak alises so that they can be replaced by libpthread. * stdio-common/vfprintf.c: Only declare __flockfile and __funlockfile for !USE_IN_LIBIO. [USE_IN_LIBIO]: Call _IO_flockfile and _IO_funlockfile instead of __flockfile and __funlockfile. Reported by NIIBE Yutaka. * crypt/md5.c: Change form of copyright message according to GNITS rules. Add warning for requirement on RESBUF parameter for `md5_finish_ctx' and `md5_read_ctx' function. * crypt/md5.h: Likewise. * grp/testgrp.c: Don't use perror for error cases since getgr* and getpw* functions do not return usable error codes. Sun Oct 19 23:05:32 1996 Jim Meyering <meyering@asic.sc.ti.com> * crypt/md5.c (md5_process_bytes): Used casting for pointer arithmetic. Sun Oct 20 03:53:23 1996 Ulrich Drepper <drepper@cygnus.com> * sunrpc/Makefile (others): Remove portmap here, too.
1996-07-14* elf/dl-deps.c (_dl_map_object_deps): Start TAILP at last preload.Roland McGrath
* elf/dl-open.c (_dl_open): Force an indirect call for _dl_relocate_object so there is no chance a PLT fixup will be done and clobber _dl_global_scope before our call happens. * sysdeps/i386/fpu/__math.h (tan): Correct output constraint from =u to =t; must operate on top of fp reg stack, not second from top. Correct input constraint to 0 from t; must be explicit when input and output are the same register. (floor): Use __volatile instead of volatile. (ceil): Likewise. * manual/Makefile ($(objpfx)stamp%-$(subdir)): Separate rule from other targets.
1996-07-14Sun Jul 14 01:51:39 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960714Roland McGrath
* manual/Makefile (glibc-targets): Variable and targets removed. Sat Jul 13 23:50:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * manual/Makefile (lib): New phony target. Depend on stamp files. ($(objpfx)stamp%-$(subdir)): New rule to create them when necessary. 1996-07-13 Paul Eggert <eggert@twinsun.com> * time/strftime.c (strftime): Use space padding for %e, %k, %l, to match Emacs format-time-string specification. (DO_NUMBER_SPACEPAD): Renamed from DO_NUMBER_NOPAD. Sat Jul 13 20:17:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Take new args PRELOADS and NPRELOADS, vector of `struct link_map *'s; add them to the searchlist between MAP and its deps. * elf/link.h: Fix decl. * elf/rtld.c (dl_main): If not secure, parse LD_PRELOAD for colon-separated list of names, map those and pass vector of ptrs as PRELOADS list to _dl_map_object_deps. * elf/dl-runtime.c (_dl_object_relocation_scope): Pass new args to _dl_map_object_deps with empty preload list. * elf/dl-open.c (_dl_open): Likewise. * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Function removed. (__mmap): Pass MACH_PORT_NULL for memobj port when (flags & MAP_ANON). * sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill): Conditionalize defn on [! MAP_ANON]. * elf/dl-minimal.c (malloc): Conditionalize use of _dl_zerofd on [! MAP_ANON]. * elf/rtld.c (dl_main): Likewise. * elf/dl-load.c (_dl_zerofd): Conditionalize defn on [! MAP_ANON]. (_dl_map_object_from_fd): Conditionalize initialization of _dl_zerofd. * elf/dl-fini.c (_dl_fini): Skip finalizer for executable itself. Sat Jul 13 02:47:53 1996 David Mosberger-Tang <davidm@azstarnet.com> * stdlib/random.c (__random): Declare as int32_t to be in sync with declaration. * socket/Makefile (headers): Add socketbits.h. * misc/mntent.c (endmntent): Allow for NULL stream. SunOS does it that way. * grp/initgroups.c (initgroups): Add groups that user is a member of, not the ones he is _not_ a member of. * nss/nsswitch.c (known_compare): Make known_compare() a static instead of a local function. The latter are difficult to debug and slow to execute on certain platforms. * sysdeps/posix/ttyname_r.c (ttyname_r): Use sizeof (dev) - 1 in place of sizeof (dev). The size of a literal string includes the NUL byte. * sysdeps/unix/getlogin.c (getlogin): Initialize ut_fd with -1. Thu Jul 11 16:59:10 1996 David Mosberger-Tang <davidm@azstarnet.com> * misc/mntent.c (addmntent): Seek to end of file before writing entry. Return 1 on error, not -1. Tue Jul 9 19:08:05 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/syscalls.list: Mark bdflush as EXTRA syscall. Fri Jul 5 18:44:55 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/ioperm.c (port_to_cpu_addr): Size shift amount for Jensen must be 5 not 4. Sat Jul 13 20:04:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * socket/sys/socket.h (struct osockaddr): New type. Sat Jul 13 03:50:53 1996 Ulrich Drepper <drepper@cygnus.com> * misc/Makefile (routines): Add qefgcvt and qefgcvt_r. * misc/efgcvt.c, misc/efgcvt_r.c: Change code so that the `double' and `long double' versions can be generated. * misc/qefgcvt.c, misc/qefgcvt_r.c: New files. Define macros so that included efgcvt{,_r}.c file generate `long double' versions. * stdlib/stdlib.h: Add prototypes for q[efg]cvt() and q[ef]cvt_r() functions. * manual/startup.texi: Document new getsubopt function. * manual/examples/subopt.c: New example program for documenting getsubopt function. Fri Jul 12 23:58:37 1996 Ulrich Drepper <drepper@cygnus.com> * stdlib/Makefile (routines): Add getsubopt. * stdlib/stdlib.h: Add prototype for getsubopt. * stdlib/getsubopt.c: New file. Implement getsubopt function to handle suboption parsing.
1996-06-16* elf/dl-deps.c (_dl_map_object_deps): Set MAP's mark bit before loop.Roland McGrath
Set mark bits of deps as opened, instead of as scanned. * elf/rtld.c (dl_main): Remove _dl_rtld_map from chain unconditionally. Then if it has a nonzero l_opencount, add it back in search order. * elf/dl-load.c (_dl_map_object): Don't use _dl_loaded's DT_RPATH if it ain't got one!
1996-06-10* Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so.cvs/libc-960611Roland McGrath
* elf/dl-close.c: New file. * elf/link.h: Declare _dl_close. * elf/Makefile (routines): Add dl-close. * elf/dlclose.c (dlclose): Use _dl_close. * elf/Makefile ($(objpfx)librtld.so): Remove libelf from deps. * elf/dl-runtime.c (_dl_global_scope): New variable. (_dl_object_relocation_scope): New function. (fixup): Use it. * elf/rtld.c (dl_main): Use it. * elf/dl-open.c (_dl_open): Use it. If (MODE & RTLD_GLOBAL), set the l_global bit and append the new map to _dl_global_scope. * elf/link.h: Declare _dl_global_scope, _dl_global_scope_alloc, and _dl_object_relocation_scope. * elf/link.h (struct link_map): Add l_loader member. Remove _dl_map_object_from_fd decl. * elf/dl-load.c (_dl_map_object): Pass LOADER to ... (_dl_map_object_from_fd): Take new arg LOADER and set l_loader member. (_dl_map_object): Try DT_RPATH from all loaders up the chain. * elf/dl-object.c (_dl_loaded): Variable removed. (_dl_default_scope): New variable replaces it. * elf/link.h (_dl_loaded): Remove variable decl; instead define as macro for _dl_default_scope[2]. (_dl_default_scope): Declare it. * sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_default_scope[2] instead of _dl_loaded. * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. * elf/rtld.c (dl_main): Use _dl_default_scope for symbol lookups. * elf/dl-reloc.c (_dl_relocate_object): Remove check for _dl_rtld_map. * elf/rtld.c (dl_main): Pass 0 for LAZY flag when re-relocating self. * elf/link.h (struct link_map.l_type): Remove lt_interpreter. (struct link_map): Add new flag member l_global. * elf/dl-reloc.c (_dl_relocate_object): Check for _dl_rtld_map directly instead of looking for lt_interpreter. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. * elf/rtld.c (_dl_start): Don't bother setting BOOTSTRAP_MAP.l_type. (dl_main): Set _dl_rtld_map.l_type to lt_library. * elf/dl-deps.c (_dl_map_object_deps): Propagate MAP->l_type to dependencies loaded, downgrading lt_executable -> lt_library. * elf/dl-load.c (_dl_map_object_from_fd): Take new arg TYPE and set l_type from that, translating lt_library->lt_executable based on the file's ELF type. (_dl_map_object): Likewise. * elf/link.h: Update prototypes. * elf/dl-open.c: Pass type lt_loaded. * elf/rtld.c: Pass type lt_library. * elf/dl-load.c (_dl_map_object_from_fd): Handle null return from _dl_new_object. (_dl_map_object_from_fd: lose): Unchain and free L if it's not null. Free REALNAME, and just use NAME in error message. * elf/dl-object.c (_dl_new_object): If malloc fails, return null instead of calling _dl_signal_error. * elf/dl-load.c (_dl_map_object_from_fd): Close FD before signalling error for _dl_zerofd setup failure. * elf/dl-object.c (_dl_startup_loaded): Variable removed. * elf/link.h: Remove its decl. * elf/dl-reloc.c (_dl_relocate_object): Take new SCOPE arg and pass it through to _dl_lookup_symbol. * elf/link.h (_dl_relocate_object): Update comment and prototype. * elf/rtld.c (dl_main): Pass scope vector to _dl_relocate_object. * elf/dl-lookup.c (_dl_lookup_symbol): Arg SYMBOL_SCOPE is now a null-terminated vector of pointers, no longer a vector of exactly two. * elf/link.h (_dl_lookup_symbol): Update comment and prototype. * elf/dl-runtime.c (fixup): Set up scope for symbol lookup properly as done in _dl_relocate_object. * elf/dlopen.c: Pass "" to _dl_open when FILE is null.
1996-06-10Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open. (__close, __mmap): Likewise define with __ names now. Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/dl-support.c: New file. * elf/Makefile (CFLAGS-dl-support.c): New variable. (routines, elide-routines.so): Add dl-support. * elf/dl-minimal.c (_dl_pagesize): Remove common defn. * elf/dl-load.c (_dl_pagesize): Define it here. (_dl_map_object_from_fd): Initialize it if zero. * elf/link.h (_dl_pagesize): Remove const. Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/Makefile (routines): Add dl-symbol. * elf/dl-lookup.c (_dl_symbol_value): Moved to ... * elf/dl-symbol.c: New file. * elf/elf.h (Elf32_Xword, Elf32_Sxword): New types. (Elf32_Section, Elf64_Section): New types, 16 bits. (Elf32_Sym, Elf64_Sym): Use it. * elf/dl-deps.c (_dl_open): Moved to ... * elf/dl-open.c: New file. * Makefile (routines): Add dl-open. * elf/Makefile (dl-routines): New variable. (routines): Add $(dl-routines). (elide-routines.so): New variable, set to $(dl-routines). (libdl-inhibit-o): Variable removed; build all flavors of -ldl. (rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to $(dl-routines). * elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage. * elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND. * elf/dl-load.c (open_path): Use __ names for open and close. Avoid using strdup. (_dl_map_object): Likewise. (_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect. * elf/dl-minimal.c (malloc): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dl-minimal.c (_dl_pagesize): New variable. (malloc): Use that instead of a static variable. * elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of calling getpagesize. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. * elf/link.h: Declare _dl_pagesize. * elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug. * elf/link.h (struct link_map): Use Half for l_phnum instead of Word. * elf/rtld.c (dl_main): Use Half for phdr count arg. (_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg. * elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against native wordsize, either 32 or 64. * elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a char is always a byte, no need for a typedef. Section indices are 16-bit quantities in elf64, which already have a typedef Elf64_Half. Remove partial -lelf implementation. There is now a separately-distributed `libelf' package that implements it. * elf/dl-lookup.c: Don't #include <libelf.h> any more. (_dl_elf_hash): New function, moved from libelf.h:elf_hash. (_dl_lookup_symbol): Use it instead of elf_hash. * elf/libelf.h: File removed. * elf/elf_hash.c: File removed. * elf/Makefile (headers): Remove libelf.h. (extra-libs): Remove libelf. (libelf-routines): Variable removed. * elf/Makefile (libdl.so): Remove commands from this target. The implicit rule commands are correct, this explicit rule just serves to add some dependencies. * elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of ELF32_ST_TYPE. Likewise ST_BIND. * elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM. * elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type naming. (ELFW): New macro, likewise for ELFXX_* macro naming. (_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF. Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c, elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c, elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c, elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to `ElfW(XXX)' for wordsize-independence. Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu> * elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts. (Elf64_auxv_t): New type. (EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-04Tue Jun 4 18:57:57 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* elf/dladdr.c: Remove #include <setjmp.h>, we don't use it. * shlib-versions: Set libdl=2. * elf/dl-deps.c (_dl_map_object_deps): Use a linked list of alloca'd elements and then scan it to fill the single malloc'd array, instead of using realloc to grow the array in the first pass. _dl_map_object may do some mallocs that break our stream of reallocs, and the minimal realloc can't handle that. * elf/dl-init.c (_dl_init_next): Take argument, link_map whose searchlist describes the piece of the DT_NEEDED graph to be initialized. * elf/link.h: Update prototype. * sysdeps/i386/dl-machine.h (RTLD_START): Pass _dl_loaded as argument to _dl_init_next. * sysdeps/m68k/dl-machine.h: Likewise. * elf/dl-deps.c (_dl_open): Pass new object as arg to _dl_init_next. * elf/link.h (struct link_map): Add `l_reserved' member, soaking up extra bits in last byte. * elf/dl-deps.c (_dl_map_object_deps): Use that for mark bit to avoid putting dup elts in search list. * elf/dlclose.c: Use MAP->l_searchlist to find deps to close. * elf/dlsym.c: Don't tweak linked list. Scope array given to _dl_lookup_symbol does the right thing. Tue Jun 4 02:25:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
1996-06-04Tue Jun 4 02:25:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol. * elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist. * elf/dl-deps.c: New file. * elf/Makefile (rtld-routines): Add dl-deps. * elf/link.h: Declare _dl_map_object_deps, _dl_open. * elf/rtld.c (dl_main): Use _dl_map_object_deps. * elf/dlopen.c: Use _dl_open. * elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list frobnication based on its value. Detach RTLD_MAP from the chain if its l_opencount is zero after loading deps. * elf/dlfcn.h (RTLD_BINDING_MASK): New macro. * elf/link.h (struct link_map): Replace l_deps_loaded flag member with `struct link_map **l_searchlist' and `unsigned int l_nsearchlist'. * elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array of two link_map ptrs. Search the maps in the l_searchlist of each elt that is not null. * elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array. * elf/dl-runtime.c: Likewise. * elf/dlsym.c: Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-minimal.c (realloc): Support realloc of the block most recently returned by the minimal malloc. * intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.