History log of /src/libexec/ld.elf_so/arch/alpha/rtld_start.S |
Revision | | Date | Author | Comments |
1.17 |
| 18-Apr-2025 |
riastradh | ld.elf_so on alpha: Add support for secureplt.
ok thorpej
PR port-alpha/57511: ld.elf_so(1) does not support secure PLT for alpha PR port-alpha/57717: Alpha linker generates LOAD segments (and generates warnings about them)
|
1.16 |
| 18-Feb-2004 |
enami | Salvage the instruction to save the pointer to ps_strings for later use so that setproctitle() works again. The problem reported by Naoki Fukaumi on japanese mailing list.
Approved by: Ross Harvey
|
1.15 |
| 05-Oct-2002 |
mycroft | Minor cleanup.
|
1.14 |
| 12-Sep-2002 |
mycroft | Update comments.
|
1.13 |
| 12-Sep-2002 |
mycroft | Pass the calculated relocation offset down to _rtld().
|
1.12 |
| 11-Sep-2002 |
mycroft | We don't use _GLOBAL_OFFSET_TABLE_ any more, so don't .global it.
|
1.11 |
| 11-Sep-2002 |
mycroft | Implement _rtld_relocate_nonplt_self() on Alpha.
|
1.10 |
| 08-Sep-2002 |
thorpej | Fix a serious performance problem for large programs on the Alpha.
Large programs need multiple GOTs. The lazy binding stub in the PLT can be reached from any of these GOTs, but the dynamic linker only has enough information to fix up the first GOT entry. Thus, calls through the other GOTs went through the time-consuming lazy binding process on every call.
This fix rewrites the PLT entries themselves to bypass the lazy binding for those GOT entries that the dynamic linker can't fixup.
Fix from FreeBSD.
Note that now that we patch up the PLT, we need to put back the "imb" that was removed from the binder exit path.
|
1.9 |
| 04-Sep-2002 |
mycroft | There is no need to do an imb after each call to the binder, because we only patch the GOT, not the PLT. However, do an imb when setting up the PLT thunk, just in case.
|
1.8 |
| 14-Dec-2001 |
thorpej | branches: 1.8.2; Garbage-collect the OLD_GOT stuff.
|
1.7 |
| 13-Dec-2001 |
thorpej | Supply two lazy binding routines for Alpha: one that works with the old PLT format, and one that works with the new.
XXX We currently always use _rtld_bind_start_old() in _rtld_setup_alpha_pltgot(). We need to add code to peek into one of the PLT entries to see which format it's in and pick the correct binding routine.
|
1.6 |
| 13-Dec-2001 |
thorpej | Use numeric labels.
|
1.5 |
| 13-Dec-2001 |
thorpej | * Add a linker script which provides a _GOT_END_ symbol that we can use to find the end of the GOT, rather than relying on _DYNAMIC to immediately follow the GOT. (A change in current binutils moved _DYNAMIC, and thus would have broken our Alpha ld.elf_so). * Add #ifdef'd out code to deal with the new PLT format.
|
1.4 |
| 28-May-2001 |
nathanw | Correct spelling in a comment.
|
1.3 |
| 19-Apr-1999 |
thorpej | branches: 1.3.8; Simplify _rtld_start() a little, and shave some cycles. Spefically, there's no need to save the stack pointer. Just push the space for the cleanup and obj_main pointers before calling _rtld(), and pop it after loading those pointers into the appropriate argument registers for the program entry point.
|
1.2 |
| 18-Apr-1999 |
thorpej | Tidy this up a little.
|
1.1 |
| 16-Dec-1996 |
cgd | First cut at an ELF shared loader. Originally from John Polstra's FreeBSD elf kit, then hacked on by Matt Thomas <matt@3am-software.com>, then by me (to make it work with new versions of the toolchain, etc.). This runs, but it's in serious need of cleaning and/or a fair bit of reworking. See the README file for more information, and a list of things to do.
|
1.3.8.1 |
| 09-Dec-2001 |
he | Pull up revision 1.4 (requested by skrll): Add init/fini section support in crtbegin and crtend, and introduce support for DWARF2 exception handling. Fixes PR#12865, PR#13488, PR#13489, and PR#13491. Also fix ld.elf_so to deal appropriately.
|
1.8.2.2 |
| 28-May-2004 |
tron | Apply patch (request by skrll in ticket #1702): Bring "ld.elf_so" (mostly) in sync with NetBSD-current: - MI and MD (e.g. under NetBSD-alpha) performance improvements - RTLD_SELF, RTLD_NEXT, RTLD_DEFAULT support - much better structured code - closes PR bin/25464
|
1.8.2.1 |
| 30-Nov-2002 |
he | Pull up revision 1.9 (requested by thorpej in ticket #774): There is no need to do an imb after each call to the binder, because we only patch the GOT, not the PLT. However, do an imb when setting up the PLT thunk, just in case.
|