Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1 |
|
#
fcaa7a3a |
| 02-Nov-2017 |
Matthew Dillon <dillon@apollo.backplane.com> |
libthread_xu - Fix rtld and refactor locks
* Add a separate atfork facility for internal pthread atfork entities (sem and rtld) which must execute after all user atfork entities pre-fork and bef
libthread_xu - Fix rtld and refactor locks
* Add a separate atfork facility for internal pthread atfork entities (sem and rtld) which must execute after all user atfork entities pre-fork and before all user atfork entities post-fork.
* Install an atfork handler for rtld-elf (also requires rtld-elf to be updated). The handler will ensure that RTLD locks are in a sane state prior to fork (by acquiring them), and will then release the locks post-fork. This is the primary fix for lang/rust and cargo.
Also do not issue _thr_rtld_fini() when threading drops to 0. Once threading has been set, rtld's pthread locks remain installed.
* Refactor thr_cond.c. Refactor condition variables to perform according to the spec. Use a TAILQ to make pthread_cond_signal() work exactly as described in the manual (that is, waking up only one waiter at a time).
* Refactor thr_mutex.c. Primary instrument for debugging and clean up. Also deal with improper EINTR handling.
* Refactor thr_fork.c. Implement the new atfork facility for internal atfork handlers.
* Refactor thr_rwlock.c. Add debugging, cleanup.
* thr_sem.c now uses the internal atfork handler to ensure proper ordering.
* thr_sig.c implements debugging features.
* Refactor thr_umtx.c... the low level mutex code. Store the id for additonal verification and use an atomic lock to clear the lock instead of an assignment. Properly ignore EINTR.
* Cleanup init_private() a bit.
* Add PTHREADS_DEBUGGING=TRUE and PTHREADS_DEBUGGING2=TRUE make flags. The first writes out a garbage file in /tmp for all locking operations as they occur. The second is used for point debugging and writes out a file when signal 63 is sent to the program.
* Add cpu_ccfence() in various places that might need it (a hack for the moment, userland cannot currently #include "machine/cpufunc.h").
* Should fix lang/rust and 'cargo'
show more ...
|
Revision tags: v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1 |
|
#
16fb9086 |
| 02-Apr-2017 |
Imre Vadász <imre@vdsz.com> |
libc/libpthread: Inject threadsafe locking callbacks for rtld.
* Make rtld thread-safe. Add lib/libthread_xu/thread/thr_rtld.c to the build and use it to inject pthread based locking callbacks f
libc/libpthread: Inject threadsafe locking callbacks for rtld.
* Make rtld thread-safe. Add lib/libthread_xu/thread/thr_rtld.c to the build and use it to inject pthread based locking callbacks for rtld.
* In rtld_lock.c, do the thread_mask_clear(lock->mask); after releasing the actual lock, to avoid deadlocks when rtld is called recursively from the pthread locking callbacks. XXX An alternative solution for this issue would be, to flag the libpthread dynamic library as bind_now to avoid the recursive rtld calls.
show more ...
|
Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1 |
|
#
697e5645 |
| 12-Oct-2016 |
zrj <rimvydas.jasinskas@gmail.com> |
LTO: Prevent -flto being used in main system libraries.
There are subtle ways it can get broken specially in libc and libm. (-plugin-opt=-pass-through=-lc) Both libpthread.a and rtld-elf could have
LTO: Prevent -flto being used in main system libraries.
There are subtle ways it can get broken specially in libc and libm. (-plugin-opt=-pass-through=-lc) Both libpthread.a and rtld-elf could have use of LTO but it is safer for now not to expose internals. (affects only static libs)
show more ...
|
#
467ee1bb |
| 19-Sep-2016 |
zrj <rimvydas.jasinskas@gmail.com> |
pthread: Set default contention scope to system.
It is a bit unclear how scope was handled previously. Make it explicit to see what falls down.
|
#
6be5672c |
| 16-Sep-2016 |
zrj <rimvydas.jasinskas@gmail.com> |
pthread: Fix some warnings, do not raise WARNS to 6.
Using -Os will create lots of -Winline, thus leave at 5 by default. Sorry for __is_threaded.
|
#
19451dc5 |
| 16-Sep-2016 |
zrj <rimvydas.jasinskas@gmail.com> |
pthread: General pre-cleanup (style, typos etc)
No functional change.
|
Revision tags: v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0 |
|
#
54674d33 |
| 07-Oct-2009 |
Simon Schubert <corecode@dragonflybsd.org> |
thread libs: move libc_r and libthread_xu to /usr/lib/thread
This is so that badly written programs don't mistakenly pick up either libc_r or libthread_xu. The only correct way to get threading sup
thread libs: move libc_r and libthread_xu to /usr/lib/thread
This is so that badly written programs don't mistakenly pick up either libc_r or libthread_xu. The only correct way to get threading support is to link to libpthread.
By moving the underlaying thread libs to a directory that is not searched by the linker, we can enforce this policy.
Requested-by: hasso@
show more ...
|
Revision tags: v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2 |
|
#
fffbfd63 |
| 08-Jul-2009 |
Sascha Wildner <saw@online.de> |
Remove hardcoded -g in several Makefiles.
|
#
5e54f4dd |
| 27-May-2009 |
Simon Schubert <corecode@dragonflybsd.org> |
libthread_xu: disable use of version script
Due to a bug(?) in the gcc driver, the version script has not been used previously. Since we pass it directly to the linker, threaded applications have b
libthread_xu: disable use of version script
Due to a bug(?) in the gcc driver, the version script has not been used previously. Since we pass it directly to the linker, threaded applications have been crashing erratically. Correctly disable the version script until this issue is resolved.
Tracked-down-by: hasso@
show more ...
|
#
704e9c96 |
| 23-May-2009 |
Sascha Wildner <saw@online.de> |
libthread_xu: Use -Wl,... for passing linker options.
Fixes building with clang which doesn't support --version-script.
Submitted-by: Alex Hornung <ahornung@gmail.com>
|
Revision tags: v2.3.1, v2.2.1, v2.2.0, v2.3.0, v2.1.1 |
|
#
cf7109a0 |
| 28-Oct-2008 |
Sascha Wildner <swildner@dragonflybsd.org> |
Remove remaining LIBC_SCCS related stuff.
|
#
f7d9d915 |
| 28-Oct-2008 |
Sascha Wildner <swildner@dragonflybsd.org> |
Remove some warning flags and raise WARNS where possible.
|
Revision tags: v2.0.1 |
|
#
3cd47da3 |
| 07-May-2005 |
David Xu <davidxu@dragonflybsd.org> |
1. Fix symbols needed by libthread_db. 2. Add mechanism to report thread events to debugger.
|
#
9d315dd3 |
| 03-May-2005 |
Joerg Sonnenberger <joerg@dragonflybsd.org> |
Make errno a thread-local variable and remove the __error function. The handling of ceiling violations on mutexes can be improved, it currently needs two syscalls.
|
#
f675e8b5 |
| 21-Apr-2005 |
Joerg Sonnenberger <joerg@dragonflybsd.org> |
Bump major numbers in preparation for libc work.
|
#
9e2ee207 |
| 29-Mar-2005 |
Joerg Sonnenberger <joerg@dragonflybsd.org> |
Cleanup the TLS implementation: - Define the TCB layout in machine/tls.h, define wether tcb_self exists or not. - Define the layout of the DTV, not used yet. - Define the TLS variant - Define commo
Cleanup the TLS implementation: - Define the TCB layout in machine/tls.h, define wether tcb_self exists or not. - Define the layout of the DTV, not used yet. - Define the TLS variant - Define common access functions (tls_get_tcb, tls_get_curthread, tls_set_tcb) and the RTLD functions.
show more ...
|
#
71b3fa15 |
| 01-Feb-2005 |
David Xu <davidxu@dragonflybsd.org> |
Import initial version of 1:1 pthread library.
|
#
d1cf13b9 |
| 23-Jan-2011 |
Sascha Wildner <saw@online.de> |
libthread_xu: Raise WARNS to 5 and fix warnings.
|