Alexandre Oliva
5027ae109a
* elf/dynamic-link.h (elf_machine_rel, elf_machine_rela,
...
elf_machine_rel_relative, elf_machine_rela_relative): Don't assume
reloc_addr is aligned.
* sysdeps/alpha/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela,
elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
* sysdeps/cris/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/hppa/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela,
elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
* sysdeps/ia64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/m68k/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/mips/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/powerpc/powerpc64/dl-machine.h
(elf_machine_rela_relative, elf_machine_rela): Adjust.
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative):
* sysdeps/sh/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative): Adjust.
2003-07-31 06:33:52 +00:00
Richard Henderson
48e0ec3c48
* sysdeps/alpha/dl-machine.h (RTLD_START): Fix top-of-stack backtrace.
...
* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
* sysdeps/alpha/elf/start.S: Likewise. Remove pointless allocation.
* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Use standard ldgp
entry sequence and explicit relocs. Add unwind info for sigreturn
and rt_sigreturn.
* configure.in (libc_cv_asm_cfi_directives): Test .cfi_remember_state.
* configure: Regenerate.
2003-06-06 05:54:15 +00:00
Ulrich Drepper
6e5bb2d534
(elf_machine_rela): Add instead of subtracting map->l_tls_offset.
2003-02-14 06:02:01 +00:00
Ulrich Drepper
6edfd8f2f6
(elf_machine_type_class): Add TLS relocs for class PLT.
2003-01-17 19:18:51 +00:00
Ulrich Drepper
a48dbdf044
(elf_machine_rela): Compute DTPREL64 and TPREL64 without loadbase applied.
2003-01-12 19:22:32 +00:00
Ulrich Drepper
6ad3dd03b3
(elf_machine_rela): Move CHECK_STATIC_TLS before l_tls_offset use.
2003-01-12 08:47:37 +00:00
Roland McGrath
fbd3097515
2002-11-07 Richard Henderson <rth@redhat.com>
...
* configure.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove test.
* configure: Regenerated.
* config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove #undef.
* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Use !samegp.
(RTLD_START): Likewise. Access _dl_skip_args, _rtld_local, and
_dl_fini via gp-relative relocations.
* sysdeps/alpha/fpu/e_sqrt.c: Use !samegp.
* elf/tls-macros.h: Add alpha versions.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Handle TLS relocs.
* sysdeps/unix/alpha/sysdep.S: Support USE___THREAD.
* sysdeps/unix/alpha/sysdep.h: Likewise. Add SYSCALL_ERROR_HANDLER.
* sysdeps/unix/sysv/linux/alpha/brk.S: Use it.
* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise.
2002-11-08 02:19:00 +00:00
Ulrich Drepper
d044736b27
Temporarily enable R_*_NONE relocs in ld.so.
2002-10-02 20:24:20 +00:00
Roland McGrath
21b4728e4f
2002-04-24 Roland McGrath <roland@frob.com>
...
* sysdeps/alpha/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New
macro; we need this for Hurd.
2002-04-24 18:17:02 +00:00
Ulrich Drepper
2b0a7e122e
(ELF_MACHINE_REL_RELATIVE): Define.
2002-04-06 00:33:22 +00:00
Ulrich Drepper
dca9c7304b
Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION.
2002-02-28 22:36:33 +00:00
Ulrich Drepper
88706a4c84
(elf_machine_load_address, RTLD_START): Work around an Alpha gas bug.
2002-02-27 18:10:53 +00:00
Ulrich Drepper
c577723005
(RTLD_START): Call _dl_init_internal instead of _dl_init.
2002-02-03 00:29:15 +00:00
Ulrich Drepper
f71d7f5726
Move global variables for SHARED code in struct _rtld_global. Export
...
this struct, remove all exports for the signal variables.
2002-02-01 01:32:06 +00:00
Ulrich Drepper
0a6fc182da
(elf_machine_runtime_setup): Avoid warning.
...
(TRAMPOLINE_TEMPLATE, RTLD_START): Don't use multi-line string
literals to avoid warnings.
2001-12-31 17:33:59 +00:00
Ulrich Drepper
d70bbfe3be
(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.
2001-12-12 00:10:27 +00:00
Ulrich Drepper
8755441d32
(elf_machine_load_address): Compute the difference between base address and
...
first PT_LOAD's virtual address, not the base address.
2001-09-22 21:32:57 +00:00
Ulrich Drepper
6222fd02e7
(elf_machine_rela): Remove unused code.
...
Don't add old memory content for R_ALPHA_REFQUAD.
2001-09-01 05:32:08 +00:00
Ulrich Drepper
952ec50e9e
(elf_machine_rela): Don't handle
...
R_ALPHA_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC. Only
check for rtld map if RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined.
2001-08-30 23:09:10 +00:00
Ulrich Drepper
5c6029e5c0
(elf_machine_lookup_noplt_p, elf_machine_lookup_noexec_p): Remove.
...
(elf_machine_type_class): Define.
2001-08-26 22:26:38 +00:00
Ulrich Drepper
b934c935cb
(elf_machine_rela_relative): Rename from elf_machine_rel_relative. Fix argument types.
2001-08-24 14:53:03 +00:00
Ulrich Drepper
85bdccdbd2
Define elf_machine_rel_relative. Minor optimizations.
2001-08-24 08:43:21 +00:00
Andreas Jaeger
3214b89b32
Update to LGPL v2.1.
2001-07-06 04:56:23 +00:00
Ulrich Drepper
cb8023f938
(elf_machine_rela): Don't handle relocations which are not in ld.so if
...
RTLD_BOOTSTRAP is defined.
2001-02-28 15:23:48 +00:00
Ulrich Drepper
3f95e592cb
(RTLD_START): Update _dl_argv.
2000-11-16 02:07:02 +00:00
Ulrich Drepper
f1dba30859
(elf_machine_matches_host): Parameter is now pointer to ELF header.
2000-10-20 17:04:28 +00:00
Ulrich Drepper
8da28deb78
(elf_machine_rela): Handle unaligned relocation also for R_ALPHA_RELATIVE.
2000-09-29 06:50:53 +00:00
Andreas Jaeger
4ce0ef7a86
(elf_machine_rela): Pass 0 instead of NULL to elf_machine_fixup_plt
...
t argument to silence GCC.
2000-07-18 14:14:51 +00:00
Ulrich Drepper
22fb102e6b
(elf_machine_rela) [r_type == R_ALPHA_REFQUAD]: Use memcpy to load and
...
store value from relocation address to prevent unaligned trap.
2000-07-01 05:08:03 +00:00
Andreas Jaeger
21dd216cd4
2000-05-08 Jakub Jelinek <jakub@redhat.com>
...
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Fix arguments in
call to elf_machine_fixup_plt.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
2000-05-08 15:40:26 +00:00
Ulrich Drepper
408c9db5d3
(elf_machine_fixup_plt): Change return valuie to lookup_t and return the value.
2000-05-05 07:12:09 +00:00
Ulrich Drepper
b9a57ab615
(_dl_start_user): Fix the _dl_skip_args handling.
2000-04-28 03:25:46 +00:00
Ulrich Drepper
f0824b0c78
(RTLD_START):Rewrite for new init function interface.
2000-04-15 16:53:23 +00:00
Ulrich Drepper
7189e3b807
Use D_PTR to access relocated entries in l_info.
2000-03-31 05:16:19 +00:00
Ulrich Drepper
e9290bfa08
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Use a C comment, not an assembly comment.
2000-03-26 20:29:55 +00:00
Roland McGrath
893f3d106f
1999-07-21 Roland McGrath <roland@baalperazim.frob.com>
...
* elf/dl-reloc.c (_dl_reloc_bad_type): New function.
* elf/ldsodefs.h: Declare it.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Use it
instead of assert.
(elf_machine_lazy_rel): Likewise. Take new arg MAP.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
(elf_machine_lazy_rel): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_rel): Likewise.
(elf_machine_lazy_rel): Likewise.
* sysdeps/mips/mips64/dl-machine.h (elf_machine_rel): Likewise.
(elf_machine_lazy_rel): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
(elf_machine_lazy_rel): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
(elf_machine_lazy_rel): Likewise.
* sysdeps/generic/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise.
(elf_machine_lazy_rel): Likewise.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
(elf_machine_lazy_rel): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_lazy_rel): Likewise.
* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Use
_dl_reloc_bad_type instead of _dl_signal_error.
* elf/do-rel.h (elf_dynamic_do_rel): Pass MAP to elf_machine_lazy_rel.
1999-07-21 16:57:52 +00:00
Ulrich Drepper
e675032fec
(elf_machine_runtime_setup): DT_PLTGOT entry is already relocated.
1999-02-20 18:22:38 +00:00
Ulrich Drepper
3e3649f6e2
(elf_machine_fixup_plt): DT_JMPREL and DT_PLTGOT entries are already
...
relocated.
(elf_machine_rela): Likewise for DT_SYMTAB.
1999-02-20 14:56:45 +00:00
Ulrich Drepper
4fb65d7fc7
(TRAMPOLINE_TEMPLATE): Save and restore all call-clobbered fp regs.
1999-02-08 10:02:37 +00:00
Richard Henderson
831f9aedc4
* sysdeps/alpha/dl-machine.h (_dl_start_user): Pass pointer to
...
_dl_main_searchlist not _dl_default_scope to _dl_init_next.
* sysdeps/sparc/sparc32/dl-machine.h (_dl_start_user): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (_dl_start_user): Likewise.
1998-09-11 13:48:14 +00:00
Ulrich Drepper
68d11b268e
(elf_machine_lazy_rel): Change first parameter and use this value.
1998-08-28 22:54:12 +00:00
Ulrich Drepper
ca246d7eef
(elf_machine_runtime_setup): Only set _dl_profile_map if _dl_name_match_p.
...
(RTLD_START): Fix .prologue. Set __libc_stack_end.
1998-06-27 09:50:59 +00:00
Richard Henderson
18a702a8a3
* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Move declaration
...
of the trampoline function into the macro.
* sysdeps/unix/sysv/linux/alpha/clone.S: Fix ldgp for PROF.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Revert last change;
kernel 2.1.82 has this fixed.
* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: New file.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: New file.
1998-01-26 22:04:53 +00:00
Ulrich Drepper
9ba537d289
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Remove the 3rd arg and add
...
declaration for _dl_runtime_resolve and _dl_runtime_profile.
1998-01-25 03:51:19 +00:00
Ulrich Drepper
49f3765caf
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Add missing parameters.
1997-12-14 21:53:11 +00:00
Ulrich Drepper
2e67c045f2
(_dl_runtime_resolve): Care for prefix.
...
(_start): Likewise.
1997-12-08 02:50:09 +00:00
Ulrich Drepper
0fc15eae49
(elf_machine_plt_value): New function.
1997-10-12 03:40:09 +00:00
Ulrich Drepper
a8e5f5a44c
(ELF_MACHINE_RELOC_NOPLT): Renamed.
...
(elf_alpha_fix_plt): Renamed elf_machine_fixup_plt.
1997-09-27 00:19:38 +00:00
Ulrich Drepper
c0d5b73e05
(RTLD_START): Switch back to previous section to avoid confusing the
...
compiler.
1997-08-27 19:58:41 +00:00
Ulrich Drepper
2ed7206696
(elf_machine_runtime_setup): Add new parameter to enable profiling.
...
(elf_machine_rela): Add new parameter to
1997-07-28 22:06:27 +00:00