diff options
author | David S. Miller <davem@davemloft.net> | 2011-08-23 23:17:52 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-23 23:17:52 -0700 |
commit | 2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c (patch) | |
tree | d5dfa66227d17068409033521d62fc07ebd42216 /sysdeps/sparc/sparc64/jmpbuf-unwind.h | |
parent | 2cae4995416cc25f381686902b4243f0095daedd (diff) | |
download | glibc-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.h | 4 |
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) |