summaryrefslogtreecommitdiff
path: root/src/ldso/x86_64/start.s
AgeCommit message (Collapse)AuthorFilesLines
2014-06-20rename dynamic linker entry point from _start to _dlstartRich Felker1-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.
2012-05-27add ldd and main program loading support to dynamic linkerRich Felker1-0/+8
2012-05-27cleanup dynamic linker start code cruftRich Felker1-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-06-19x86_64: ensure that dtor pointer passed to app is 0 so it won't be usedRich Felker1-0/+1
leaving it uninitialized caused unpredictable crashes or worse due to calling an indeterminate function pointer.
2011-06-18experimental dynamic linker!Rich Felker1-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