Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2011-06-28 | release notes for 0.7.11v0.7.11 | Rich Felker | 1 | -0/+22 | |
2011-06-28 | reclaim the memory wasted by dynamic linking for use by malloc | Rich Felker | 1 | -0/+39 | |
2011-06-28 | use type directives for fenv asm functions | Rich Felker | 2 | -0/+14 | |
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-28 | fix a few bugs from last dynamic linking build system commit | Rich Felker | 1 | -2/+2 | |
some cruft was left and DESTDIR was not being used correctly. | |||||
2011-06-27 | minor updates to INSTALL documentation | Rich Felker | 1 | -0/+10 | |
2011-06-27 | cleanup shared library build system to be more $HOME-local-install friendly | Rich Felker | 3 | -16/+21 | |
the path for the dynamic linker is now configurable, and failure to install the symlink for it will not stop the build. | |||||
2011-06-27 | further fixup dlfcn.h | Rich Felker | 1 | -4/+10 | |
2011-06-27 | match LSB/glibc constants for dynamic loader | Rich Felker | 1 | -4/+4 | |
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 | type directives for x86_64 math asm | Rich Felker | 2 | -0/+2 | |
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-26 | fix useless use of potentially-uninitialized mode variable in sem_open | Rich Felker | 1 | -1/+1 | |
2011-06-26 | eliminate OOB array hacks in malloc | Rich Felker | 1 | -46/+45 | |
2011-06-26 | use .type directives for math asm (needed for dynamic linking to work) | Rich Felker | 15 | -0/+26 | |
2011-06-25 | fix some symbol resolution issues in dynamic linker | Rich Felker | 3 | -4/+6 | |
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 | fix dynamic linker issue in musl-gcc wrapper | Rich Felker | 1 | -1/+1 | |
2011-06-25 | wordexp cannot use we_offs unless WRDE_DOOFFS flag is set | Rich Felker | 1 | -1/+2 | |
previously, a potentially-indeterminate value from we_offs was being used, resulting in wrong we_wordc and subsequent crashes in the caller. | |||||
2011-06-25 | XSI search.h API implementation by Szabolcs Nagy | Rich Felker | 6 | -4/+392 | |
2011-06-25 | handle library paths better (ignore empty path components, etc.) | Rich Felker | 1 | -3/+5 | |
2011-06-25 | move all limits that don't vary out of bits/limits.h, into main limits.h | Rich Felker | 3 | -53/+24 | |
2011-06-25 | fix possible (questionable) strict aliasing violations and ptr arith | Rich Felker | 1 | -3/+3 | |
2011-06-25 | const correctness in mq_notify | Rich Felker | 1 | -1/+1 | |
why did gcc allow this invalid assignment to compile in the first place? | |||||
2011-06-25 | proper path searching for dynamic linker | Rich Felker | 3 | -14/+42 | |
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 | optimize opendir using O_CLOEXEC | Rich Felker | 1 | -2/+1 | |
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-24 | use soname in ld-musl.so to prevent filename appearing in DT_NEEDEDs | Rich Felker | 1 | -1/+1 | |
2011-06-24 | use symlink rather than bogus linker script for libc.so | Rich Felker | 1 | -2/+2 | |
the linker script caused a bogus DT_NEEDED entry | |||||
2011-06-23 | adapt build/install/gcc-wrapper systems for dynamic linking support | Rich Felker | 3 | -9/+20 | |
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-23 | initial commit of prng implementation by Szabolcs Nagy | Rich Felker | 3 | -12/+111 | |
2011-06-19 | make ldso asm more uniform with rest of codebase (no unnecessary suffixes) | Rich Felker | 1 | -12/+12 | |
2011-06-19 | x86_64: ensure that dtor pointer passed to app is 0 so it won't be used | Rich Felker | 1 | -0/+1 | |
leaving it uninitialized caused unpredictable crashes or worse due to calling an indeterminate function pointer. | |||||
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 | 5 | -0/+466 | |
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 | |||||
2011-06-18 | fix memory leak on failure in realpath | Rich Felker | 1 | -4/+4 | |
2011-06-18 | copy-paste error in prctl.h | Rich Felker | 1 | -1/+1 | |
2011-06-16 | fix some struct padding to match LSB/glibc ABI where it may be helpful | Rich Felker | 2 | -2/+5 | |
2011-06-16 | duplicate re_nsub in LSB/glibc ABI compatible location | Rich Felker | 2 | -2/+3 | |
2011-06-14 | restore use of .type in asm, but use modern @function (vs %function) | Rich Felker | 20 | -0/+29 | |
this seems to be necessary to make the linker accept the functions in a shared library (perhaps to generate PLT entries?) strictly speaking libc-internal asm should not need it. i might clean that up later. | |||||
2011-06-14 | __syscall5 inline is having trouble with PIC; just use the function for now | Rich Felker | 1 | -0/+7 | |
2011-06-14 | fix race condition in pthread_kill | Rich Felker | 3 | -1/+8 | |
if thread id was reused by the kernel between the time pthread_kill read it from the userspace pthread_t object and the time of the tgkill syscall, a signal could be sent to the wrong thread. the tgkill syscall was supposed to prevent this race (versus the old tkill syscall) but it can't; it can only help in the case where the tid is reused in a different process, but not when the tid is reused in the same process. the only solution i can see is an extra lock to prevent threads from exiting while another thread is trying to pthread_kill them. it should be very very cheap in the non-contended case. | |||||
2011-06-14 | run dtors before taking the exit-lock in pthread exit | Rich Felker | 1 | -2/+2 | |
previously a long-running dtor could cause pthread_detach to block. |