From 82e5a20c33f5c0746720e83a551bf499661475d1 Mon Sep 17 00:00:00 2001 From: Masami Hiramatsu Date: Fri, 12 Sep 2008 14:40:00 -0400 Subject: PR6028: use ip instead of pp for probe identification. --- runtime/ChangeLog | 6 ++++++ runtime/regs-ia64.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'runtime') diff --git a/runtime/ChangeLog b/runtime/ChangeLog index 6740ea4e..6ad7e51f 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,9 @@ +2008-09-12 Masami Hiramatsu + + BZ 6028 + * regs-ia64.c (bspcache): Use REG_IP instead of pp to check probe + address. + 2008-09-12 David Smith BZ 6755 diff --git a/runtime/regs-ia64.c b/runtime/regs-ia64.c index 8ce3e4c3..b0eb9829 100644 --- a/runtime/regs-ia64.c +++ b/runtime/regs-ia64.c @@ -39,10 +39,10 @@ static void ia64_stap_get_arbsp(struct unw_frame_info *info, void *arg) * bspcache: get cached unwound address and * set a probe local cache of the offset of unwound address. */ -#define bspcache(cache, regs, pp)\ +#define bspcache(cache, regs)\ if(regs) {\ static unsigned __offset = 0; /* probe local cache */\ - static const char * __pp = NULL; /* reference probe point */\ + static void * __ip = NULL; /* reference ip */\ unsigned long *bsp;\ asm volatile("{ flushrs }\n"); /* flushrs for fixing bsp */\ bsp = (void*)ia64_getreg(_IA64_REG_AR_BSP);\ @@ -53,10 +53,10 @@ static void ia64_stap_get_arbsp(struct unw_frame_info *info, void *arg) if (pa.address != 0) {\ __offset = ia64_rse_num_regs(pa.address, bsp)\ -(regs->cr_ifs & 127);\ - __pp = (const char *)pp;\ + __ip = (void *)REG_IP(regs);\ cache = pa.address;\ }\ - } else if (pp == __pp)\ + } else if ((void *)REG_IP(regs) == __ip)\ cache = ia64_rse_skip_regs(bsp,\ -(__offset + (regs->cr_ifs & 127)));\ } -- cgit