1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-06-28 12:11:45 +02:00
libunwind-eh_elf/src
Arun Sharma 08077a4962 pthread_once() workaround for FreeBSD and Solaris
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.
2011-10-29 16:53:30 -07:00
..
arm Exclude arm_find_proc_info and arm_put_unwind_info in case of UNW_REMOTE_ONLY 2011-10-15 23:10:28 -07:00
dwarf Rework the lookup of the ARM specific unwind info 2011-08-15 20:12:54 +02:00
hppa Fix incorrect calls to memset. 2011-10-02 22:43:28 -07:00
ia64 Fix incorrect calls to memset. 2011-10-02 22:43:28 -07:00
mi Performance optimisations for fast trace. 2011-04-17 20:34:38 -07:00
mips Fix incorrect calls to memset. 2011-10-02 22:43:28 -07:00
ppc During the stack unwinding process, the return address points to 2010-04-24 19:16:09 -07:00
ppc32 Fast back-trace for x86_64 for only collecting the call stack. 2011-03-24 22:33:17 -07:00
ppc64 Fast back-trace for x86_64 for only collecting the call stack. 2011-03-24 22:33:17 -07:00
ptrace Change _UPTi_find_unwind_table to return an integer. 2011-10-15 23:10:27 -07:00
setjmp undef FORTIFY_SOURCE 2011-10-15 23:10:00 -07:00
unwind GCC compatibility on x86 for C++ exception handling 2010-04-12 12:08:43 -07:00
x86 Fix incorrect calls to memset. 2011-10-02 22:43:28 -07:00
x86_64 pthread_once() workaround for FreeBSD and Solaris 2011-10-29 16:53:30 -07:00
elf32.c Do nothing of UNW_REMOTE_ONLY is defined. 2003-02-15 03:10:30 +00:00
elf32.h Silence warning about symbol redefinition. 2010-03-07 17:27:41 +02:00
elf64.c Do nothing of UNW_REMOTE_ONLY is defined. 2003-02-15 03:10:30 +00:00
elf64.h Silence warning about symbol redefinition. 2010-03-07 17:27:41 +02:00
elfxx.c Improve ELF valid_object() helper 2011-01-23 17:21:04 -08:00
elfxx.h Add module for parsing ARM-specific unwind tables 2011-03-22 08:14:51 -07:00
Makefile.am Bump up the library version 2011-09-10 19:57:59 -07:00
os-freebsd.c Have tdep_get_elf_image available in case of UNW_REMOTE_ONLY 2011-10-15 23:10:28 -07:00
os-hpux.c Have tdep_get_elf_image available in case of UNW_REMOTE_ONLY 2011-10-15 23:10:28 -07:00
os-linux.c Have tdep_get_elf_image available in case of UNW_REMOTE_ONLY 2011-10-15 23:10:28 -07:00
os-linux.h Fix file descriptor leakage in maps_init 2011-03-07 21:24:51 -08:00