aboutsummaryrefslogtreecommitdiff
path: root/elf/do-lookup.h
AgeCommit message (Collapse)Author
2000-08-26Update.Ulrich Drepper
2000-08-26 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (distribute): Add unloadmod.c, reldepmod1.c, reldepmod2.c, reldepmod3.c, and reldepmod4.c. (tests): Add unload, reldep, reldep2, and reldep3. (modules-names): Add unloadmod, reldepmod1, reldepmod2, reldepmod3, and reldepmod4. Add rules to build and run unload, reldep, reldep2, and reldep3. * elf/dl-lookup.c (_dl_lookup_symbol): Add new parameter explicit. Don't create relocation dependency if it is nonzero. (_dl_lookup_symbol_skip): Remove relocation dependency stuff. This can never happen here. (_dl_lookup_versioned_symbol): Add new parameter explicit. Don't create relocation dependency if it is nonzero. (_dl_lookup_versioned_symbol_skip): Remove relocation dependency stuff. This can never happen here. * sysdeps/generic/ldsodefs.h: Change prototypes. * elf/dl-reloc.c (RESOLVE_MAP): Pass 0 in explicit parameter to _dl_lookup_up and _dl_lookup_versioned_symbol. (RESOLV): Likewise. * elf/dl-runtime.c (fixup): Likewise. (profile_fixup): Likewise. * elf/dl-libc.c (do_dlsym): Pass 1 in explicit parameter to _dl_lookup_symbol. * elf/dl-symbol.c (_dl_symbol_value): Likewise. * elf/rtld.c (dl_main): Likewise. * elf/dl-sym.c (_dl_sym): Pass 1 in explicit parameter to _dl_lookup_symbol if handle is not RTLD_DEFAULT. Always compute and pass down the caller map. (_dl_vsym): Likewise. * elf/reldep.c: New file. * elf/reldep2.c: New file. * elf/reldep3.c: New file. * elf/reldepmod1.c: New file. * elf/reldepmod2.c: New file. * elf/reldepmod3.c: New file. * elf/reldepmod4.c: New file. * elf/unload.c: New file. * elf/unloadmod.c: New file. * elf/do-lookup.h: Remove unused undef_name parameter. * elf/dl-lookup.c: Adjust callers.
2000-06-08Update.Ulrich Drepper
* elf/do-lookup.h: Add some __builtin_expect.
2000-06-08Update.Ulrich Drepper
* dlfcn/dlfcn.h: Pretty print dladdr declaraction. * elf/rtld.c (process_envvars): Recognize LD_DYNAMIC_WEAK. (_dl_dynamic_weak): New variable. * elf/dl-support.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_dynamic_weak. * elf/do-lookup.h: If we find a weak definition treat it like a normal symbol unless _dl_dynamic_weak is nonzero. In the latter case treat it like before.
2000-05-22(do_lookup_versioned): Replace reloc_type parameter with noexec and noplt ↵Ulrich Drepper
parameter. (do_lookup): Likewise.
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.
1999-07-29Update.Ulrich Drepper
1999-07-29 H.J. Lu <hjl@gnu.org> * stdlib/mbtowc.c: Include <string.h>. * stdlib/wctomb.c: Likewise. * sysdeps/unix/sysv/linux/fstatfs64.c: Likewise. * sysdeps/unix/sysv/linux/statfs64.c: Likewise. * misc/mntent_r.c: Include <alloca.h>. * elf/dl-runtime.c: Likewise.
1999-07-27Update.Ulrich Drepper
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz> * elf/link.h (struct link_map): Use Elf_Symndx instead of ElfXX_Symndx. * elf/dl-lookup.c (_dl_setup_hash): Likewise. * elf/dl-load.c (_dl_map_object): Likewise. * elf/do-lookup.h (do_lookup*): Likewise. * sysdeps/generic/bits/elfclass.h: Define Elf_Symndx as uint32_t. * sysdeps/unix/sysv/linux/alpha/bits/elfclass.h: Define Elf_symndx as uint64_t. * elf/elf.h: Remove Elf32_Symndx and Elf64_Symndx.
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-07Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_SIOCGIFNAME for kernel >= 2.1.50. * sysdeps/unix/sysv/linux/if_index.c: Correct typo (SIOGIFNAME -> SIOCGIFNAME) and use __ASSUME_SIOCGIFNAME. * sysdeps/libm-ieee754/w_j0.c: Remove __ from symbol definitions. * sysdeps/libm-ieee754/w_j0f.c: Likewise. * sysdeps/libm-ieee754/w_j0l.c: Likewise. * sysdeps/libm-ieee754/w_j1.c: Likewise. * sysdeps/libm-ieee754/w_j1f.c: Likewise. * sysdeps/libm-ieee754/w_j1l.c: Likewise. * sysdeps/libm-ieee754/w_jn.c: Likewise. * sysdeps/libm-ieee754/w_jnf.c: Likewise. * sysdeps/libm-ieee754/w_jnl.c: Likewise. * stdio-common.c: Correct typos. * math/libm-test.c (jn_test): Adjust delta. (y1_test): Likewise. (yn_test): Likewise. * elf/do-lookup.h: It should never happen that if we expect a versioned symbol from a file the file has no version table. This should have been checked in dl-version.c. * elf/dl-lookup.c: Include assert.h.
1999-05-07Update.Ulrich Drepper
* elf/do-lookup.h: Fix typo in comment.
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/dl-lookup.c (_dl_lookup_symbol_skip): Before first do_lookup call test whether there is any scope left. (_dl_lookup_versioned_symbol_skip): Likewise.