diff --git a/src/ia64/Lunw_flush_cache.c b/src/ia64/Lunw_flush_cache.c index e69de29b..7dcce4b3 100644 --- a/src/ia64/Lunw_flush_cache.c +++ b/src/ia64/Lunw_flush_cache.c @@ -0,0 +1,4 @@ +#ifndef UNW_REMOTE_ONLY +#define UNW_LOCAL_ONLY +#include "unw_flush_cache.c" +#endif diff --git a/src/ia64/Lunw_set_caching_policy.c b/src/ia64/Lunw_set_caching_policy.c index e69de29b..e85e3998 100644 --- a/src/ia64/Lunw_set_caching_policy.c +++ b/src/ia64/Lunw_set_caching_policy.c @@ -0,0 +1,4 @@ +#ifndef UNW_REMOTE_ONLY +#define UNW_LOCAL_ONLY +#include "unw_set_caching_policy.c" +#endif diff --git a/src/ia64/unw_flush_cache.c b/src/ia64/unw_flush_cache.c index e69de29b..749e94d7 100644 --- a/src/ia64/unw_flush_cache.c +++ b/src/ia64/unw_flush_cache.c @@ -0,0 +1,6 @@ +void +unw_flush_cache (void) +{ + /* this lets us flush caches lazily... */ + ++unw.cache_generation; +} diff --git a/src/ia64/unw_set_caching_policy.c b/src/ia64/unw_set_caching_policy.c index e69de29b..5a512447 100644 --- a/src/ia64/unw_set_caching_policy.c +++ b/src/ia64/unw_set_caching_policy.c @@ -0,0 +1,14 @@ +#include "unwind_i.h" + +int +unw_set_caching_policy (unw_caching_policy_t policy) +{ +#ifndef HAVE___THREAD + if (policy == UNW_CACHE_PER_THREAD) + return -UNW_EINVAL; +#endif + unw.caching_policy = policy; + + if (policy == UNW_CACHE_NONE) + unw_flush_cache (); +}