mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-06-28 12:11:45 +02:00
08077a4962
On FreeBSD, as well as on the Solaris < 10, weak pthread_once stub is always exported from libc. But it does nothing, which means that if threaded library is not loaded, then pthread_once() call do not actually call the initializer finction. The construct if (likely (pthread_once != 0)) { pthread_once(&trace_cache_once, &trace_cache_init_once); then fails to initialize the trace cache on x86_64. Work around by checking that the initializer was indeed called. Note that this can break if libthr is loaded dynamically, but my belief is that there is no platforms which allow dynamic loading of the threading library. |
||
---|---|---|
.. | ||
arm | ||
dwarf | ||
hppa | ||
ia64 | ||
mi | ||
mips | ||
ppc | ||
ppc32 | ||
ppc64 | ||
ptrace | ||
setjmp | ||
unwind | ||
x86 | ||
x86_64 | ||
elf32.c | ||
elf32.h | ||
elf64.c | ||
elf64.h | ||
elfxx.c | ||
elfxx.h | ||
Makefile.am | ||
os-freebsd.c | ||
os-hpux.c | ||
os-linux.c | ||
os-linux.h |