about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* fix a few bugs from last dynamic linking build system commitRich Felker2011-06-281-2/+2
| | | | some cruft was left and DESTDIR was not being used correctly.
* minor updates to INSTALL documentationRich Felker2011-06-271-0/+10
|
* cleanup shared library build system to be more $HOME-local-install friendlyRich Felker2011-06-273-16/+21
| | | | | the path for the dynamic linker is now configurable, and failure to install the symlink for it will not stop the build.
* further fixup dlfcn.hRich Felker2011-06-271-4/+10
|
* match LSB/glibc constants for dynamic loaderRich Felker2011-06-271-4/+4
|
* fix stale pointer issue in dynamic linker with dlopenRich Felker2011-06-261-0/+1
|
* don't leave the lock held on dlopen failure..Rich Felker2011-06-261-2/+2
|
* add RTLD_DEFAULT supportRich Felker2011-06-261-1/+2
|
* in dlopen: don't use null pointerRich Felker2011-06-261-3/+3
| | | | deps can be null if a library has no dependencies (such as libc itself)
* fix resolving symbols in objects loaded in RTLD_LOCAL modeRich Felker2011-06-261-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.
* experimental dlopen/dlsym and dynlink changes needed to support themRich Felker2011-06-261-8/+125
|
* type directives for x86_64 math asmRich Felker2011-06-262-0/+2
|
* error handling in dynamic linkingRich Felker2011-06-261-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.
* fix useless use of potentially-uninitialized mode variable in sem_openRich Felker2011-06-261-1/+1
|
* eliminate OOB array hacks in mallocRich Felker2011-06-261-46/+45
|
* use .type directives for math asm (needed for dynamic linking to work)Rich Felker2011-06-2615-0/+26
|
* fix some symbol resolution issues in dynamic linkerRich Felker2011-06-253-4/+6
| | | | | 1. search was wrongly beginning with lib itself rather than dso head 2. inconsistent resolution of function pointers for functions in plt
* fix dynamic linker issue in musl-gcc wrapperRich Felker2011-06-251-1/+1
|
* wordexp cannot use we_offs unless WRDE_DOOFFS flag is setRich Felker2011-06-251-1/+2
| | | | | | previously, a potentially-indeterminate value from we_offs was being used, resulting in wrong we_wordc and subsequent crashes in the caller.
* XSI search.h API implementation by Szabolcs NagyRich Felker2011-06-256-4/+392
|
* handle library paths better (ignore empty path components, etc.)Rich Felker2011-06-251-3/+5
|
* move all limits that don't vary out of bits/limits.h, into main limits.hRich Felker2011-06-253-53/+24
|
* fix possible (questionable) strict aliasing violations and ptr arithRich Felker2011-06-251-3/+3
|
* const correctness in mq_notifyRich Felker2011-06-251-1/+1
| | | | why did gcc allow this invalid assignment to compile in the first place?
* proper path searching for dynamic linkerRich Felker2011-06-253-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.
* optimize opendir using O_CLOEXECRich Felker2011-06-251-2/+1
|
* discard dso descriptors after performing relocationsRich Felker2011-06-251-0/+12
| | | | | eventually (once dlopen exists) this behavior will be conditional on dlopen/dlsym not being reachable.
* keep track of which dsos have been relocatedRich Felker2011-06-251-0/+1
|
* use soname in ld-musl.so to prevent filename appearing in DT_NEEDEDsRich Felker2011-06-241-1/+1
|
* use symlink rather than bogus linker script for libc.soRich Felker2011-06-241-2/+2
| | | | the linker script caused a bogus DT_NEEDED entry
* adapt build/install/gcc-wrapper systems for dynamic linking supportRich Felker2011-06-233-9/+20
|
* prepare support for LD_LIBRARY_PATH (checking suid/sgid safety)Rich Felker2011-06-231-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.
* initial commit of prng implementation by Szabolcs NagyRich Felker2011-06-233-12/+111
|
* 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-185-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
* fix memory leak on failure in realpathRich Felker2011-06-181-4/+4
|
* copy-paste error in prctl.hRich Felker2011-06-181-1/+1
|
* fix some struct padding to match LSB/glibc ABI where it may be helpfulRich Felker2011-06-162-2/+5
|
* duplicate re_nsub in LSB/glibc ABI compatible locationRich Felker2011-06-162-2/+3
|
* restore use of .type in asm, but use modern @function (vs %function)Rich Felker2011-06-1420-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.
* __syscall5 inline is having trouble with PIC; just use the function for nowRich Felker2011-06-141-0/+7
|
* fix race condition in pthread_killRich Felker2011-06-143-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.
* run dtors before taking the exit-lock in pthread exitRich Felker2011-06-141-2/+2
| | | | previously a long-running dtor could cause pthread_detach to block.
* minor locking optimizationsRich Felker2011-06-142-2/+2
|
* avoid 64bit warnings when using pointers as entropy for temp namesRich Felker2011-06-132-2/+4
|
* fix sigset macro for 64-bit systems (<< was overflowing due to wrong type)Rich Felker2011-06-131-1/+1
|
* remove all .size and .type directives for functions from the asmRich Felker2011-06-1318-52/+0
| | | | | these are useless and have caused problems for users trying to build with non-gnu tools like tcc's assembler.
* remove old useless timezone.s file (unused)Rich Felker2011-06-131-27/+0
|