about summary refs log tree commit diff
path: root/src/ldso/x86_64
Commit message (Collapse)AuthorAgeFilesLines
* rename dynamic linker entry point from _start to _dlstartRich Felker2014-06-201-2/+2
| | | | | | the main motivation for this change is to aid in debugging. since the main program's entry point is also named _start, it was difficult to set breakpoints or quickly identify which _start execution stopped in.
* add tlsdesc support for x86_64Rich Felker2014-06-191-0/+40
|
* add ldd and main program loading support to dynamic linkerRich Felker2012-05-271-0/+8
|
* cleanup dynamic linker start code cruftRich Felker2012-05-271-1/+0
| | | | | | | | | | | | | two actual issues: one is that __dynlink no longer wants/needs a GOT pointer argument, so the code to generate that argument can be removed. the other issue was that in the i386 code, argc/argv were being loaded into registers that would be call-clobbered, then copied to preserved registers, rather than just being loaded into the proper call-preserved registers to begin with. this cleanup is in preparation for adding new dynamic linker functionality (ability to explicitly invoke the dynamic linker to run a program).
* fix RTLD_NEXT on x86_64Rich Felker2011-09-031-1/+1
| | | | | the return address was being truncated to 32 bits, preventing the dlsym code from determining which module contains the calling code.
* RTLD_NEXT supportRich Felker2011-08-161-0/+6
| | | | | the asm wrapper is needed to get the return address without compiler-specific extensions.
* x86_64: ensure that dtor pointer passed to app is 0 so it won't be usedRich Felker2011-06-191-0/+1
| | | | | leaving it uninitialized caused unpredictable crashes or worse due to calling an indeterminate function pointer.
* experimental dynamic linker!Rich Felker2011-06-181-0/+8
some notes: - library search path is hard coded - x86_64 code is untested and may not work - dlopen/dlsym is not yet implemented - relocations in read-only memory won't work