summaryrefslogtreecommitdiff
path: root/src/ldso/x86_64
AgeCommit message (Collapse)AuthorLines
2014-06-20rename dynamic linker entry point from _start to _dlstartRich Felker-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.
2014-06-19add tlsdesc support for x86_64Rich Felker-0/+40
2012-05-27add ldd and main program loading support to dynamic linkerRich Felker-0/+8
2012-05-27cleanup dynamic linker start code cruftRich Felker-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).
2011-09-03fix RTLD_NEXT on x86_64Rich Felker-1/+1
the return address was being truncated to 32 bits, preventing the dlsym code from determining which module contains the calling code.
2011-08-16RTLD_NEXT supportRich Felker-0/+6
the asm wrapper is needed to get the return address without compiler-specific extensions.
2011-06-19x86_64: ensure that dtor pointer passed to app is 0 so it won't be usedRich Felker-0/+1
leaving it uninitialized caused unpredictable crashes or worse due to calling an indeterminate function pointer.
2011-06-18experimental dynamic linker!Rich Felker-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