From 9600c00e3e2cac84119cba41cbbdb361dfd1bf03 Mon Sep 17 00:00:00 2001 From: "mostang.com!davidm" Date: Sat, 24 Jan 2004 06:45:18 +0000 Subject: [PATCH] (check_callback): If HAVE_STRUCT_DL_PHDR_INFO_DLPI_SUBS is defined, check dl_phdr_info.dlpi_subs to see if the cached info may be stale. (Logical change 1.159) --- src/ia64/Gtables-ia64.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ia64/Gtables-ia64.c b/src/ia64/Gtables-ia64.c index a7afa1a2..9758ef17 100644 --- a/src/ia64/Gtables-ia64.c +++ b/src/ia64/Gtables-ia64.c @@ -554,21 +554,21 @@ callback (struct dl_phdr_info *info, size_t size, void *ptr) static int check_callback (struct dl_phdr_info *info, size_t size, void *ptr) { -#ifdef HAVE_DLPI_REMOVALS +#ifdef HAVE_STRUCT_DL_PHDR_INFO_DLPI_SUBS unw_addr_space_t as = ptr; - if (size < offsetof (struct dl_phdr_info, dlpi_removals) - + sizeof (info->dlpi_removals)) + if (size < + offsetof (struct dl_phdr_info, dlpi_subs) + sizeof (info->dlpi_subs)) /* It would be safer to flush the cache here, but that would disable caching for older libc's which would be incompatible with the behavior of older versions of libunwind so we return 1 instead and hope nobody runs into stale cache info... */ return 1; - if (info->dlpi_removals == as->shared_object_removals) + if (info->dlpi_subs == as->shared_object_subs) return 1; - as->shared_object_removals = info->dlpi_removals; + as->shared_object_subs = info->dlpi_subs; unw_flush_cache (as, 0, 0); return -1; /* indicate that there were no new removals */ #else