Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2011-07-01 | fix dlopen UB due to longjmp/volatile rules violation | Rich Felker | 1 | -1/+1 | |
2011-06-30 | simple rpath support (no token expansion yet) for dynamic linker | Rich Felker | 1 | -2/+8 | |
2011-06-29 | textrel support, cheap and ugly | Rich Felker | 1 | -0/+5 | |
2011-06-28 | reclaim the memory wasted by dynamic linking for use by malloc | Rich Felker | 1 | -0/+39 | |
2011-06-28 | use load address from elf header if possible | Rich Felker | 1 | -1/+1 | |
this is mostly useless for shared libs (though it could help for prelink-like purposes); the intended use case is for adding support for calling the dynamic linker directly to run a program, as in: ./libc.so ./a.out foo this usage is not yet supported. | |||||
2011-06-28 | make dynamic linker relocate the main program image last, after all libs | Rich Felker | 1 | -0/+1 | |
prior to this change, copy relocations for initialized pointer variables would not reflect the relocated contents of the pointer. | |||||
2011-06-26 | fix stale pointer issue in dynamic linker with dlopen | Rich Felker | 1 | -0/+1 | |
2011-06-26 | don't leave the lock held on dlopen failure.. | Rich Felker | 1 | -2/+2 | |
2011-06-26 | add RTLD_DEFAULT support | Rich Felker | 1 | -1/+2 | |
2011-06-26 | in dlopen: don't use null pointer | Rich Felker | 1 | -3/+3 | |
deps can be null if a library has no dependencies (such as libc itself) | |||||
2011-06-26 | fix resolving symbols in objects loaded in RTLD_LOCAL mode | Rich Felker | 1 | -0/+11 | |
basically we temporarily make the library and all its dependencies part of the global namespace but only for the duration of performing relocations, then return them to their former state. | |||||
2011-06-26 | experimental dlopen/dlsym and dynlink changes needed to support them | Rich Felker | 1 | -8/+125 | |
2011-06-26 | error handling in dynamic linking | Rich Felker | 1 | -2/+19 | |
some of the code is not yet used, and is in preparation for dlopen which needs to be able to handle failure loading libraries without terminating the program. | |||||
2011-06-25 | fix some symbol resolution issues in dynamic linker | Rich Felker | 1 | -4/+4 | |
1. search was wrongly beginning with lib itself rather than dso head 2. inconsistent resolution of function pointers for functions in plt | |||||
2011-06-25 | handle library paths better (ignore empty path components, etc.) | Rich Felker | 1 | -3/+5 | |
2011-06-25 | fix possible (questionable) strict aliasing violations and ptr arith | Rich Felker | 1 | -3/+3 | |
2011-06-25 | proper path searching for dynamic linker | Rich Felker | 1 | -14/+38 | |
first, use $LD_LIBRARY_PATH unless suid. if that fails, read path from /etc/ld-musl-$ARCH.path and fallback to a builtin default. | |||||
2011-06-25 | discard dso descriptors after performing relocations | Rich Felker | 1 | -0/+12 | |
eventually (once dlopen exists) this behavior will be conditional on dlopen/dlsym not being reachable. | |||||
2011-06-25 | keep track of which dsos have been relocated | Rich Felker | 1 | -0/+1 | |
2011-06-23 | prepare support for LD_LIBRARY_PATH (checking suid/sgid safety) | Rich Felker | 1 | -0/+6 | |
the use of this test will be much stricter than glibc and other typical implementations; the environment will not be honored whatsoever unless the program is confirmed non-suid/sgid by the aux vector the kernel passed in. no fallback to slow syscall-based checking is used if the kernel fails to provide the information; we simply assume the worst (suid) in this case and refuse to honor environment. | |||||
2011-06-18 | dynamic linker 64bit fix: hash table entries are always 32bit | Rich Felker | 1 | -2/+2 | |
2011-06-18 | experimental dynamic linker! | Rich Felker | 1 | -0/+385 | |
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 |