summaryrefslogtreecommitdiffstats
path: root/sys/amd64/ia32/ia32_syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/amd64/ia32/ia32_syscall.c')
-rw-r--r--sys/amd64/ia32/ia32_syscall.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/amd64/ia32/ia32_syscall.c b/sys/amd64/ia32/ia32_syscall.c
index f159cfb..93d4e16 100644
--- a/sys/amd64/ia32/ia32_syscall.c
+++ b/sys/amd64/ia32/ia32_syscall.c
@@ -101,6 +101,7 @@ ia32_syscall(struct trapframe frame)
u_int32_t args[8];
u_int64_t args64[8];
u_int code;
+ ksiginfo_t ksi;
/*
* note: PCPU_LAZY_INC() can only be used if we can afford
@@ -227,7 +228,11 @@ ia32_syscall(struct trapframe frame)
*/
if (orig_tf_rflags & PSL_T) {
frame.tf_rflags &= ~PSL_T;
- trapsignal(td, SIGTRAP, 0);
+ ksiginfo_init_trap(&ksi);
+ ksi.ksi_signo = SIGTRAP;
+ ksi.ksi_code = TRAP_TRACE;
+ ksi.ksi_addr = (void *)frame.tf_rip;
+ trapsignal(td, &ksi);
}
/*
OpenPOWER on IntegriCloud