about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc64/jmpbuf-unwind.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-08-23 23:17:52 -0700
committerDavid S. Miller <davem@davemloft.net>2011-08-23 23:17:52 -0700
commit2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c (patch)
treed5dfa66227d17068409033521d62fc07ebd42216 /sysdeps/sparc/sparc64/jmpbuf-unwind.h
parent2cae4995416cc25f381686902b4243f0095daedd (diff)
downloadglibc-2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c.tar.gz
glibc-2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c.tar.xz
glibc-2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c.zip
Fix jmpbuf unwind checks on sparc64.
Diffstat (limited to 'sysdeps/sparc/sparc64/jmpbuf-unwind.h')
-rw-r--r--sysdeps/sparc/sparc64/jmpbuf-unwind.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/sparc/sparc64/jmpbuf-unwind.h b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
index f7eed15ea1..f19b6498f2 100644
--- a/sysdeps/sparc/sparc64/jmpbuf-unwind.h
+++ b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
@@ -24,14 +24,14 @@
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address, demangle)			\
-  ((unsigned long int) (address) < (jmpbuf)->uc_mcontext.mc_fp + 2047)
+  ((unsigned long int) (address) < (jmpbuf)->uc_mcontext.mc_gregs[MC_O6] + 2047)
 
 #define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
   _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) \
-   < (uintptr_t) (_jmpbuf)[0].uc_mcontext.mc_fp + 2047 - (_adj))
+   < (uintptr_t) (_jmpbuf)[0].uc_mcontext.mc_gregs[MC_O6] + 2047 - (_adj))
 
 /* We use the normal lobngjmp for unwinding.  */
 #define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)