diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-22 20:13:08 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-22 20:13:08 +0000 |
commit | 55c7b8541ad7f06ceb52abeb34ec6bd414fdde0a (patch) | |
tree | d3232e04421924e5e361d91bafcb07dd465ada42 /signal.c | |
parent | 50c16d52a9b9048c38ac429a5f429fc280d4a385 (diff) |
Fix for old names of mcontext registers
c.f. https://github.com/mistydemeo/tigerbrew/issues/473
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -854,12 +854,17 @@ check_stack_overflow(int sig, const uintptr_t addr, const ucontext_t *ctx) const greg_t bp = mctx->gregs[REG_EBP]; # endif # elif defined __APPLE__ +# if __DARWIN_UNIX03 +# define MCTX_SS_REG(reg) __ss.__##reg +# else +# define MCTX_SS_REG(reg) ss.reg +# endif # if defined(__LP64__) - const uintptr_t sp = mctx->__ss.__rsp; - const uintptr_t bp = mctx->__ss.__rbp; + const uintptr_t sp = mctx->MCTX_SS_REG(rsp); + const uintptr_t bp = mctx->MCTX_SS_REG(rbp); # else - const uintptr_t sp = mctx->__ss.__esp; - const uintptr_t bp = mctx->__ss.__ebp; + const uintptr_t sp = mctx->MCTX_SS_REG(esp); + const uintptr_t bp = mctx->MCTX_SS_REG(ebp); # endif # elif defined __FreeBSD__ # if defined(__amd64__) |