about summary refs log tree commit diff
path: root/src/ldso
Commit message (Collapse)AuthorAgeFilesLines
...
* make ldso asm more uniform with rest of codebase (no unnecessary suffixes)Rich Felker2011-06-191-12/+12
|
* 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.
* dynamic linker 64bit fix: hash table entries are always 32bitRich Felker2011-06-181-2/+2
|
* experimental dynamic linker!Rich Felker2011-06-183-0/+412
| | | | | | | | 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
* various changes in preparation for dynamic linking supportRich Felker2011-02-241-0/+8
prefer using visibility=hidden for __libc internal data, rather than an accessor function, if the compiler has visibility. optimize with -O3 for PIC targets (shared library). without heavy inlining, reloading the GOT register in small functions kills performance. 20-30% size increase for a single libc.so is not a big deal, compared to comparaible size increase in every static binaries. use -Bsymbolic-functions, not -Bsymbolic. global variables are subject to COPY relocations, and thus binding their addresses in the library at link time will cause library functions to read the wrong (original) copies instead of the copies made in the main program's bss section. add entry point, _start, for dynamic linker.