diff options
Diffstat (limited to 'src/libtools/signals.c')
| -rwxr-xr-x | src/libtools/signals.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c index a5804b9e..f66896e2 100755 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -724,7 +724,7 @@ void my_sigactionhandler_oldcode(int32_t sig, int simple, siginfo_t* info, void else sigcontext->uc_mcontext.gregs[X64_TRAPNO] = 14; // PAGE_FAULT } else { - sigcontext->uc_mcontext.gregs[X64_TRAPNO] = (info->si_code == SEGV_ACCERR)?13:14; + sigcontext->uc_mcontext.gregs[X64_TRAPNO] = (info->si_code == SEGV_ACCERR)?14:13; //X64_ERR seems to be INT:8 CODE:8. So for write access segfault it's 0x0002 For a read it's 0x0004 (and 8 for exec). For an int 2d it could be 0x2D01 for example sigcontext->uc_mcontext.gregs[X64_ERR] = 0x0004; // read error? there is no execute control in box64 anyway } |