build: check for unw_set_cache_size()

This may not be available on older libunwind versions such as 1.2.
This commit is contained in:
Christian Hergert
2020-02-20 11:22:56 -08:00
parent 454b192a19
commit 5b88e9c3aa
2 changed files with 5 additions and 0 deletions

View File

@ -93,6 +93,9 @@ if get_option('libunwind')
libunwind_dep = dependency('libunwind-generic', required: false)
if libunwind_dep.found()
config_h.set10('ENABLE_LIBUNWIND', libunwind_dep.found())
if cc.has_header_symbol('libunwind.h', 'unw_set_cache_size', dependencies: [libunwind_dep])
config_h.set10('HAVE_UNW_SET_CACHE_SIZE', 1)
endif
endif
endif

View File

@ -64,7 +64,9 @@ collector_init_ctor (void)
{
#ifdef ENABLE_LIBUNWIND
unw_set_caching_policy (unw_local_addr_space, UNW_CACHE_PER_THREAD);
# ifdef HAVE_UNW_SET_CACHE_SIZE
unw_set_cache_size (unw_local_addr_space, 1024, 0);
#endif
#endif
sysprof_collector_init ();
collector_ready = TRUE;