aboutsummaryrefslogtreecommitdiff
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
glibc-2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c.tar.gz
glibc-2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c.tar.bz2
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)