aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-deps.c
AgeCommit message (Collapse)Author
2001-12-12Update.Ulrich Drepper
2001-12-11 Jakub Jelinek <jakub@redhat.com> * elf/Makefile (dl-routines): Add conflict. (rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove. (ld.so): Add _begin local symbol. * elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM): Define. * elf/dl-deps.c (_dl_build_local_scope): New. (_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes of all libraries. * elf/do-rel.h (VALIDX): Define. (elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do lazy binding for RELA. If DT_GNU_PRELINKED, DT_RELACOUNT relocations can be skipped. * elf/dl-conflict.c: New file. * elf/dl-lookup.c (_dl_debug_bindings): New. (_dl_lookup_symbol): Use _dl_debug_bindings. Reference_name is always non-NULL. (_dl_lookup_symbol_skip): Likewise. (_dl_lookup_versioned_symbol): Likewise. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined, define to ElfW(Rel). * elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI ranges. Don't adjust address dynamic tags if l_addr is 0. * elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables. (_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked. (VALIDX, ADDRIDX): Define. (_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end. (dl_main): Print library list for LD_TRACE_PRELINKING. If prelinking information can be used, skip relocating libraries and call _dl_resolve_conflicts instead. (process_envvars): Handle LD_TRACE_PRELINKING envvar. * elf/dl-load.c (_dl_map_object): Don't create fake libs if LD_TRACE_PRELINKING. * include/link.h (struct link_map) [l_info]: Add DT_VALNUM + DT_ADDRNUM. * sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration. (DL_DEBUG_PRELINK): Define. (_dl_resolve_conflicts): Add prototype. * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize .plt for prelinked libraries where prelinking info cannot be used. (elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map. * sysdeps/arm/bits/link.h: New file. * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP. (ELF_MACHINE_PLT_REL): Define. (elf_machine_rela, elf_machine_rela_relative): New. (elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/i386/bits/link.h: New file. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP. (ELF_MACHINE_PLT_REL): Define. (elf_machine_rela, elf_machine_rela_relative): New. (elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating conflicts, skip finaladdr computation. Use RESOLVE_CONFLICT_FIND_MAP to find out map for R_PPC_JMP_SLOT relocs. * sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define. (OPCODE_BA): Define. (elf_machine_runtime_setup): Reinitialize .plt for prelinked libraries where prelinking info cannot be used. (sparc_fixup_plt): Renamed from elf_machine_fixup_plt. (elf_machine_fixup_plt): Call sparc_fixup_plt. (elf_machine_rela): Set value to 0 if relocating conflicts. Call sparc_fixup_plt for R_SPARC_JMP_SLOT. * sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define. (sparc64_fixup_plt): Fix a typo. (elf_machine_rela): Set value to 0 if relocating conflicts. Handle R_SPARC_JMP_SLOT relocs when relocating conflicts. (elf_machine_runtime_setup): Reinitialize .plt for prelinked libraries where prelinking info cannot be used. * sysdeps/sh/bits/link.h: New file. * sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/s390/s390-32/bits/link.h: New file. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/s390/s390-64/bits/link.h: New file. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/x86_64/bits/link.h: New file. * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used.
2001-09-14Update.Ulrich Drepper
2001-09-13 Jakub Jelinek <jakub@redhat.com> * elf/dl-deps.c (_dl_map_object_deps): Fix filter handling if filter is already found earlier in the search scope. 2001-09-12 Jakub Jelinek <jakub@redhat.com> * rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's filter.
2001-09-08Update.Ulrich Drepper
2001-09-08 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't loaded directly) determine length if l_initfini list by iterating over its elements. Minor optimizations. * elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini for dependency objects. If object was already loaded check whether any of the dependencies is already on the relocation dependency list. If yes, remove the latter. Minor optimizations. * elf/dl-lookup.c (add_dependency): Add check for self reference of maps here. Search l_initfini list only if the object was loaded directly and not only as a dependency. (_dl_lookup_symbol): Add relocation dependency also if object is not in global scope. Remove test for self-reference here. (_dl_lookup_versioned_symbol): Likewise. * elf/dl-object (_dl_new_object): Cleanup. Initialize dont_free element of first name record. * elf/loadtest.c: Add some more test to recognize early if an object wasn't unloaded. * elf/Makefile: Add rules to build and run reldep5. * elf/reldep5.c: New file. * elf/reldepmod5.c: New file. * elf/reldepmod6.c: New file. * elf/reldep2.c: Fix typo. * elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max.
2001-09-05Update.Ulrich Drepper
2001-09-04 Ulrich Drepper <drepper@redhat.com> Correct very misleading message for error in failed runtime relocation. * elf/dl-error.c (_dl_signal_error): Take extra parameter to describe place of the error. (_dl_signal_cerror): Likewise. * sysdeps/generic/ldsodefs.h: Adjust prototypes. * elf/dl-close.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise.
2001-07-06Update to LGPL v2.1.Andreas Jaeger
2001-07-06 Paul Eggert <eggert@twinsun.com> * manual/argp.texi: Remove ignored LGPL copyright notice; it's not appropriate for documentation anyway. * manual/libc-texinfo.sh: "Library General Public License" -> "Lesser General Public License". 2001-07-06 Andreas Jaeger <aj@suse.de> * All files under GPL/LGPL version 2: Place under LGPL version 2.1.
2001-06-26Update.Ulrich Drepper
2001-06-25 Ulrich Drepper <drepper@redhat.com> * elf/dl-deps.c (_dl_map_object_deps): Fix handling of failing _dl_catch_error calls.
2001-05-23Update.Ulrich Drepper
2001-05-23 kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT. (_dl_runtime_profile): Likewise.. 2001-05-23 Thorsten Kukuk <kukuk@suse.de> * sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out. * posix/tst-getaddrinfo.c: Remove AF_UNIX test. 2001-05-19 H.J. Lu <hjl@gnu.org> * elf/dl-deps.c (_dl_map_object_deps): Pass objname and errstring of the failed DSO to _dl_signal_error ().
2001-05-22Update.Ulrich Drepper
2001-05-18 Jakub Jelinek <jakub@redhat.com> * elf/dl-lookup.c (PROTECTED): Remove defines. (add_dependency): Mark it with internal_function. (_dl_do_lookup, _dl_do_lookup_versioned): New functions. (_dl_lookup_symbol, _dl_lookup_symbol_skip, _dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip): Use it if we don't want do_lookup* inlined. 2001-05-18 Jakub Jelinek <jakub@redhat.com> * include/link.h (struct r_scope_elem): Remove r_duplist and r_nduplist fields. * elf/dl-load.c (_dl_map_object_from_fd): Don't initialize them. * elf/dl-lookup.c (_dl_lookup_symbol_skip): Look in r_list, not r_duplist. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/dl-deps.c (struct list): Remove dup field, rename unique to next. (_dl_map_object_deps): Don't compute duplicate list. * elf/dl-symbol.c: Removed. * elf/Makefile (routines): Remove dl-symbol. 2001-05-22 Ulrich Drepper <drepper@redhat.com> * po/el.po: Update from translation team. * po/sv.po: Likewise.
2001-04-11Update.Ulrich Drepper
2001-04-10 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/fpu/libm-test-ulps: Add deltas for tgamma to help the lousy AMD FPU. 2001-04-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: New file. * sysdeps/unix/sysv/linux/powerpc/Dist: Add sys/ptrace.h. * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Delete wrong stuff. * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Correct typedefs. 2001-04-10 Ulrich Drepper <drepper@redhat.com> * elf/dl-deps.c (_dl_map_object_deps): Provide complete error message. Based on a patch by HJ Lu.
2001-02-28Update.Ulrich Drepper
* sysdeps/arm/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/s390/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise.
2001-02-27Replace _dl_debug_* variables with _dl_debug_mask.Ulrich Drepper
2000-12-31Update.Ulrich Drepper
2000-12-30 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c (_dl_close): We can ignore the NODELETE flag if the object was not yet initialized. 2000-12-28 H.J. Lu <hjl@gnu.org> * elf/dl-deps.c (_dl_map_object_deps): Make sure the DSO state is always consistent even if its dependency is failed. * elf/dl-open.c (_dl_open): Increment the open count before calling _dl_close () in case of failure. * elf/neededtest4.c: New file. * elf/neededobj5.c: New file. * elf/neededobj6.c: New file. * elf/Makefile (distribute): Add neededobj5.c and neededobj6.c. (tests): Add neededtest4. (modules-names): Add neededobj5 and neededobj6. ($(objpfx)neededobj6.so): New target. ($(objpfx)neededtest4): New target. ($(objpfx)neededtest4.out): New target.
2000-12-27* stdio-common/printf_fp.c (__printf_fp): Add prototype for nested Andreas Jaeger
function. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. * locale/programs/locale.c (show_locale_vars): Likewise. (show_info): Likewise. * locale/programs/ld-collate.c (collate_output): Likewise. * locale/programs/ld-ctype.c (set_class_defaults): Likewise. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * stdlib/rpmatch.c (rpmatch): Likewise.
2000-10-24Update.Ulrich Drepper
* elf/dl-deps.c (_dl_map_object_deps): Put l_initfini array before r_list array in allocated memory. * elf/dl-close.c (_dl_close): Optimize access to l_initfini list and remove use of r_list.
2000-10-24Update.Ulrich Drepper
2000-10-24 Ulrich Drepper <drepper@redhat.com> Complete revamp of the reference counter handling. * include/link.h (struct link_map): Add l_idx field. * elf/dl-close.c: Handle decrementing of reference counters more correctly. If necessary decrement reference counters of dependencies of dependencies. * elf/dl-lookup.c (add_dependency): Only increment reference counter of the object itself and not also its dependencies. * elf/dl-open.c: Increment reference counters here. * elf/dl-deps.c: Remove reference counter handling here. * elf/dl-load.c: Likewise. * elf/rtld.c: Adjust for _dl_map_deps not handling reference counters. * elf/loadtest.c: Print loaded objects at the beginning.
2000-10-24Update.Ulrich Drepper
* include/link.h (struct link_map): New bit field l_faked. * elf/dl-deps.c: Use l_faked field in struct link_map instead of the magic l_opencount==0. * elf/dl-load.c: Likewise. * elf/dl-version.c: Likewise. * elf/rtld.c: Likewise.
2000-10-21Update.Ulrich Drepper
* elf/dl-close.c: Decrement opencount for all dependencies which can be removed even if the object is not yet unloaded. * elf/dl-deps.c (_dl_map_object_deps): If dependency is already in the list decrement opencount of all dependencies. * elf/dl-load.c (_dl_map_object_from_fd): Increment object of object and all dependencies. (_dl_map_object): Likewise. * elf/dl-lookup.c (add_dependency): Likewise. * elf/loadtest.c: Add debug when with more output.
2000-08-19Update.Ulrich Drepper
2000-08-19 Ulrich Drepper <drepper@redhat.com> * elf/Versions [ld] (GLIBC_2.2): Export _dl_check_map_versions. * elf/dl-deps.c (_dl_map_object_deps): If object was dependency of a dynamically loaded object remove old l_initfini list. * elf/dl-libc.c (free_mem): Used as __libc_subfreeres callback to remove some dynamically allocated memory blocks in the dynamic loading data structures. * elf/dl-load.c (add_name_to_object): Initialize dont_free to 0. * elf/dl-open.c (dl_open_workder): Don't call _dl_check_all_versions. Instead call _dl_check_map_versions only for the dependencies. * elf/rtld.c: Avoid unneccessary initializations. Mark l_libname information of initial objects as not free-able. * sysdeps/generic/ldsodefs.h (struct libname_list): Add dont_free element. * elf/filter.c: Call mtrace. * elf/restest1.c: Likewise. Close the objects. * elf/loadtest.c: Call mtrace. Check result of dlclose. Print more debug information. * elf/constload1.c: Add comment explaining not freed memory.
2000-08-15Update.Ulrich Drepper
2000-08-15 Ulrich Drepper <drepper@redhat.com> * elf/multiload.c: Add mtrace call. Call dlclose for all handles and free wd. * elf/dl-deps.c (_dl_map_object_deps): Don't allocate needed list if there is already one. * elf/dl-close.c: Pretty print.
2000-07-20Update.Ulrich Drepper
* elf/elf.h: Add various DF_1_*, DTF_1_*, and DF_P1_* entries. * elf/dl-close.c (_dl_close): Don't close an object if it is marked with nodelete. * elf/dl-open.c (dl_open_worker): Pass RTLD_NOLOAD as new parameter to _dl_map_object. Return immediately if no object loaded. Set DF_1_NODELETE bit in l_flags_1 if RTLD_NODELETE was passed. * elf/dynamic-link.h (elf_get_dynamic_info): Copy DT_FLAGS_1 entry if it exists into l_flags_1 word. * elf/dl-load.c (_dl_map_object_from_fd): Take no parameter and use it to determine whether loading is wanted or not. (_dl_map_object): Likewise. Call _dl_map_object_from_fd with new parameter. * sysdeps/generic/ldsodefs.h: Update prototype. * elf/dl-deps.c: Add new parameter to _dl_map_object calls. * elf/rtld.c: Likewise. * elf/Makefile (tests): Add noload. Add rules to generate noload. * elf/noload.c: New file. * include/link.h (struct link_map): Add l_feature_1 and l_flags_1. * sysdeps/generic/bits/dlfcn.h: Define RTLD_NOLOAD and RTLD_NODELETE. * sysdeps/mips/bits/dlfcn.h: Likewise.
2000-07-13Update.Ulrich Drepper
* elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2. * dlfcn/dlerror.c (dlerror): Don't free the error string if it is the report that we are out of memory. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * elf/dl-libc.c (dlerror_run): Likewise. * elf/dl-open.c (_dl_open): Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-error.c: Define _dl_out_of_memory. (_dl_signal_error): Return _dl_signal_error if we cannot duplicate the error string. * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory. * dlfcn/dlerror.c (free_key_mem): Also free error string. * iconv/loop.c: Fix comment.
2000-06-10Update.Ulrich Drepper
2000-06-09 Ulrich Drepper <drepper@redhat.com> Rewrite error message handling. * elf/dl-deps.c (_dl_map_object_deps): Pass new parameter to _dl_catch_error. * elf/dl-error (struct catch): Add objname member. (_dl_signal_error): Take new parameter with object name. When passing message on simply store object name and duplicate error message. (_dl_catch_error): Take new parameter. Store object name in the place pointed to. * include/dlfcn.h: Adjust _dl_catch_error prototype. * sysdeps/generic/ldsodefs.h: Adjust _dl_signal_error prototype. * elf/dl-libc.c (dlerror_run): Pass new parameter to _dl_catch_error. * elf/dl-open.c (_dl_open): Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-close.c: Mark error messages with N_(). * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/dl-lookup.c: Add comments about problems with error message translations. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise.
2000-06-08Update.Ulrich Drepper
* include/elf.h: Include also <dl-dtprocnum.h>. * elf/dl-deps.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-dtprocnum.h: New file. * sysdeps/ia64/dl-dtprocnum.h: New file. * sysdeps/mips/dl-dtprocnum.h: New file. * sysdeps/sparc/dl-dtprocnum.h: New file.
2000-05-10Update.Andreas Jaeger
2000-05-09 Jakub Jelinek <jakub@redhat.com> * elf/dl-sym.c (_dl_sym): Test ref not result for non-zero. (_dl_vsym): Likewise. Reported by Owen Taylor <otaylor@redhat.com>. * elf/dl-deps.c (_dl_map_object_deps): Zero terminate L->l_initfini always.
2000-04-17Update.Ulrich Drepper
* elf/dl-reloc.c (_dl_relocat_object): Add more __builtin_expect. * elf/dl-lookup.c: Add more __builtin_expect. * elf/dl-init.c (_dl_init): Add more __builtin_expect. * elf/dl-fini.c (_dl_fini): Add more __builtin_expect. * elf/dl-deps.c (_dl_map_object_deps): Add more __builtin_expect. * elf/dl-close.c (_dl_close): Add more __builtin_expect. * elf/rtld.c (_dl_start_final): Add more __builtin_expect.
2000-04-03* sysdeps/mach/hurd/i386/init-first.c (init): Don't set __environRoland McGrath
here, before we might move the stack. (posixland_init): Set __libc_argc, __libc_argc, and __environ here. (init1): And not here. * sysdeps/i386/dl-machine.h (RTLD_START): Fix code broken by last change, to restore argc value in call-clobbered register after RTLD_START_SPECIAL_INIT, which will contain a call. * elf/dl-deps.c (_dl_map_object_deps): Fix size calculations for allocating and initializing L->l_initfini. * resolv/Makefile (headers): Add bits/netdb.h, so it gets installed.
2000-03-30Update.Ulrich Drepper
2000-03-30 Ulrich Drepper <drepper@redhat.com> Implement dynamic determination of constructor/destructor order in the dynamic linker. * elf/Versions [ld.so] (GLIBC_2.0): Remove _dl_init_next. (GLIBC_2.2): Add _dl_init. * elf/dl-close.c: Also call all destructors in FINI_ARRAY. r_duplist is not anymore allocated separately. l_initfini is and therefore free it if necessary. * elf/dl-deps.c: If a searchlist has to be allocated, put all in one malloc block. Otherwise allocate l_initfini list only. Put dependencies for the object in l_initfini list. Sort dependencies for the object to be loaded topologically. * elf/dl-fini.c: Before running the destructors sort the topologically. * elf/dl-init.c (_dl_init): Renamed from _dl_init_next. Rewrite to call constructors instead of iterating over the pointers. Get list of objects for which to run constructors from l_initfini element. Accept argc, argv, and env as parameters and pass them to the constructors. * elf/ld-load.c (_dl_map_object_from_fd): Initialize l_ldnum member with size of dynamic section. * elf/dl-open.c (dl_open_worker): Only call _dl_init instead of _dl_init_next and calling constructors ourself. * elf/dl-preinit.c (_dl_preinit): Renamed from _dl_preinit_next. Take argc, argv, and env as parameters and pass them to the constructors. Rewrite to call all constructors and not iterate over the pointers. * elf/dynamic-link.h: Don't relocate DT_FINI_ARRAY entry. Don't precompute l_initcount and l_preinitcount. * elf/link.h (struct link_map): Add l_ldnum member. Make l_phdr_allocated part of the bitfield. Remove l_runcount, l_initcount, and l_preinitcount. Add l_initfini. * sysdeps/generic/ldsodefs.h: Replace _dl_init_next prototype with one for _dl_init. * sysdeps/i386/dl-machine (RTLD_START): Rewrite to match new init function interface. * sysdeps/unix/sysv/linux/init-first.h: Removed. * sysdeps/unix/sysv/linux/Dist: Delete file here as well. * sysdeps/unix/sysv/linux/init-first.c [PIC]: Don't use SYSDEP_CALL_INIT. Make _init a strong alias of init. The calling conventions now match. * sysdeps/generic/libc-start.c: Calling __libc_init_first has no effect for shared objects. Don't emit message and call only for static library.
2000-03-23Update.Ulrich Drepper
2000-03-23 Andreas Jaeger <aj@suse.de> * elf/dl-addr.c: Adjust include paths for ldsodefs location change. * 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-preinit.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-symbol.c: Likewise. * elf/dl-version.c: Likewise. * elf/rtld.c: Likewise. * elf/sprof.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-origin.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/elf/backtracesyms.c: Likewise. * sysdeps/generic/elf/backtracesymsfd.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/powerpc/dl-machine.c: Likewise. * sysdeps/powerpc/elf/libc-start.c: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/ldsodefs.h: Move file to ... * sysdeps/generic/ldsodefs.h: ... here. * sysdeps/generic/ldsodefs.h: Add definition for D_PTR. * sysdeps/mips/elf/ldsodefs.h: New file. * elf/dl-version.c (match_symbol): Use D_PTR to access relocated entries in l_info. (_dl_check_map_versions): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dl-load.c (_dl_init_paths): Likewise. (_dl_map_object): Likewise. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Likewise. (elf_get_dynamic_info): Likewise. * elf/do-lookup.h (FCT): Likewise. * elf/do-rel.h (elf_dynamic_do_rel): Likewise. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * elf/dl-addr.c (_dl_addr): Likewise. * elf/dl-runtime.c (profile_fixup): Likewise. (fixup): Likewise. * elf/dl-init.c (_dl_init_next): Likewise. * sysdeps/generic/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (DISTINGUISH_LIB_VERSIONS): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_rel): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info for writable dynamic section.
2000-03-15Update.Ulrich Drepper
* elf/dl-deps.c (_dl_map_object_deps): Change return type and remove last parameter. Move code to add map to global scope from here... * elf/dl-open.c (dl_open_worker): ...here. * elf/ldsodefs.h: Adjust declaration of _dl_map_object_deps. * elf/rtld.c: Adjust call to _dl_map_object_deps.
1999-07-23Update.Ulrich Drepper
* posix/unistd.h: Move declaration of __libc_enable_secure to... * include/unistd.h: ...here. * elf/dl-open.c (dl_open_worker): If DST is used in SUID program punt. * elf/dl-deps.c (expand_dst): Likewise. * elf/dynamic-link.h: Set DT_SYMBOLIC, DT_TEXTREL, and DT_BIND_NOW based on DT_FLAGS value. * elf/do-lookup.h: Remove reference_name parameter, add undef_map. Add test for symbols marked STV_HIDDEN. * elf/dl-lookup.c (_dl_lookup_symbol): Remove reference_name parameter, add undef_map. Compute reference_name locally. Update call to do_lookup. (_dl_lookup_symbol_skip): Likewise. (_dl_lookup_versioned_symbol): Likewise. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/dl-libc.c: Update call to _dl_lookup_*symbol. * elf/dl-runtime.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-symbol.c: Likewise. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-reloc.c (RESOLV): Add test for STV_PROTECTED flag set and handle appropriately. Add comment about DT_TEXTREL. * elf/dl-runtime.c: Likewise.
1999-06-26 (_dl_map_object_deps): When looking for the next occurence of the aux ↵Ulrich Drepper
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.
1999-05-05Update.Ulrich Drepper
* Versions.def (ld.so): Add GLIBC_2.1.1. * elf/Makefile (routines): Add dl-origin. (tests): Add origtest. Add dependencies for the program. * elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_origin_path, _dl_platformlen, _dl_dst_count and _dl_dst_substitute. * elf/dl-deps.c (expand_dst): New macro. Expand DSTs in filename. (_dl_map_object_deps): Use expand_dst to expand DSTs in DT_NEEDED, DT_AUXILIARY, and DT_FILTER filenames. * elf/dl-load.c (expand_dynamic_string_token): Explode into two functions and three macros. (_dl_dst_count, _dl_dst_substitute): New functions. * elf/dl-dst.h: New file. * elf/dl-open.c (_dl_open): Take extra parameter with address of caller. Pass address in args structure. (dl_open_worker): Recognize and expand DSTs in filename. * elf/ldsodefs.h (_dl_open): Adapt prototype. * elf/dlopen.c (dlopen_doit): Pass caller address to _dl_open. (__dlopen_check): Pass caller address to dlopen_doit in args. * elf/dlopendoit.c: Likewise. * iconv/gconv_dl.c: Adapt call of _dl_open. * nss/nsswitch.c: Likewise. * elf/origtest.c: New file. * sysdeps/generic/dl-origin.h: Moved to... * sysdeps/generic/dl-origin.c: ...here. * sysdeps/unix/sysv/linux/dl-origin.h: Moved to... * sysdeps/unix/sysv/linux/dl-origin.c: ...here.
1999-02-20Update.Ulrich Drepper
* elf/dl-deps.c (_dl_map_object_deps): Don't add dummy objects created for tracing to the scope lists. * elf/do-lookup.h: Remove test for l_opencount == 0 after above change. DT_SYMTAB is always available according to ELF spec.
1999-02-20Update.Ulrich Drepper
* elf/dynamic-link.h (elf_get_dynamic_info): Take new argument with load address. Relocate d_ptr in DT_DTRTAB, DT_SYMTAB, DT_RELA, DT_REL, DT_JMPREL, DT_PLTGOT, and DT_VERSYM l_info entry. (_ELF_DYNAMIC_DO_RELOC): Take extra argument which specifies whether rel and rela relocations can both happen and skip one test if this is not possible. (ELF_DYNAMIC_DO_RELA, ELF_DYNAMIC_DO_REL): Call _ELF_DYNAMIC_DO_RELOC appropriately. * elf/dl-addr.c (_dl_addr): DT_SYMTAB and DT_STRTAB entries are already relocated. * elf/dl-deps.c (_dl_map_object_deps): DT_STRTAB entry is already relocated. * elf/dl-load.c (_dl_init_paths): DT_STRTAB entry is already relocated. (_dl_map_object_from_fd): Call elf_get_dynamic_info with new argument. (_dl_map_object): DT_STRTAB entry is already relocated. * elf/dl-lookup.c (do_lookup): DT_STRTAB and DT_SYMTAB entries are already relocated. * elf/dl-reloc.c (_dl_relocate_object): DT_STRTAB entry is already relocated. * elf/dl-runtime.c (fixup): DT_SYMTAB, DT_STRTAB, DT_JMPREL, and DT_VERSYM entries are already relocated. (profile_fixup): Likewise. * elf/dl-version.c: Rename VERSTAG macro into VERSYMIDX. Replace all users. (match_symbol): DT_STRTAB entry is already relocated. (_dl_check_map_versions): Likewise. Also fo DT_VERSYM. * elf/do-rel.h (elf_dynamic_do_rel): reladdr is now assumed to be relocated already. DT_SYMTAB and DT_VERSYM entries are also relocated. * elf/rtld.c (_dl_start): Pass extra argument to elf_get_dynamic_info. (find_needed): DT_STRTAB entry is already relocated. (dl_main): Pass extra argument to elf_get_dynamic_info. DT_STRTAB entry is already relocated. * sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): DT_JMPREL and DT_PLTGOT entries are already relocated. (elf_machine_rela): Likewise for DT_SYMTAB. * sysdeps/arm/dl-machine.h (elf_machine_rel): DT_STRTAB is already relocated. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/powerpc/dl-machine.c (__process_machine_rela): Likewise. * sysdeps/mips/dl-machine.h (elf_machine_got_rel): Likewise. (elf_machine_got_rel): Likewise for DT_SYMTAB and DT_STRTAB. * grp/initgroups.c (initgroups): If function in current module was successful don't stop but continue to process to get all the groups.
1999-01-21Update.Ulrich Drepper
1999-01-21 Ulrich Drepper <drepper@cygnus.com> * elf/dl-close.c: Rewrite the way adding to the global scope works to handle error cases better than the last change. The l_global flag is now only set when the object is actually counted in the global scope list. * elf/dl-deps.c: Likewise. * elf/dl-open.c: Likewise.
1998-11-02Update.Ulrich Drepper
* elf/Versions [libc, GLIBC_2.01]: Add _dl_global_scope_alloc. * elf/dl-open.c (_dl_global_scope_alloc): Move definition to * elf/dl-deps.c: ...here. * elf/dl-open.c (dl_open_worker): Call _dl_map_object_deps with new parameter and expect result. Remove code handling RTLD_GLOBAL. Add return value of _dl_map_object_deps to _dl_main_searchlist->r_nlist. * elf/dl-deps.c (_dl_map_object_deps): Change to return value. If we parameter GLOBAL is nonzero add object and dependencies to the global scope. * elf/ldsodefs.h: Adapt prototype for _dl_map_object_deps. * elf/rtld.c (dl_main): Call _dl_map_object_deps with new parameter. Mark all objects as in global scope. * elf/dl-object.c (_dl_new_object): Initialize l_global to zero. * sysdeps/unix/sysv/linux/bits/sockunion.h: Add Econet support. * sysdeps/unix/sysv/linux/i386/sysdep.h: Add .L prefix to symbols used in macro magic. 1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/netatalk/at.h: Include <linux/atalk.h> before <sys/socket.h> to make sockaddr_at available to <sys/socket.h>. * posix/glob.h: Remove __P from parameter lists of declarations. 1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * time/tzset.c (tz_compute): Remove unused parameter timer. Change caller. 1998-11-02 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/generic/bits/types.h (__ipc_pid_t): New typedef. 1998-11-02 Ulrich Drepper <drepper@cygnus.com>
1998-09-06Update.Ulrich Drepper
1998-09-06 09:00 Ulrich Drepper <drepper@cygnus.com> * version.h (VERSION): Bump to 2.0.96. Rewrite runtime linker to be truly thread-safe. There is now no global variable specifying the scope. We create all needed scopes at the time the link maps are created. * elf/Versions [GLIBC_2.1]: Add _dl_loaded and _dl_main_searchlist. * elf/link.h: Add struct r_scope_elem and use this for l_searchlist, l_symbolic_searchlist, l_scope, and l_local_scope elements in struct link_map. * elf/dl-close.c: Rewritten accordingly. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.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/dl-version.c: Likewise. * elf/dlfcn.h: Likewise. * elf/dlsym.c: Likewise. * elf/dlvsym.c: Likewise. * elf/ldsodefs.h: Likewise. * elf/rtld.c: Likewise. * iconv/gconv_dl.c: Likewise. * nss/nsswitch.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
1998-04-02Update.Ulrich Drepper
* intl/finddomain.c: Likewise. * intl/gettextP.h: Likewise. * intl/loadmsgcat.c: Likewise.
1998-03-24Update.Ulrich Drepper
1998-03-24 Ulrich Drepper <drepper@cygnus.com> * elf/ldsodesf.h: New file. * elf/Makefile (distribute): Add ldsodefs.h. * elf/link.h: Separate internal information in exter header. * elf/rtld.c: Include elf/ldsodefs.h not link.h. * elf/dl-minimal.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * elf/sprof.c: Likewise. * elf/dlsym.c: Likewise. * elf/dlvsym.c: Likewise. * elf/dlerror.c: Likewise. * elf/dladdr.c: Likewise. * elf/dlclose.c: Likewise. * elf/dlopen.c: Likewise. * elf/dl-addr.c: 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-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-symbol.c: Likewise. * elf/dl-version.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * iconv/gconv_dl.c: Likewise. * nss/nsswitch.c: Likewise.
1998-03-14Update.Ulrich Drepper
1998-03-14 11:47 H.J. Lu <hjl@gnu.org> * elf/dl-close.c (_dl_close): Stop unmapping the segments after unmapping the last loaded segment. 1998-03-14 15:54 Ulrich Drepper <drepper@cygnus.com> * configure.in: Set base_os for Irix6. Correct test for .weakext. 1998-03-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * elf/dl-deps.c (_dl_map_object_deps): Add first parameter (new_line) to _dl_debug_message call. * locale/programs/linereader.c (lr_token): Return EOF token at EOF.
1998-03-12Update.Ulrich Drepper
1998-03-12 13:11 Tim Waugh <tim@cyberelk.demon.co.uk> * posix/wordexp-test.c: More tests. (main): Set up arena for pathname expansion tests (in a temporary directory). (testit): Don't check word count or word vector if return value is non-zero. * posix/wordexp.c (exec_comm): Always chop off terminating linefeed (just like bash does). (parse_param): Change lots of occurrences of "if (!*env)" to "if (!env || !*env)". (parse_param): For assignment inside parameter expansion, use all expanded words in assignment rather than just the first. (parse_param): Corrected return value for parameter expansion of an unset variable when WRDE_UNDEF is in effect. (parse_dollars): Don't field-split if quoted. (wordexp): Opening brace character isn't allowed unquoted. 1998-03-12 Ulrich Drepper <drepper@cygnus.com> * elf/dlerror.c: Fix concurrency problems with error string and number. * elf/dl-deps.c (_dl_map_object_deps): Print debug info when filter/auxiliary are being loaded. 1998-03-12 14:24 Ulrich Drepper <drepper@cygnus.com> * elf/dlerror.c (last_object_name): Removed. (dlerror): Don't use last_object_name. (_dl_error_run): Omit second argument to _dl_catch_error. * elf/dl-error.c (struct catch): Remove objname member. (_dl_signal_error): Construct string including objname when given. (_dl_catch_error): Remove objname handling. * elf/link.h (_dl_catch_error): Fix prototype and comment. * elf/rtld.c (dl_main): Call _dl_catch_error correctly. * elf/dl-deps.c (_dl_map_objet_deps): Likewise. * nss/nsswitch.c (nss_dlerror_run): Likewise. * iconv/gconv_dl.c (dlerror_run): Likewise. [Corrects PR libc/501].
1998-03-10Update.Ulrich Drepper
1998-03-10 17:54 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_debug_message. * elf/dl-misc.c: Make _dl_debug_message a function. Print the PID before every line. * elf/fini.c: Correctly use new _dl_debug_message function. * elf/init.c: Likewise. * elf/dl-lookup.c: Likewise. * sysdeps/unix/sysv/linux/libc-start.c: Likewise. * elf/dl-load.c: Likewise. Add more debugging prints. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise. * elf/dl-support.c: Add variables for debugging. * elf/rtld.c: Likewise. Recognize new debug options. * elf/link.h: Declare new variables. * elf/dl-deps.c (_dl_map_object_deps): Little optimizations. * sysdeps/unix/sysv/linux/sys/quota.h: Extract information from kernel headers. Patch by a sun <asun@saul7.u.washington.edu>. 1998-03-11 00:16 Tim Waugh <tim@cyberelk.demon.co.uk> * posix/wordexp-test.c (command_line_test): New function to allow testing of specific cases from the command-line. 1998-03-10 Ulrich Drepper <drepper@cygnus.com> * elf/dl-init.c (_dl_init_next): Print nicer messages. * elf/dl-fini.c (_dl_fini): Likewise. * sysdeps/unix/sysv/linux/libc-start.c (__libc_start_main): Likewise.
1998-02-17Update.Ulrich Drepper
1998-02-17 17:41 Ulrich Drepper <drepper@cygnus.com> * elf/dl-load.c (open_path): Take extra argument PRELOADED. If PRELOADED is nonzero check in case of an SUID application whether the shared object has the SUID bit set. Fix some other problems with handling shared objects in system specific directories. (_dl_map_object): Also take extra parameter and pass it to open_path. * elf/link.h (_dl_map_object): Correct prototype and comment. * elf/rtld.c (dl_main): Call _dl_map_object correctly. * elf/dl-open.c (_dl_open): Likewise. * elf/dl-deps.c (openaux, _dl_map_object_deps): Likewise. * sysdeps/libm-ieee754/s_modfl.c: Handle numbers > 1.0 correctly. * math/libm-test.c (modf_test): Add test for 1.5.
1997-09-05Update.cvs/libc-ud-970904Ulrich Drepper
1997-09-05 03:15 Ulrich Drepper <drepper@cygnus.com> * Makefile (subdirs): Reorganize order so that nss follows add-ons. * config.make.in (LDAP): Add. * configure.in: Prepare for ldap add-on. * shlib-versions: Add version numbers for ldap NSS module. * nss/Makefile: Add rules to build ldap NSS module. * db/btree/bt_page.c (__bt_free): Update meta data information. Update db from db-2.3.6. * db2/db.h: Updated. * db2/btree/bt_close.c: Updated. * db2/btree/bt_compare.c: Updated. * db2/btree/bt_conv.c: Updated. * db2/btree/bt_cursor.c: Updated. * db2/btree/bt_delete.c: Updated. * db2/btree/bt_put.c: Updated. * db2/btree/bt_rec.c: Updated. * db2/btree/bt_recno.c: Updated. * db2/btree/bt_search.c: Updated. * db2/btree/bt_split.c: Updated. * db2/btree/bt_stat.c: Updated. * db2/common/db_appinit.c: Updated. * db2/common/db_apprec.c: Updated. * db2/common/db_byteorder.c: Updated. * db2/common/db_err.c: Updated. * db2/common/db_region.c: Updated. * db2/db/db.c: Updated. * db2/db/db_conv.c: Updated. * db2/db/db_dup.c: Updated. * db2/db/db_pr.c: Updated. * db2/db/db_ret.c: Updated. * db2/db185/db185.c: Updated. * db2/dbm/dbm.c: Updated. * db2/hash/hash_dup.c: Updated. * db2/include/db_am.h: Updated. * db2/include/db_page.h: Updated. * db2/include/mp.h: Updated. * db2/include/queue.h: Updated. * db2/log/log.c: Updated. * db2/log/log_findckp.c: Updated. * db2/log/log_get.c: Updated. * db2/log/log_rec.c: Updated. * db2/mp/mp_bh.c: Updated. * db2/mp/mp_fopen.c: Updated. * db2/mp/mp_pr.c: Updated. * db2/mp/mp_sync.c: Updated. * db2/mutex/x86.gcc: Updated. * db2/os/db_os_dir.c: Updated. * db2/os/db_os_fid.c: Updated. * db2/progs/db_archive/db_archive.c: Updated. * db2/progs/db_checkpoint/db_checkpoint.c: Updated. * db2/progs/db_deadlock/db_deadlock.c: Updated. * db2/progs/db_dump/db_dump.c: Updated. * db2/progs/db_dump185/db_dump185.c: Updated. * db2/progs/db_load/db_load.c: Updated. * db2/progs/db_printlog/db_printlog.c: Updated. * db2/progs/db_recover/db_recover.c: Updated. * db2/progs/db_stat/db_stat.c: Updated. * db2/txn/txn.c: Updated. * db2/txn/txn_rec.c: Updated. * db2/Makefile: Add rule to build db_printlog. * db2/config.h: Don't include endian.h and don't define WORDS_BIGENDIAN. Only define HAVE_ENDIAN_H. * elf/dl-open.c (_dl_open): Make thread-safe. * elf/dl-close.c (_dl_close): Likewise. * elf/dlclose.c: Pretty print. * elf/dl-version.c (make_string): Use __strdup not strdup. (find_needed): Don't use l_searchlist of _dl_loaded, use the l_next list. * elf/dl-deps.c (_dl_map_object_deps): Remove variable head. * manual/math.texi: Add note about == and != for FP values. * manual/message.texi: Mention problems with relative paths and binstextdomain. * manual/string.texi: Mark strdupa and strndupa correctly as macros. * sunrpc/Makefile (CFLAGS-xkey_prot.c): Define to prevent warnings. * sunrpc/rpc_cout.c: Avoid needless races around return value. * sysdeps/generic/stpcpy.c: Include <config.h> if wanted. Update from tzdata-1997h. * time/africa: Updated. * time/europe: Updated. * time/iso3166.tab: Updated. * time/northamerica: Updated. * time/southamerica: Updated. * time/zone.tab: Updated. 1997-09-04 13:19 Richard Henderson <rth@cygnus.com> * sysdeps/alpha/w_sqrt.S: Removed. * sysdeps/alpha/fpu/e_sqrt.c: New. Obey -mieee and -mieee-with-inexact and build a version that is as fast as possible given the constraint. 1997-08-30 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/maint.texi: Document some defaults for configuration parameters. 1997-09-04 15:57 Ulrich Drepper <drepper@cygnus.com> * termios/cfsetspeed.c (cfsetspeed): Change return value to int. * termios/termios.h: Change prototype accordingly. Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>. 1997-07-26 14:42 H.J. Lu <hjl@gnu.ai.mit.edu> * libio/stdfiles.c (_libio_using_thunks): Define if _G_USING_THUNKS is defined. * libio/_G_config.h: Moved to ... * sysdeps/generic/_G_config.h: ...here. * sysdeps/unix/sysv/linux/_G_config.h: New, Add vtable thunks support. 1997-09-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/Makefile (pic-ccflag): Override it for more efficient code (together with a change in gcc). * Makeconfig (pic-ccflag): New variable. (CFLAGS-.os): Use it instead of hardcoding -fPIC. 1997-09-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use _dl_start instead of a local label, to avoid getting an unreadable label name. 1997-09-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * nss/Makefile ($(objpfx)libnss_db.so): Use $(dbobjdir) to find libdb.so. * Makeconfig (dbobjdir): Use db2. 1997-08-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/maint.texi (Porting to Unix): Update description of the implementation of Unix system calls. (Contributors): Use real umlaut in tege's name. 1997-08-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/libm-ieee754/w_gamma.c: Make compilable with _IEEE_LIBM. * sysdeps/libm-ieee754/w_gammaf.c: Likewise. * sysdeps/libm-ieee754/w_gammal.c: Likewise.
1997-08-24Update.Ulrich Drepper
1997-08-24 12:24 Ulrich Drepper <drepper@cygnus.com> * configure.in (INSTALL): Quote `$'. * libc.map: Add __xpg_basename. * csu/Makefile (initfini.s): Disable optimization. * elf/dl-deps.c: Implement handling of DL_FILTER. * elf/dl-load.c (_dl_init_paths): Add error check. * intl/finddomain.c (_nl_find_domain): Correct comment. * intl/localealias.c: Include <bits/libc-lock.h> not <libc-lock.h>. * libio/stdio.h: Make {,v}snprintf available if __USE_BSD. Change extern inline functions to work correctly in C++. * locale/iso-4217.def: Update for more recent ISO 4217 version. * locale/loadlocale.c (_nl_load_locale): Add cast. * manual/message.texi: Finish gettext section. * posix/getopt_init.c: Don't use relative #include path. (__getopt_clean_environment): Change function to take pointer to environment as argument. Optimize generation of test string a bit. * sysdeps/unix/sysv/linux/init-first.c: Call __getopt_clean_environment with additional argument. * poisx/glob.c: Add prototype for next_brace_sub. * sysdeps/generic/dl-sysdep.c: Recognize AT_BASE value on auxiliary vector. * sysdeps/i386/dl-machine.h (elf_machine_load_address): Rewrite to not generate relocation entry. Suggested by Richard Henderson. (ELF_MACHINE_BEFORE_RTLD_RELOC): Removed. (elf_machine_runtime_setup): Add .aligns. * sysdeps/i386/fpu/fraiseexcpt.c: Add volatile to asms. * sysdeps/i386/fpu/bits/mathinline.h: Partially undo change of 1997-08-14 03:14. gcc 2.7.2* is really broken in some aspects. * sysdeps/standalone/i386/i386.h: Clean up asm statements a bit. * sysdeps/standalone/i960/i960ca.h: Likewise. 1997-08-22 19:04 Richard Henderson <rth@cygnus.com> * elf/rtld.c (_dl_start): Init _dl_rtld_map.l_opencount due to undocumented test addition in _dl_map_object. Support ET_EXEC versions of ld.so, for debugging at least: * elf/dl-load.c (_dl_map_object): Add_name_to_object could get called despite the DT_SONAME != NULL test, segfaulting. Simplify the code here as well. * elf/dl-lookup.c (do_lookup): Skip objects with no symtab. (_dl_setup_hash): Likewise for hash tables. * elf/dl-version.c (_dl_check_map_versions): Likewise for strtabs. * elf/rtld.c (_dl_start): Likewise for rpath. (_dl_rtld_libname2): New variable. (dl_main): Use it to add an soname for ourselves when we don't have one of our own. Base it on the target's .interp. (dl_main): Again, skip printing of objects that don't have strtabs. Sparc 32 merge: * elf/dl-runtime.c (ELF_FIXUP_RETURN_VALUE): Provide default value. (fixup): Simplify code. Use ELF_FIXUP_RETURN_VALUE. (profile_fixup): Likewise, though this still needs fixing for Sparc32 and PPC. * sysdeps/powerpc/dl-machine.h: Transmute ELF_FIXUP_RETURNS_ADDRESS to ELF_FIXUP_RETURN_VALUE. * sysdeps/sparc/sparc32/dl-machine.h: Implement lazy relocation. Fix up _dl_start_user to handle _dl_skip_args properly. Use _dl_hwcap to determine if "flush" is available/needed. * sysdeps/sparc/configure.in: Remove. It doesn't actually do anything anymore, and what it did do is done somewhere else. * sysdeps/sparc/configure: Likewise. * sysdeps/sparc/fpu/bits/mathdef.h (FP_ILOGB0, FP_ILOGBNAN): New. * sysdeps/sparc/fpu/fraiseexcpt.c: Rearrange for smaller code. * sysdeps/sparc/sparc32/Makefile: Fix sparc->sparc/sparc32 bits in divrem expansions. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (END, LOC): New definitions for assembly syntax differences. * sysdeps/sparc/sparc32/__longjmp.S: %g6,%g7 are reserved to the "system". Use %g2,%g3 instead. Use new local label macro. * sysdeps/sparc/sparc32/add_n.S: Use <sysdep.h> and ENTRY, END, and LOC for proper assembly headers/footers. * sysdeps/sparc/sparc32/addmul_1.S: Likewise. * sysdeps/sparc/sparc32/alloca.S: Likewise. * sysdeps/sparc/sparc32/dotmul.S: Likewise. * sysdeps/sparc/sparc32/lshift.S: Likewise. * sysdeps/sparc/sparc32/mul_1.S: Likewise. * sysdeps/sparc/sparc32/rshift.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/addmul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/mul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/submul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Likewise. * sysdeps/sparc/sparc32/sub_n.S: Likewise. * sysdeps/sparc/sparc32/submul_1.S: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Likewise. * sysdeps/sparc/sparc32/umul.S: Likewise. * sysdeps/sparc/sparc32/divrem.m4: Likewise. * sysdeps/sparc/sparc32/rem.S: Regenerate. * sysdeps/sparc/sparc32/sdiv.S: Regenerate. * sysdeps/sparc/sparc32/udiv.S: Regenerate. * sysdeps/sparc/sparc32/urem.S: Regenerate. * sysdeps/sparc/sparc32/sparcv8/dotmul.S: New file. * sysdeps/sparc/sparc32/sparcv8/rem.S: New file. * sysdeps/sparc/sparc32/sparcv8/sdiv.S: New file. * sysdeps/sparc/sparc32/sparcv8/udiv.S: New file. * sysdeps/sparc/sparc32/sparcv8/umul.S: New file. * sysdeps/sparc/sparc32/sparcv8/urem.S: New file. * sysdeps/sparc/sparc32/bsd-_setjmp.S: Dike out. * sysdeps/sparc/sparc32/bsd-setjmp.S: Likewise. * sysdeps/sparc/sparc32/setjmp.S: Add _setjmp and setjmp entry points. * sysdeps/unix/sysv/linux/sparc/sparc32/__sigtrampoline.S: Clean up PIC code. * sysdeps/sparc/sparc32/elf/start.S: New file, slightly modified from the sparc64 version. * sysdeps/sparc/sparc32/elf/start.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Rewrite in assembly based on the sparc64 version. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: Duh. Use proper syntax for manipulating %fsr. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Make IEEE conformance be the default. * elf/elf.h (HWCAP_SPARC_*): New definitions. * elf/rtld.c (_dl_hwcap): New variable. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Record AT_HWCAP. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: New file. Attempt to get hold of the page size based on what we might have been told at startup time in _dl_pagesize. This will be obsolete when I finish the kernel hooks for a proper sysconf(), stay tuned. Sparc 64 merge: * sysdeps/sparc/sparc64/dl-machine.h (ELF_FIXUP_RETURN_VALUE): New. Figure out the right thing to return based on the .plt format. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Update comment. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h (__dev_t): Should have been 64-bits wide. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: sll->sllx, optimize for branch delay slot usage. 1997-08-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * csu/Makefile ($(objpfx)crt%.o): Fix a missing *.so -> *.os change. 1997-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/libm-test.c (identities): Change epsilon. * sysdeps/i386/fpu/bits/mathinline.h: Correct arguments to fabs, fabsf, fabsl, __fabsl. * sysdeps/libm-i387/e_remainderl.S: Pop extra value from FPU stack. * sysdeps/libm-ieee754/s_csinhl.c: Include <fenv.h>.
1997-08-14Update.cvs/libc-ud-970813Ulrich Drepper
1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-07-26Update.cvs/libc-ud-970725Ulrich Drepper
1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-24Update.cvs/libc-ud-970723Ulrich Drepper
1997-07-24 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-deps.c: Complete rewrite to handle DT_AUXILIARY correctly. * inet/Makefile (tests): Add htontest. * inet/htontest.c: New file. * inet/netinet/in.h: Cleanup optimization of ntoh/hton functions when they are no noops. * sysdeps/alpha/htonl.S: Don't define __ protected names. * sysdeps/alpha/htons.S: Likewise. * sysdeps/generic/htonl.c: Likewise. * sysdeps/generic/htons.c: Likewise. * sysdeps/i386/htonl.S: Likewise. * sysdeps/i386/htons.S: Likewise. * sysdeps/i386/i486/htonl.S: Likewise. * sysdeps/vax/htonl.s: Likewise. * sysdeps/vax/htons.s: Likewise. * string/Makefile (headers): Add byteswap.h and bits/byteswap.h. * string/byteswap.h: New file. * sysdeps/generic/bits/byteswap.h: New file. * sysdeps/i386/bits/byteswap.h: New file. * sysdeps/generic/bits/htontoh.h: Removed. * sysdeps/i386/bits/htontoh.h: Removed. * misc/search.h: General cleanup. Don't define reentrant hsearch functions uless __USE_GNU. * nss/nsswitch.c: Pretty print. * sunrpc/clnt_udp.c (clntudp_call): Initialize outlen to prevent warning. * sysdeps/unix/i386/sysdep.h (DO_CALL): Use lcall, binutils have been fixed meanwhile. Reported by Zack Weinberg <zack@rabi.phys.columbia.edu>. 1997-07-24 00:53 Philip Blundell <Philip.Blundell@pobox.com> * db/hash/hash.c (init_hash): Only use statbuf.st_blksize if it exists for this port. 1997-07-24 00:12 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/bits/errno.h (ESTALE): Add. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/argp.texi (Argp Option Vectors): Use @minus, not @math, to format a proper minus sign. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/fraiseexcpt.c: Don't handle FE_INEXACT specially, the standard doesn't require it. * math/test-fenv.c (test_exceptions): Add IGNORE_INEXACT argument, if non-zero then don't test inexact flag. Callers changed. (set_single_exc): Ignore inexact flag if underflow or overflow exception is raised. 1997-07-23 05:10 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/sys/fsuid.h: New file. Provided by Michael Deutschmann <ldeutsch@mail.netshop.net>. * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/fsuid.h. * sysdeps/unix/sysv/linux/Dist: Add sys/fsuid.h. 1997-07-16 10:09 Fila Kolodny <fila@ibi.com> * resolv/gethnamaddr.c: Define MAXHOSTNAMELEN as 256, since RFC 1034 and 1035 state that a fully qualified domain name cannot exceed 255 octets in length. * resolv/nss_dns/dns-host.c: Likewise. 1997-07-22 09:54 H.J. Lu <hjl@gnu.ai.mit.edu> * inet/netinet/in.h (htons): Fix typos. * sysdeps/i386/bits/htontoh.h (__ntohs): Return the value. 1997-07-22 11:47 Ulrich Drepper <drepper@cygnus.com> * nss/nsswitch.c (nss_lookup_function): Include function.def, not functions.def. Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
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.