Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | implement the remaining clock_* interfaces | Rich Felker | 2011-02-19 | 5 | -0/+36 |
| | |||||
* | race condition fix: block all signals before decrementing thread count | Rich Felker | 2011-02-19 | 3 | -22/+2 |
| | | | | | | | | | | | | the existence of a (kernelspace) thread must never have observable effects after the thread count is decremented. if signals are not blocked, it could end up handling the signal for rsyscall and contributing towards the count of threads which have changed ids, causing a thread to be missed. this could lead to one thread retaining unwanted privilege level. this change may also address other subtle race conditions in application code that uses signals. | ||||
* | prevent sigprocmask/pthread_sigmask from blocking implementation signals | Rich Felker | 2011-02-19 | 1 | -3/+5 |
| | | | | | | this code was wrongly disabled because the old version was trying to be too clever and didn't work. replaced it with a simple version for now. | ||||
* | make pthread_exit run dtors for last thread, wait to decrement thread count | Rich Felker | 2011-02-19 | 1 | -3/+3 |
| | |||||
* | make mktemp match the historic behavior, and update functions that use it | Rich Felker | 2011-02-19 | 3 | -5/+8 |
| | | | | | | the historic mktemp is supposed to blank the template string on failure, rather than returning 0. just zero the first character so that mkstemp and mkdtemp can still retry with O(1) space requirement. | ||||
* | fix major bug created from copying mkdtemp logic | Rich Felker | 2011-02-19 | 1 | -1/+1 |
| | |||||
* | add syscall wrappers for inotify | Rich Felker | 2011-02-19 | 5 | -0/+83 |
| | |||||
* | cleanup cruft left from when kernel and user time_t disagreed | Rich Felker | 2011-02-19 | 2 | -12/+3 |
| | |||||
* | prototype wait3 and wait4 | Rich Felker | 2011-02-19 | 2 | -3/+6 |
| | |||||
* | add missing WIFCONTINUED macro and improve WIFSIGNALED | Rich Felker | 2011-02-19 | 2 | -2/+4 |
| | |||||
* | prototypes for brk and sbrk | Rich Felker | 2011-02-19 | 1 | -0/+2 |
| | |||||
* | support the ugly and deprecated ucontext and sigcontext header stuff... | Rich Felker | 2011-02-18 | 3 | -20/+69 |
| | | | | | | | | | | | | | | only the structures, not the functions from ucontext.h, are supported at this point. the main goal of this commit is to make modern gcc with dwarf2 unwinding build without errors. honestly, it probably doesn't matter how we define these as long as they have members with the right names to prevent errors while compiling libgcc. the only time they will be used is for propagating exceptions across signal-handler boundaries, which invokes undefined behavior anyway. but as-is, they're probably correct and may be useful to various low-level applications dealing with virtualization, jit code generation, and so on... | ||||
* | add pthread_atfork interface | Rich Felker | 2011-02-18 | 4 | -3/+57 |
| | | | | | | | | | note that this presently does not handle consistency of the libc's own global state during forking. as per POSIX 2008, if the parent process was threaded, the child process may only call async-signal-safe functions until one of the exec-family functions is called, so the current behavior is believed to be conformant even if non-ideal. it may be improved at some later time. | ||||
* | major improvements to temp file name generator | Rich Felker | 2011-02-18 | 3 | -16/+21 |
| | | | | | | | | use current time in nanoseconds and some potentially-random (if aslr is enabled) pointer values for the initial tempfile name generation, and step via a cheap linear prng on collisions. limit the number of retry attempts to prevent denial of service attacks even if an attacker can guess the filenames. | ||||
* | reformat mkstemp like mkdtemp | Rich Felker | 2011-02-18 | 1 | -7/+5 |
| | | | | | this is cleaner and makes it easy to impose a limit on the number of retries later if it seems desirable to do so. | ||||
* | add portable lchown (trivial to support and a few ancient things want it..) | Rich Felker | 2011-02-17 | 2 | -0/+10 |
| | |||||
* | prepare WHATSNEW for release v0.6.0 | Rich Felker | 2011-02-17 | 1 | -1/+1 |
| | |||||
* | document in config.mak sample that x86_64 is supported | Rich Felker | 2011-02-17 | 1 | -1/+1 |
| | |||||
* | update WHATSNEW in preparation for release | Rich Felker | 2011-02-17 | 1 | -2/+9 |
| | |||||
* | avoid deleting the lib/empty file | Rich Felker | 2011-02-17 | 1 | -1/+1 |
| | |||||
* | reorganize pthread data structures and move the definitions to alltypes.h | Rich Felker | 2011-02-17 | 28 | -128/+158 |
| | | | | | | | | this allows sys/types.h to provide the pthread types, as required by POSIX. this design also facilitates forcing ABI-compatible sizes in the arch-specific alltypes.h, while eliminating the need for developers changing the internals of the pthread types to poke around with arch-specific headers they may not be able to test. | ||||
* | new solution for empty lib dir (old one had some problems) | Rich Felker | 2011-02-17 | 2 | -7/+5 |
| | |||||
* | improve Makefile handling of git checkouts with missing lib/ and config.mak | Rich Felker | 2011-02-17 | 1 | -4/+8 |
| | |||||
* | make daemon try the operations that might fail before fork rather than after | Rich Felker | 2011-02-17 | 1 | -12/+10 |
| | |||||
* | daemon should check for failures and return -1 | Rich Felker | 2011-02-17 | 1 | -5/+8 |
| | |||||
* | don't compare elements with themselves during qsort. | Rich Felker | 2011-02-17 | 1 | -1/+1 |
| | | | | | this is actually a workaround for a bug in gcc, whereby it asserts inequality of the keys being compared... | ||||
* | ucontext is no longer in the standard, so use gnu-friendly struct name | Rich Felker | 2011-02-16 | 1 | -2/+2 |
| | | | | | note that this header is still bogus and needs a lot of work and factoring into arch-dependent parts... | ||||
* | some gnu software wrongly uses "struct siginfo" instead of siginfo_t... | Rich Felker | 2011-02-16 | 1 | -0/+1 |
| | |||||
* | add to pthread.h: pthread_mutex_timedlock and sched.h, time.h | Rich Felker | 2011-02-16 | 1 | -1/+3 |
| | |||||
* | fix printf %n specifier - missing breaks had it clobbering memory | Rich Felker | 2011-02-16 | 1 | -7/+7 |
| | |||||
* | patch by njk, simplifies thread register initialization for x86_64 | Rich Felker | 2011-02-16 | 1 | -4/+0 |
| | | | | | It's not necessary to save any registers on the stack across syscall in x86_64 __set_thread_area. Don't waste cycles or bytes on it. | ||||
* | patch from njk: make x86_64 __uniclone branchless. | Rich Felker | 2011-02-16 | 1 | -6/+6 |
| | |||||
* | fix compile failure: legacy cuserid needs to define feature test | Rich Felker | 2011-02-16 | 1 | -0/+1 |
| | |||||
* | move stdio stuff that's not arch-specific out of bits | Rich Felker | 2011-02-15 | 3 | -28/+9 |
| | |||||
* | protect some limit constants with feature test macros on x86_64 | Rich Felker | 2011-02-15 | 1 | -1/+3 |
| | |||||
* | fix the types of some integer constant limits in headers | Rich Felker | 2011-02-15 | 3 | -5/+5 |
| | |||||
* | fix missing EXIT_* in stdlib.h after header cleanup | Rich Felker | 2011-02-15 | 1 | -3/+3 |
| | |||||
* | feature test support in unistd.h | Rich Felker | 2011-02-15 | 1 | -23/+27 |
| | |||||
* | fix directory reading on x86_64 | Rich Felker | 2011-02-15 | 1 | -0/+2 |
| | |||||
* | prototype for gnu strcasestr (currently a stub) | Rich Felker | 2011-02-15 | 1 | -0/+1 |
| | |||||
* | fix x86_64 wrongly reporting itself as ILP32 instead of LP64 | Rich Felker | 2011-02-15 | 1 | -2/+2 |
| | |||||
* | news for upcoming release | Rich Felker | 2011-02-15 | 1 | -0/+8 |
| | |||||
* | fix another error from header cleanup, missing size_t in time.h | Rich Felker | 2011-02-15 | 1 | -1/+1 |
| | |||||
* | fix broken signal.h from header cleanup | Rich Felker | 2011-02-15 | 1 | -2/+2 |
| | |||||
* | some docs fixes for x86_64 | Rich Felker | 2011-02-15 | 2 | -6/+6 |
| | |||||
* | remove standalone syscall cruft | Rich Felker | 2011-02-15 | 12 | -32/+2 |
| | | | | | | | | | | | this was originally written for an early draft of the library where non-standard functions would reside in a static library separate from the shared libc.so, which would implement a pure standard. the idea was not to depend on an implementation-dependent __syscall_ret function in the main libc. but it turned out to be better to put everything in a single library for both static and dynamic linking uses, and thus the (incomplete) remnants of this feature were just enlarging the source and binary. | ||||
* | fix some type leakage (timer_t) from x86_64 commit | Rich Felker | 2011-02-15 | 4 | -4/+3 |
| | |||||
* | Optimize x86_64 atomics to take advantage of 64-bitness. | Nicholas J. Kain | 2011-02-15 | 1 | -9/+8 |
| | |||||
* | Remove __syscall_lseek from x86_64 syscall.h. | Nicholas J. Kain | 2011-02-15 | 1 | -8/+0 |
| | |||||
* | Update x86_64 bits to mirror (modulo platform differences) the latest changes | Nicholas J. Kain | 2011-02-15 | 5 | -15/+20 |
| | | | | to i386. |