mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-25 08:37:38 +01:00
Fix intermittent failures of Lrs-race test case
After the following change the Lrs-race test case starts to intermittently fails:eac65dc
Add basic support for the QNX operating system When we include "config.h" into the "libunwind_i.h" we undefine the HAVE___THREAD macro in a few lines below in #include "config.h" pragma. The changeeac65dc
includes "config.h" into the "dwarf.h" but forgets to undefine HAVE___THREAD. So now this macro has inconsistent state among the code. Somewhere it is defined, somewhere not. In particular it becomes defined in the mi/Gset_caching_policy.c and we do not replace UNW_CACHE_PER_THREAD caching policy by the UNW_CACHE_GLOBAL. The fix is rather dirty. It adds the code to undefine HAVE___THREAD in the "dwarf.h" like we do that in the "libunwind_i.h". Probably the ideal solution should fix per-thread caching implementation or turned it off at all on platforms where it is not completely and correctly supported. Signed-off-by: Simon Atanasyan <simon@atanasyan.com>
This commit is contained in:
parent
44b867c650
commit
5b37b3cff1
1 changed files with 7 additions and 0 deletions
|
@ -37,6 +37,13 @@ struct elf_dyn_info;
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE___THREAD
|
||||||
|
/* For now, turn off per-thread caching. It uses up too much TLS
|
||||||
|
memory per thread even when the thread never uses libunwind at
|
||||||
|
all. */
|
||||||
|
# undef HAVE___THREAD
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef UNW_REMOTE_ONLY
|
#ifndef UNW_REMOTE_ONLY
|
||||||
#if defined(HAVE_LINK_H)
|
#if defined(HAVE_LINK_H)
|
||||||
#include <link.h>
|
#include <link.h>
|
||||||
|
|
Loading…
Reference in a new issue