diff --git a/src/ia64/init.h b/src/ia64/init.h index 26cf4cc2..697ed352 100644 --- a/src/ia64/init.h +++ b/src/ia64/init.h @@ -31,6 +31,10 @@ common_init (struct cursor *c) unw_word_t bspstore; int i, ret; + if (c->as->caching_policy != UNW_CACHE_NONE) + /* ensure cache doesn't have any stale contents: */ + ia64_validate_cache(c->as); + c->cfm_loc = IA64_REG_LOC (c, UNW_IA64_CFM); c->loc[IA64_REG_BSP] = IA64_REG_LOC (c, UNW_IA64_AR_BSP); c->loc[IA64_REG_BSPSTORE] = IA64_REG_LOC (c, UNW_IA64_AR_BSPSTORE);