projects
/
mate.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
athrow: add trapskeleton for it
[mate.git]
/
ffi
/
trap.c
diff --git
a/ffi/trap.c
b/ffi/trap.c
index c550658d5f5920d0cdc8a35f3520054ccf24163f..f6281d013ad770c7a23aebdebcaa284049dbca98 100644
(file)
--- a/
ffi/trap.c
+++ b/
ffi/trap.c
@@
-20,7
+20,7
@@
#include <sys/ucontext.h>
#include <sys/ucontext.h>
-ptrdiff_t mateHandler(ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t);
+ptrdiff_t mateHandler(ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t
, ptrdiff_t
);
#ifdef DBG_TRAP
#define dprintf(args...) do { printf (args); } while (0);
#ifdef DBG_TRAP
#define dprintf(args...) do { printf (args); } while (0);
@@
-43,7
+43,7
@@
void chandler(int nSignal, siginfo_t *info, void *ctx)
"esp 0x%08x, *esp 0x%08x, *(ebp+8) 0x%08x\n", nSignal, eip,
eax, ebx, esp, *(ptrdiff_t*) esp, *(ptrdiff_t *) (ebp + 8));
"esp 0x%08x, *esp 0x%08x, *(ebp+8) 0x%08x\n", nSignal, eip,
eax, ebx, esp, *(ptrdiff_t*) esp, *(ptrdiff_t *) (ebp + 8));
- ptrdiff_t ret = mateHandler(eip, eax, ebx, esi);
+ ptrdiff_t ret = mateHandler(eip, eax, ebx, esi
, esp
);
if (ret == -1) {
dprintf("regdump @ EIP: 0x%08x\n", regs[REG_EIP]);
dprintf("\tEAX: 0x%08lx EBX: 0x%08lx ECX: 0x%08lx EDX: 0x%08lx\n",
if (ret == -1) {
dprintf("regdump @ EIP: 0x%08x\n", regs[REG_EIP]);
dprintf("\tEAX: 0x%08lx EBX: 0x%08lx ECX: 0x%08lx EDX: 0x%08lx\n",