about summary refs log tree commit diff
path: root/elf
Commit message (Collapse)AuthorAgeFilesLines
* 2005-11-19 Roland McGrath <roland@redhat.com>Roland McGrath2005-11-191-1/+1
| | | | * elf/elf.h: Revert last change.
* 2005-11-17 Roland McGrath <roland@redhat.com>Roland McGrath2005-11-171-1/+1
| | | | * elf/elf.h (R_PPC64_ADDR30): Renamed to R_PPC64_REL30.
* * elf/dl-open.c [!SHARED]: Remove _dl_tls_static_size definition. cvs/fedora-glibc-20051115T0809Ulrich Drepper2005-11-151-6/+0
| | | | * sysdeps/generic/libc-tls.c: Initialize _dl_tls_static_size here.
* * elf/elf.h (R_M32R_REL32): New macro.Roland McGrath2005-11-081-0/+1
|
* * configure.in: If init_array/fini_array support is not available,Ulrich Drepper2005-11-051-8/+1
| | | | | | | | | | bail out. * config.h.in: Remove trace of optional init_array/fini_array support. * config.make.in: Likewise. * csu/elf-init.c: Likewise. * dlfcn/dlfcn.c: Likewise. * elf/soinit.c: Likewise. * sysdeps/ia64/elf/initfinit.c: Likewise.
* 2005-10-26 Jakub Jelinek <jakub@redhat.com>Roland McGrath2005-10-311-3/+3
| | | | | | * elf/dl-conflict.c (_dl_resolve_conflicts): Use _dl_debug_printf instead of _dl_printf to print conflict processing debug message. Reported by John Reiser <jreiser@BitWagon.com>.
* 2005-10-17 Roland McGrath <roland@redhat.com>Roland McGrath2005-10-171-10/+12
| | | | | | * elf/dl-load.c (MAP_COPY): When undefined, define to MAP_PRIVATE|MAP_DENYWRITE instead of just MAP_PRIVATE. (_dl_map_object_from_fd): Don't use MAP_DENYWRITE explicitly.
* * abi-tags (.*-.*-knetbsd.*-gnu.*): New match, with ABI value 4.Roland McGrath2005-10-171-1/+2
| | | | * elf/cache.c (print_entry): Match the kNetBSD ABI tag.
* 2005-10-16 Daniel Jacobowitz <dan@codesourcery.com>Roland McGrath2005-10-161-4/+4
| | | | | | | | | | | Roland McGrath <roland@redhat.com> * Makerules [module-names] (extra-modules-build): New variable. ($(extra-modules-build:%=$(objpfx)%.so)): New static pattern rule. Depend on libc.so and libc_nonshared.a. * dlfcn/Makefile ($(test-modules)): Remove static pattern rule. * elf/Makefile (modules-names-nobuild): New variable, add filtmod1. ($(test-modules)): Remove static pattern rule.
* * sysdeps/generic/ldsodefs.h (struct audit_ifaces):Roland McGrath2005-10-052-4/+9
| | | | | | | | Use ARCH_PLTENTER_MEMBERS and ARCH_PLTEXIT_MEMBERS macros if defined. * elf/tst-auditmod1.c: Include <tst-audit.h> to define more architecture-specific code. * sysdeps/generic/tst-audit.h: New file. * elf/Makefile (distribute): Add it.
* * elf/elf.h (R_ARM_TLS_DTPMOD32, R_ARM_TLS_DTPOFF32,Roland McGrath2005-10-051-0/+13
| | | | | R_ARM_TLS_TPOFF32, R_ARM_TLS_GD32, R_ARM_TLS_LDM32, R_ARM_TLS_LDO32, R_ARM_TLS_IE32, R_ARM_TLS_LE32): New macros.
* [BZ #1392]Roland McGrath2005-09-291-4/+5
| | | | | | | | | | | | * posix/sys/wait.h [!__GNUC__ || __cplusplus] (__WAIT_INT): Use const. 2005-09-29 Alfred M. Szmidt <ams@gnu.org> * elf/rtld.c [! DL_ARGV_NOT_RELRO] (_dl_argc, _dl_skip_args): Don't use attribute_relro. 2005-09-29 Roland McGrath <roland@redhat.com> [BZ #1392]
* [BZ #516]Ulrich Drepper2005-09-261-14/+29
| | | | | * elf/dl-load.c: Report failed loading due to ELF class mismatch with better words.
* * elf/dl-tsd.c (__libc_dl_error_tsd): Use attribute_tls_model_ie forRoland McGrath2005-09-221-2/+2
| | | | | static __thread variable. From Alexandre Oliva <aoliva@redhat.com>
* [BZ #1346]Roland McGrath2005-09-201-9/+23
| | | | | | | | 2005-09-20 Roland McGrath <roland@redhat.com> [BZ #1346] * elf/dl-load.c (_dl_map_object_from_fd) [HAVE_Z_RELRO]: Do relro magic on __stack_prot only if [SHARED]. Skip mprotect if __stack_prot lies outside the page-rounded-down relro region.
* (_dl_map_object_from_fd): No need to change protection of memory used for ↵Ulrich Drepper2005-09-021-1/+1
| | | | the last segment.
* * sysdeps/ieee754/flt-32/e_hypotf.c [!__STDC__]: Fix function name.Ulrich Drepper2005-08-301-11/+4
| | | | | | | | | | | | | | | 2005-08-01 Bob Wilson <bob.wilson@acm.org> Richard Sandiford <richard@codesourcery.com> * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Add missing exponent bias to the value for 2^126. 2005-08-30 Jakub Jelinek <jakub@redhat.com> Alan Modra <amodra@bigpond.net.au> * elf/dl-addr.c (_dl_addr): Use DL_ADDR_SYM_MATCH macro. * sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): Define. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h: New file.
* * elf/elf.h (DT_ALPHA_PLTRO): Use symbolic name in DT_ALPHA_PLTROUlrich Drepper2005-08-071-1/+1
| | | | definition.
* * elf/dl-load.c [__WORDSIZE==64] (FILEBUF_SIZE): Adjust the valueUlrich Drepper2005-07-301-7/+7
| | | | | up. We have more program header entries now and the note section was normally not loaded.
* [BZ #974]Ulrich Drepper2005-07-076-4/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | 2005-04-13 H.J. Lu <hongjiu.lu@intel.com> [BZ #974] * csu/elf-init.c (__preinit_array_start): Take int, char **, char **. (__preinit_array_end): Likewise. (__init_array_start): Likewise. (__init_array_end): Likewise. (__libc_csu_init): Take int argc, char **argv, char **envp. Call preinit_array and init_array with argc, argv, envp. * sysdeps/generic/libc-start.c (LIBC_START_MAIN): Remove INIT_MAIN_ARGS. * sysdeps/powerpc/elf/libc-start.c (INIT_MAIN_ARGS): Removed. * elf/Makefile (distribute): Add tst-array5.c, tst-array5-static.c, tst-array5dep.c, and tst-array5.exp. (tests): Add tst-array5. (tests-static): Add tst-array5-static. ($(objpfx)tst-array5): New target. ($(objpfx)tst-array5.out): Likewise. ($(objpfx)tst-array5-static.out): Likewise. * elf/tst-array5-static.c: New file. * elf/tst-array5-static.exp: Likewise. * elf/tst-array5.c: Likewise. * elf/tst-array5.exp: Likewise. * elf/tst-array5dep.c: Likewise.
* * elf/stackguard-macros.h (STACK_CHK_GUARD): Fix s390/s390x definition.Ulrich Drepper2005-07-071-2/+5
| | | | | | Reported by Ulrich Weigand <uweigand@de.ibm.com>. * elf/stackguard-macros.h (STACK_CHK_GUARD): Add ia64 definition.
* * elf/dl-error.c (_dl_signal_error): When testing for executableUlrich Drepper2005-07-071-2/+3
| | | | being relocated, take into account that nothing might even be loaded.
* * elf/dl-reloc.c [PROF] (_dl_relocate_object): DefineUlrich Drepper2005-07-071-0/+5
| | | | | | | | | | | | | | | | | | | | consider_profiling always to zero. Don't count of compiler to remove unreached if block. * sysdeps/x86_64/dl-trampoline.S [PROF] (_dl_runtime_profile): Don't compile. * sysdeps/i386/dl-trampoline.S [PROF] (_dl_runtime_profile): Likewise. * sysdeps/ia64/dl-trampoline.S [PROF] (_dl_runtime_profile): Likewise. * sysdeps/s390/s390-64/dl-trampoline.S [PROF] (_dl_runtime_profile): Likewise. * sysdeps/s390/s390-32/dl-trampoline.S [PROF] (_dl_runtime_profile): Likewise. * sysdeps/powerpc/powerpc64/dl-trampoline.S [PROF] (_dl_profile_resolve): Likewise. * sysdeps/powerpc/powerpc32/dl-trampoline.S [PROF] (_dl_profile_resolve): Likewise. * gmon/Makefile: Add rules to build and run tst-profile-static. * gmon/tst-profile-static.c: New file. * Makeconfig (+link-static): Allow passing program-specific flags.
* * Versions.def (ld): Add GLIBC_2.4.Ulrich Drepper2005-06-266-26/+270
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.in: Add --enable-stackguard-randomization option. (ENABLE_STACKGUARD_RANDOMIZE): New define. * config.h.in (ENABLE_STACKGUARD_RANDOMIZE): Add. * sysdeps/unix/sysv/linux/dl-osinfo.h: Include stdint.h. (_dl_setup_stack_chk_guard): New inline function. * sysdeps/generic/dl-osinfo.h: Include stdint.h. (_dl_setup_stack_chk_guard): New inline function. * elf/rtld.c (__stack_chk_guard): New variable. (dl_main): Remove all traces of TLS_INIT_TP_EXPENSIVE. Set __stack_chk_guard to _dl_setup_stack_chk_guard (), use THREAD_SET_STACK_GUARD if defined. * elf/Versions (ld): Export __stack_chk_guard@@GLIBC_2.4. * sysdeps/generic/libc-start.c (__stack_chk_guard): New variable. (__libc_start_main): Set __stack_chk_guard to _dl_setup_stack_chk_guard (), use THREAD_SET_STACK_GUARD if defined. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Remove all traces of TLS_INIT_TP_EXPENSIVE. * debug/Versions (libc): Export __stack_chk_fail@@GLIBC_2.4. * debug/Makefile (routines): Add stack_chk_fail. (static-only-routines): Add stack_chk_fail_local. * debug/stack_chk_fail_local.c: New file. * debug/stack_chk_fail.c: New file. * elf/Makefile: Add rules to build and run tst-stackguard1{,-static} tests. * elf/tst-stackguard1.c: New file. * elf/tst-stackguard1-static.c: New file. * elf/stackguard-macros.h: New file.
* * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_runtime_setup):Ulrich Drepper2005-06-172-3/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle prelinked libraries and binaries with new style PLT. 2005-06-07 Jakub Jelinek <jakub@redhat.com> * elf/elf.h (R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI, R_PPC_REL16_HA): Define. 2005-06-14 Alan Modra <amodra@bigpond.net.au> * config.h.in (HAVE_ASM_PPC_REL16): Add. * elf/elf.h (DT_PPC_GOT, DT_PPC_NUM): Define. * elf/tls-macros.h (PowerPC32): Include config.h. Add variants of TLS_IE, TLS_LD and TLS_GD for new PLT/GOT layout. * sysdeps/powerpc/powerpc32/configure.in: New file, * sysdeps/powerpc/powerpc32/dl-dtprocnum.h: New file. * sysdeps/powerpc/powerpc32/dl-machine.h (DT_PPC): Define. (ppc_got): New inline function. (elf_machine_dynamic): Use ppc_got. Add attribute const. (elf_machine_load_address): Add attribute const. Don't use int vars. Use bcl rather than bl to save trashing branch target stack. Use elf_machine_dynamic rather than duplicating code here. (elf_machine_runtime_setup): New inline function replacing define. Handle new PLT. (elf_machine_fixup_plt): Handle new PLT. (elf_machine_rela): Likewise. * sysdeps/powerpc/powerpc32/sysdep.h: Include config.h. (CALL_MCOUNT): Don't set up counter vars. * sysdeps/powerpc/powerpc32/ppc-mcount.S: Correct comment. * sysdeps/powerpc/powerpc32/elf/start.S (start_addressesp): Don't define when HAVE_ASM_PPC_REL16. (_start): Add HAVE_ASM_PPC_REL16 code. * sysdeps/powerpc/powerpc32/dl-start.S (_dl_start_user): Don't bl into the GOT when HAVE_ASM_PPC_REL16. * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise. * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp): Ditto. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S (__ceil): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (__ceilf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_floor.S (__floor): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S (__floorf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_rint.S (__rint): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S (__rintf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Likewise. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (__sigsetjmp): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S (__brk): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S (__getcontext): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S (__setcontext): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S (__swapcontext): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (stackblock): Comment. (__socket): Bomb if NARGS >= 7. Invoke CGOTSETUP and CGOTRESTORE. 2005-06-17 Ulrich Drepper <drepper@redhat.com> * sysdeps/posix/sigignore.c: Include <string.h> to tell the compiler to use __GI_memset. * sysdeps/posix/signal.c: Likewise. * sysdeps/posix/sigset.c: Likewise. * sysdeps/posix/sysv_signal.c: Likewise. * sysdeps/unix/sysv/linux/sleep.c: Likewise. * sysdeps/unix/sysv/linux/sysctl.c: Likewise. * sysdeps/unix/sysv/linux/system.c: Likewise.
* [BZ #966]Ulrich Drepper2005-06-141-24/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-13 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/clock_gettime.c (clock_gettime): Implement case where HANDLED_REALTIME is not defined. [BZ #966] 2005-06-13 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_sendreq, __netlink_receive): Remove prototypes. (__netlink_request): New prototype. * sysdeps/unix/sysv/linux/ifaddrs.c: Include <alloca.h> and <stdint.h>. (__netlink_sendreq): Make static. (__netlink_receive): Rename to... (__netlink_request): ... this. Add type argument, call __netlink_sendreq. If MSG_TRUNC is set after recvmsg, retry with a bigger buffer. Don't record buffers that contain no messages we are expecting. (getifaddrs): Use __netlink_request instead of __netlink_sendreq and __netlink_receive pairs. Formatting. * sysdeps/unix/sysv/linux/if_index.c (if_nameindex_netlink): Use __netlink_request instead of __netlink_sendreq and __netlink_receive pair. 2005-06-13 Thorsten Kukuk <kukuk@suse.de> * sysdeps/unix/sysv/linux/netinet/if_tr.h: Don't include kernel headers, instead copy important structs/defines. 2005-06-13 Jakub Jelinek <jakub@redhat.com> * elf/rtld.c (dl_main): Move DT_DEBUG setup before first _dl_debug_state call.
* * elf/dl-error.c (_dl_signal_error): Store information about use ofUlrich Drepper2005-06-125-37/+82
| | | | | | | | | | | | | | | | | real malloc in the catch object. (_dl_catch_error): Forward information about malloc use to caller in new parameter. (_dl_out_of_memory): Make static. * elf/dl-deps.c: Adjust callers of _dl_catch_error. * elf/dl-libc.c: Likewise. * elf/dl-open.c: Likewise. * elf/rtld.c: Likewise. Add new --audit option. * sysdeps/generic/ldsodefs.h: Remove _dl_out_of_memory declaration. (rtld_global_ro._dl_signal_error): Add new parameter. * include/dlfcn.h (_dl_catch_error): Add new parameter. * dlfcn/dlfcn.c (_dlerror_run): Pass additional parameter to _dl_catch_error. Only free if the returned newly value says so.
* * elf/elf.h (DT_ALPHA_PLTRO, DT_ALPHA_NUM): New. * ↵Richard Henderson2005-05-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | sysdeps/alpha/dl-dtprocnum.h: New file. * sysdeps/alpha/dl-machine.h (DT_ALPHA): New. (elf_machine_load_address): Simplify to rely on gprel relocations. (elf_machine_runtime_setup): Handle DT_ALPHA_PLTRO plt format. Remove thread safety workaround for binutils 2.6. (elf_machine_fixup_plt): Handle DT_ALPHA_PLTRO plt format. * sysdeps/alpha/dl-trampoline.S (_dl_runtime_resolve_new): New. (_dl_runtime_profile_new): New. (_dl_runtime_resolve_old): Rename from _dl_runtime_resolve. (_dl_runtime_profile_old): Rename from _dl_runtime_profile. Fix typo in _dl_call_pltexit argument loading. * sysdeps/alpha/div_libc.h (funcnoplt): New. * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S: Use it. * sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S: Likewise. * sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Likewise. 2005-05-28 Richard Henderson <rth@redhat.com> * elf/elf.h (DT_ALPHA_PLTRO, DT_ALPHA_NUM): New. * sysdeps/alpha/dl-dtprocnum.h: New file. * sysdeps/alpha/dl-machine.h (DT_ALPHA): New. (elf_machine_load_address): Simplify to rely on gprel relocations. (elf_machine_runtime_setup): Handle DT_ALPHA_PLTRO plt format. Remove thread safety workaround for binutils 2.6. (elf_machine_fixup_plt): Handle DT_ALPHA_PLTRO plt format. * sysdeps/alpha/dl-trampoline.S (_dl_runtime_resolve_new): New. (_dl_runtime_profile_new): New. (_dl_runtime_resolve_old): Rename from _dl_runtime_resolve. (_dl_runtime_profile_old): Rename from _dl_runtime_profile. Fix typo in _dl_call_pltexit argument loading. * sysdeps/alpha/div_libc.h (funcnoplt): New. * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S: Use it. * sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S: Likewise. * sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Likewise.
* * elf/rtld.c: Include <dl-osinfo.h>. cvs/fedora-glibc-20050523T1354Ulrich Drepper2005-05-221-0/+1
|
* * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust forUlrich Drepper2005-05-111-2/+2
| | | | | removal of a_ptr element in ElfXX_auxv_t. * elf/dl-support.c (_dl_aux_init): Likewise.
* (Elf32_auxv_t): Make cross-compile safe. (Elf64_auxv_t): Likewise.Ulrich Drepper2005-05-111-8/+10
|
* * elf/dl-close.c: Include stddef.h.Ulrich Drepper2005-04-276-16/+143
| | | | | | | | | | | | | | | | | | | | | | | | | (_dl_close): If called recursively, just remember GC needs to be rerun and decrease l_direct_opencount. Avoid GC if l_direct_opencount decreased to 1. Rerun GC at the end if any destructor unloaded some additional libraries. * elf/Makefile: Add rules to build and run unload6 test. * elf/unload6.c: New test. * elf/unload6mod1.c: New file. * elf/unload6mod2.c: New file. * elf/unload6mod3.c: New file. * malloc/hooks.c (mem2chunk_check): Add magic_p argument, set *magic_p if magic_p is not NULL. (top_check): Invoke MALLOC_FAILURE_ACTION if MORECORE failed. (malloc_check): Fail if sz == -1. (free_check): Adjust mem2chunk_check caller. (realloc_check): Likewise. Fail if bytes == -1. If bytes == 0 and oldmem != NULL, call free_check and return NULL. If reallocating and returning NULL, invert magic byte again to make oldmem valid region for further checking. (memalign_check): Fail if bytes == -1. * malloc/Makefile: Add rules to build and run tst-mcheck. * malloc/tst-mcheck.c: New test.
* 2005-04-26 Roland McGrath <roland@redhat.com>Roland McGrath2005-04-261-2/+9
| | | | | * elf/rtld-Rules (rtld-all): Test ifndef rtld-modules instead of ifeq ($(subdir),elf) to distinguish main driver from subdir runs.
* * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.hRoland McGrath2005-04-261-1/+7
| | | | | | | | (INTERNAL_SYSCALL_ERROR_P): Fix typo in last change. * sunrpc/xdr.c (xdr_u_int): Use `long' for L and cast where needed. * elf/dl-load.c: Revert last change.
* * elf/dl-load.c (_dl_map_object_from_fd): Don't use MAP_DENYWRITE,Roland McGrath2005-04-211-7/+1
| | | | since Linux ignores it in user mmap calls.
* Add sparc64 TLS and NPTL support.Ulrich Drepper2005-04-141-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf/tls-macros.h: Add Sparc64 defines. * sysdeps/sparc/sparc64/dl-machine.h (sparc64_fixup_plt): Mark as always_inline. (elf_machine_fixup_plt): Likewise. (elf_machine_rela): Handle TLS relocations. (elf_machine_type_cleaa): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (SYSCALL_ERROR_HANDLER_ENTRY): Use sethi/or for GOT reloc. It does not always fit in R_SPARC_GOT13 when building -fPIC. Also, add TLS handling. * sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel): Increase it to 2.4.21 for sparc64. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: NULL terminate backtrace by zero'ing out %fp. Store away flags, func_ptr, and func_arg in global registers not local registers. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Handle PTID, TLS, and CTID arguments properly. Add RESET_PID handling. * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Rework so that we do not invoke __sigprocmask(). We can always assume rt signals are present on sparc64, so just do an inline syscall. 2005-04-13 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc64/dl-machine.h: Add dl_machine_h multiple inclusion guard for the first half of the header. (elf_machine_type_class, ELF_MACHINE_JMP_SLOT, ELF_MACHINE_NO_REL, ELF_MACHINE_PLTREL_OVERLAP, elf_machine_runtime_setup, elf_machine_relplt, DL_STACK_END, RTLD_START): Move into the #ifndef dl_machine_h guarded part of the header.
* * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion)Roland McGrath2005-04-075-108/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [(NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO) && SHARED]: Scan GLRO(dl_sysinfo_map) for PT_NOTE giving Linux kernel version, we can skip the uname call if it's there. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't use DL_SYSDEP_OSCHECK here. * elf/rtld.c (dl_main) [DL_SYSDEP_OSCHECK]: Do it here instead. * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add _dl_sysinfo_map. * elf/rtld.c (dl_main): Don't call _dl_init_paths early in the rtld_is_main case. Call it unconditionally later. Move GLRO(dl_sysinfo_dso) handling earlier, before _dl_init_paths call. Initialize GLRO(dl_sysinfo_map). * elf/dl-load.c (open_path): Bail out if _dl_init_paths wasn't called. * sysdeps/generic/dl-sysdep.c (_DL_FIRST_EXTRA): New macro. (_dl_important_hwcaps) [(NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO) && SHARED]: Scan GLRO(dl_sysinfo_map) for PT_NOTE giving synthetic hwcap names and bit values. * elf/ldconfig.c (_DL_FIRST_EXTRA): New macro. (hwcap_extra): New static variable. (is_hwcap_platform): Check hwcap_extra for a matching name. Remove tls special case. (path_hwcap): Likewise. (parse_conf): Parse "hwcap" directive to define synthetic hwcap bits and their names, stored in hwcap_extra. (main) [USE_TLS]: Initialize final synthetic hwcap bit as "tls". * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Use uint64_t for _dl_hwcap and _dl_hwcap_mask. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Cast a_val for AT_HWCAP to unsigned long int. * elf/dl-support.c (_dl_aux_init): Likewise. (_dl_hwcap): Update defn. * elf/cache.c (print_entry): Pad hwcap value with 0s in diagnostic. * elf/ldconfig.c (search_dir): Likewise.
* * sysdeps/sparc/sparc32/dl-trampoline.S: New file.Roland McGrath2005-04-051-0/+12
| | | | | | | | | | | | | | | | * sysdeps/sparc/sparc32/dl-machine.h: Move PLT trampolines there. Use RESOLVE_MAP instead of RESOLVE to protect relocation code. (elf_machine_runtime_setup): Test for dl_profile non-null. * sysdeps/sparc/sparc64/dl-trampoline.S: New file. (ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): New. * sysdeps/sparc/sparc64/dl-machine.h: Move PLT trampolines there. Use RESOLVE_MAP instead of RESOLVE to protect relocation code. (elf_machine_runtime_setup): Test for dl_profile non-null. * sysdeps/sparc/bits/link.h: New file. * sysdeps/generic/ldsodefs.h (La_sparc32_regs, La_sparc32_retval, La_sparc64_regs, La_sparc64_retval): New. (struct audit_ifaces): Add sparc entries. * elf/tst-auditmod1.c: Add sparc entries.
* * elf/dl-load.c: Don't include dl-osinfo.h here.Roland McGrath2005-03-301-1/+0
|
* [BZ #783]Andreas Jaeger2005-03-281-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-03-28 Daniel Jacobowitz <dan@codesourcery.com> [BZ #783] * elf/tst-auditmod1.c: Add MIPS support. * sysdeps/generic/ldsodefs.h (La_mips_32_regs): New. (La_mips_32_retval): New. (La_mips_64_regs): New. (La_mips_64_retval): New. (struct audit_ifaces): Add MIPS entries. * sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE. (elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE, ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS, ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c. (RTLD_START): Align the stack before calling _dl_init_internal. Use .ent for _dl_start_user. (ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define. (elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel) (elf_machine_runtime_setup): Use "auto inline". (elf_machine_rela, elf_machine_rela_relative): Provide empty versions. (elf_machine_got_rel): Likewise. Use RESOLVE_MAP. * sysdeps/mips/dl-trampoline.c: New file. * sysdeps/mips/bits/link.h: New file. * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (internal_syscall5): Use register operands instead of non-lvalue memory operands. (internal_syscall6): Likewise. (internal_syscall7): Likewise. 2005-03-28 Daniel Jacobowitz <dan@codesourcery.com> [BZ #783] * elf/tst-auditmod1.c: Add MIPS support. * sysdeps/generic/ldsodefs.h (La_mips_32_regs): New. (La_mips_32_retval): New. (La_mips_64_regs): New. (La_mips_64_retval): New. (struct audit_ifaces): Add MIPS entries. * sysdeps/mips/dl-machine.h: Check RESOLVE_MAP instead of RESOLVE. (elf_machine_runtime_link_map, ELF_DL_FRAME_SIZE, ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS, ELF_MACHINE_RUNTIME_TRAMPOLINE): Move to dl-trampoline.c. (RTLD_START): Align the stack before calling _dl_init_internal. Use .ent for _dl_start_user. (ARCH_LA_PLTENTER, ARCH_LA_PLTEXIT): Define. (elf_machine_rel, elf_machine_rel_relative, elf_machine_lazy_rel) (elf_machine_runtime_setup): Use "auto inline". (elf_machine_rela, elf_machine_rela_relative): Provide empty versions. (elf_machine_got_rel): Likewise. Use RESOLVE_MAP. * sysdeps/mips/dl-trampoline.c: New file. * sysdeps/mips/bits/link.h: New file. * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (internal_syscall5): Use register operands instead of non-lvalue memory operands. (internal_syscall6): Likewise. (internal_syscall7): Likewise.
* 2005-03-27 Daniel Jacobowitz <dan@codesourcery.com>Roland McGrath2005-03-271-1/+1
| | | | * elf/tls-macros.h: Correct typo.
* 2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>Roland McGrath2005-03-221-0/+4
| | | | * elf/elf.h (PT_ARM_EXIDX): New macro.
* [BZ #786]Ulrich Drepper2005-03-205-5/+64
| | | | | | | | | | | | | | | 2005-03-15 Jakub Jelinek <jakub@redhat.com> [BZ #786] * sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Handle GL(dl_tls_static_nelem) == GL(dl_tls_max_dtv_idx). * elf/Makefile: Add rules to build and run tst-tls15. * elf/tst-tls15.c: New test. * elf/tst-tlsmod15a.c: New file. * elf/tst-tlsmod15b.c: New file. 2005-03-20 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c (dl_main): Always call init_tls if we have audit modules.
* * elf/dl-open.c (dl_open_worker): Fix typo.Ulrich Drepper2005-03-201-0/+2
|
* * elf/dl-lookup.c (add_dependency): Always search l_initfini ifUlrich Drepper2005-03-191-1/+1
| | | | the list exists.
* * elf/Makefile: Add rules to build and run order2.Ulrich Drepper2005-03-196-3/+119
| | | | | | | | * elf/order2.c: New file. * elf/order2mod1.c: New file. * elf/order2mod2.c: New file. * elf/order2mod3.c: New file. * elf/order2mod4.c: New file.
* * elf/dl-open.c (dl_open_worker): Print exact l_direct_opencount value,Ulrich Drepper2005-03-191-1/+1
| | | | it has been incremented before.
* * elf/dl-fini.c (_dl_fini): Split sorting of the maps in separateUlrich Drepper2005-03-192-103/+138
| | | | | | | | function _dl_sort_fini. (_dl_sort_fini): New function. * sysdeps/generic/ldsodefs.h: Declare _dl_sort_fini. * elf/dl-close.c (_dl_close): Call _dl_sort_fini before running destructors to call them in the right order.
* * include/link.h (struct link_map): Remove l_opencount. Add l_removed.Ulrich Drepper2005-03-1817-418/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change type of l_idx to int. * elf/dl-close.c: Basically rewrite. Do not use l_opencount to determine whether a DSO has to be unloaded. Instead compute this in this function. * elf/dl-deps.c: No need to manipulate l_opencount anymore. * elf/dl-lookup.c: Likewise. * elf/rtld.c: Likewise * elf/dl-open.c: Likewise. Use l_init_called to determine whether object was just loaded. * elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount. * elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which is about to be unloaded as a match. (_dl_map_object): Likewise. * elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about to be unloaded. * elf/circleload1.c: Don't use l_opencount anymore. * elf/neededtest.c: Likewise. * elf/neededtest2.c: Likewise. * elf/neededtest3.c: Likewise. * elf/neededtest4.c: Likewise. * elf/unload.c: Likewise. * elf/unload2.c: Likewise. * elf/loadtest.c: Likewise. * elf/rtld.c: Preloading errors are now never fatal. 2005-03-08 Jakub Jelinek <jakub@redhat.com> * elf/Makefile: Add rules to build and run unload5 test. * elf/unload5.c: New file. 2005-03-08 Jakub Jelinek <jakub@redhat.com> * elf/Makefile: Add rules to build and run unload4 test. * elf/unload4.c: New file. * elf/unload4mod1.c: New file. * elf/unload4mod2.c: New file. * elf/unload4mod3.c: New file. * elf/unload4mod4.c: New file.
* Test cases for correct unloading.Ulrich Drepper2005-03-186-0/+140
|