mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-01 23:18:21 +00:00
syscall: fix signal returns from syscall
This commit is contained in:
@@ -306,6 +306,11 @@ arch_syscall_entry:
|
|||||||
.return:
|
.return:
|
||||||
cli
|
cli
|
||||||
|
|
||||||
|
; save the syscall return values into the saved context before
|
||||||
|
; signal delivery can rewrite it for a user handler
|
||||||
|
mov [rsp + 48], rax ; context->rax
|
||||||
|
mov [rsp + 72], rdx ; context->rdx
|
||||||
|
|
||||||
; call return logging function
|
; call return logging function
|
||||||
mov rdi, rax
|
mov rdi, rax
|
||||||
mov rsi, rdx
|
mov rsi, rdx
|
||||||
@@ -328,10 +333,10 @@ arch_syscall_entry:
|
|||||||
mov es,rbx
|
mov es,rbx
|
||||||
pop rbx
|
pop rbx
|
||||||
mov ds,rbx
|
mov ds,rbx
|
||||||
add rsp, 8 ; rax
|
pop rax
|
||||||
pop rbx
|
pop rbx
|
||||||
pop rcx
|
pop rcx
|
||||||
add rsp, 8 ; rdx
|
pop rdx
|
||||||
pop r8
|
pop r8
|
||||||
pop r9
|
pop r9
|
||||||
pop r10
|
pop r10
|
||||||
|
|||||||
Reference in New Issue
Block a user